My research focuses on developing methodologies and tools that support understanding, engineering, and assuring intelligent software systems, especially systems that act automatically upon itself or the environment based on automated decisions (cf. self-aware and self-adaptive software systems). In my work, I combine software engineering research with model-driven engineering, control theory, artificial/computational intelligence, and (mathematical) optimization.
My Ph.D. research was about model-driven engineering of self-adaptive software where models and model-driven engineering techniques are exceedingly leveraged at run-time to achieve a higher degree of flexibility in the design, evolution, and operation of such systems than the state of the art.
Especially in my postdoctoral studies I worked on methods and techniques to cope with the increasing level of autonomy of intelligent systems:
Transferring self-adaptation principles to the search process of Sapienz, a search-based test suite generation tool for mobile applications (funded by the 2018 Facebook Testing and Verification Research Award).
Analyzing and understanding the search space and search methods for software engineering problems to improve state-of-the-art search heuristics to solve these problems (funded by DFG, project website).
Developing a domain-specific language for specifying and verifying requirements and safety contracts in the automotive industry, and techniques for explaining counter examples of the verification process (in cooperation with BOSCH Research).
Developing a user-friendly, model-driven approach to specify, compose, and verify scenario-based requirements. This includes the pattern-based specification of scenarios using sequence diagrams, composing scenarios to automaton-based specifications, and integrating natural language-based property specification patterns with UPPAAL. (in cooperation with TWT GmbH, funded by BMBF, project website).
A model-driven engineering approach to specify, execute, adapt, and evolve feedback loops in self-adaptive software systems (project website).
Researching runtime models for feedback loops in self-adaptive software systems to realize self-awareness and self-adaptation (project website).