Dr.-Ing. Dominik Helm
Software Technology Group
Contact
dominik.helm@tu-...
work +49 6151 16-21369
Work
S2|02 A216
Hochschulstr. 10
64289
Darmstadt
I am currently an interim professor at the University of Duisburg-Essen. Thus I cannot accept any new theses at the moment. If you are looking for a thesis on OPAL or static analysis in general, please contact or Julius Näumann . Sven Keidel
I am a (post-)doctoral researcher at the Software Technology Group at TU Darmstadt since 2018. I work on modularization and automatic parallelization of collaborative static analyses in order to improve the precision, soundness, and performance of static analyses. In particular, I work on the for Java VM bytecode in order to improve analyses to find bugs and security vulnerabilities. Analyses I have been working on include purity and immutability analyses as well as modular, feature-rich call graphs. OPAL static analysis framework
I am currently the lead maintainer of the . OPAL static analysis framework
Projects
Teaching
Term | Courses |
Summer 2024 |
|
Winter 2023/24 |
|
Summer 2023 |
|
Winter 2022/23 |
|
Winter 2021/22 |
|
Winter 2020/21 |
|
Winter 2019/20 |
|
Winter 2018/19 |
|
Reviewing
- ISSTA'25
- ISSTA'24
- (invited by Mira Mezini) ECOOP'24
- TSE (2023)
- (invited by Mira Mezini & External Review Committee) OOPSLA'23
- Artifact Evaluation ASE'22
- (invited by Mira Mezini) ESEC/FSE'22
- (invited by Mira Mezini) PLDI'22
- (invited by Sven Keidel) ECOOP'22
- (invited by MIra Mezini) ICSE'22
- (invited by Mira Mezini) OOPSLA'21
2022/03/01
Bachelor Thesis, Master Thesis
OPAL is a comprehensive library for static analyses that is developed in Scala to facilitate the writing of a wide range of different kinds of analyses. OPAL supports the development of analyses ranging from bug/bug pattern detection up to full-scale data-flow analyses.
In the context of this project we are always searching for students who are interested in static analysis and want to implement them using Scala. Topics of interest are, e.g., to develop needed base static analyses such as Call Graph Algorithm, analyses to find security issues or to visualize software.
If you are interested in OPAL, do not hesitate to contact Dominik Helm. For further information, you can also go to The OPAL Project
Examiner: Prof. Dr.-Ing. Mira Mezini
Supervisors: Julius Näumann, M.Sc., Dr.-Ing. Dominik Helm
Master Thesis
The goal of this thesis is to study challenges in constructing call graphs in dynamic programming languages such as Python and JavaScript and to implement a framework to study the soundness of call graphs for such languages.
Call graphs are foundational static analyses and a prerequisite for any interprocedural analysis. Constructing sound call graphs is hard for real-world programs due to challenging features of programming languages and ecosystems.
The thesis should study the challenges that dynamic languages pose to call-graph construction. Based upon this study, a benchmark of test cases for individual challenges shall be created and a framework implemented that uses these benchmarks to study the soundness of existing call-graph implementations in various tools. This framework could be incorporated in our existing tool, that performs similar tasks for Java Bytecode programs. JCG
Examiner: Prof. Dr.-Ing. Mira Mezini
Institute Software Technology Group
Supervisor: Dr.-Ing. Dominik Helm
Master Thesis
The goal of this thesis is to implement a solver for IDE in our static analysis framework. OPAL
IDE is a graph-based data-flow framework upon which data-flow analyses can be built. In the past, IDE has been used to implement, e.g., constant propagation or alias analyses.
The thesis should integrate IDE in OPAL based on the existing IFDS solver. It should explore possible interactions between IDE analyses and other analyses implemented in OPAL. A focus of the evaluation should be the runtime and memory performance of the implemented solver.
Examiner: Prof. Dr.-Ing. Mira Mezini
Institute Software Technology Group
Supervisor: Dr.-Ing. Dominik Helm
Publications
Error on loading data
An error has occured when loading publications data from TUbiblio. Please try again later.
-
{{ year }}
-
; {{ creator.name.family }}, {{ creator.name.given }}{{ publication.title }}.
; {{ editor.name.family }}, {{ editor.name.given }} (eds.); ; {{ creator }} (Corporate Creator) ({{ publication.date.toString().substring(0,4) }}):
In: {{ publication.series }}, {{ publication.volume }}, In: {{ publication.book_title }}, In: {{ publication.publication }}, {{ publication.journal_volume}} ({{ publication.number }}), ppp. {{ publication.pagerange }}, {{ publication.place_of_pub }}, {{ publication.publisher }}, {{ publication.institution }}, {{ publication.event_title }}, {{ publication.event_location }}, {{ publication.event_dates }}, ISSN {{ publication.issn }}, e-ISSN {{ publication.eissn }}, ISBN {{ publication.isbn }}, DOI: {{ publication.doi.toString().replace('http://','').replace('https://','').replace('dx.doi.org/','').replace('doi.org/','').replace('doi.org','').replace("DOI: ", "").replace("doi:", "") }}, Official URL, {{ labels[publication.type]?labels[publication.type]:publication.type }}, {{ labels[publication.pub_sequence] }}, {{ labels[publication.doc_status] }} - […]
-
Number of items in this list: >{{ publicationsList.length }}
Only the {{publicationsList.length}} latest publications are displayed here.