Software Engineering meets AI



Developing novel software-engineering technqiues to support the specification, execution, and management of AI experiments.


Automatically detecting configuration errors and inconsistencies among a diverse set of configuration files and artifacts, such as Docker files, source code, automation scripts, build scripts.

Performance & Energy

Green Configuration

We develop techniques to measure, predict, and optimize the influence of features and their interactions on the energy consumption of a configurable system. Furthermore, we develop methods and analysis techniques to support developers in identifying the cause of energy problems in the source code.


We develop an approach to facilitate performance-aware evolution of complex, configurable systems, by tracking down evolutionary performance changes and by providing development guidelines based on extracted performance-evolution patterns. Our goal is to provide deep insights into the performance evolution of configuration options and their interactions, so that developers can reason about their decisions about the system’s configurability during software evolution, in the light of the changed performance behavior.

Norbert Siegmund, Nicolai Ruckel, and Janet Siegmund. Dimensions of Software Configuration. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE), ACM Press, 2020.

Stefan Mühlbauer, Sven Apel, and Norbert Siegmund. Accurate Modeling of Performance Histories for Evolving Software Systems. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 640–652. IEEE Computer Society, 2019.


Coding AI

Speeding up development time by supporting the programmer with highly accurate code suggestions for code and configuration files.