Ongoing Research Projects
DFG: SpamPR-Buster - Fighting Spam Pull Requests (2026-2029)
Currently, we notice significant advances in automated and generative AI-based methods to detect and fix bugs and inconsistencies in large-scale software systems. To show the applicability of these novel methods, researchers utilize open source software projects via e.g., on GitHub.
The typical workflow involves researchers discovering various bugs and submitting GitHub issues and pull requests (PRs) to enable the open-source project developers to address or merge them. Consequently, researchers report the fixed issues and accepted pull requests in their publications. [more...]
DFG: SPECENG - Specification Engineering for Temporal Logical Specifications (2025-2028)
In specification-driven software engineering, formal specifications are crucial for guiding the development process by acting as a bridge between informal requirements and machine-understandable implementations. These specifications ensure correctness at every stage, from identifying inconsistencies during requirements analysis to generating test cases, verifying system properties, and even synthesizing correct implementations. However, creating valid specifications remains a major challenge and is often considered a bottleneck in achieving higher-quality, reliable software systems. In this project SpecEng, we envision a systematic process to develop linear temporal logical specifications that are valid and match the engineers' intention. [more...]
DFG: FLASH II - Controlling Search-Based Test Case Generation and Program Repair (2025-2028)
Search-based techniques (e.g., using genetic algorithms) are a state-of-the-art means to facilitate test case generation and program repair approaches. For a given software, such approaches typically use one static configuration of a search technique (e.g., parameters, operators, and fitness functions) to automatically produce test cases or patches. Since the performance of a search technique highly depends on its configuration, an appropriate configuration is selected once offline.
We go one step further: Our hypothesis is that a static configuration of a search technique throughout the search process is not an optimal choice, as this does not take into account the current state and progress of the search.[more...]
EU: AMVAD - Additive Manufacturing for Ventricular Assist Devices (2023-2025)
Heart failure is the most common cause of hospitalization. In a severe course of heart failure, the heart is no longer able to supply the body with sufficient nutrients. The implantation of a heart support system can become a life-sustaining therapy in this case. In this case, an artificial pump is connected directly to the patient's heart via cannulas. Special anatomical conditions also pose special challenges for the geometry of the cannulae. Additive manufacturing technologies can open up forward-looking approaches to solving these problems. [more...]
DFG: IDEFIX - Identifying and Fixing Incomplete Patches (2022-2025)
Re-opened bugs due to incomplete patches by developers are a major cost driver for software projects. In this project, we aim to investigate patches and identify whether there are alternative execution paths leading to a problematic code line where, e.g., a crash has occurred or an exception has been raised. If these paths are not covered by an existing patch, a tool should inform the developer of related inputs that induce them and recommend potential patches for these paths. To clarify this idea, let us consider a program, where fix1 represents the original patch that covers path1−3, and path4−7 are unknown to the developer [more...]
DFG: EMPEROR - Learning the Cause of Program Behavior (2022-2025)
All program behavior is triggered by some program input. Which parts of the input do trigger program behaviors, and how? In the EMPEROR project, we aim to automatically produce explanations for program behaviors — notably program failures. To this end, we (1) use grammars that separate inputs into individual elements; (2) learn statistical relations between features of input elements and program behavior; and (3) use systematic tests to strengthen or refute inferred associations, including internal features of the execution. [more...]
DFG: ProCI - Process Conformance under Incomplete Information (2020-2023)
Process-aware information systems coordinate the execution of a set of elementary actions to reach a business goal, where actions may be as fine-grained as function calls or as coarsegrained as complex business transactions. The behaviour of such systems is commonly described by process models. However, once data is recorded during runtime, typically in the form of logs or streams of events, the question of conformance emerges: how do the modelled behaviour of a system and its recorded behaviour relate to each other? Answering this question is the basis for the detection, interpretation, and compensation of any deviation between a model of a process-oriented system and its actual execution.[more...]