Software Engineering <—> Artificial Intelligence
At our group (Prof. Dr. Mira Mezini), we are actively working on synergies with the Machine learning group (Prof. Dr. Kristian Kersting) to identify synergies between the areas of Software Engineering and Artificial Intelligence to answer questions like:
- What Software Engineering techniques (or extensions thereof) can help with unique challenges faces by Artificial Intelligence developers
- Can the current AI models and techniques aid with development tasks like code completion/ naturalistic programming.
- and many more..
API Misuse detection
The CogniCrypt project aids developers avoiding misuses with APIs and is powered by a specification language called CrySL’s. As one of the lead maintainers of CogniCrypt, I am exploring questions like:
- Can we improve the expressiveness of API specification language
- What are the impact of variability on API misuse specification
- Can we generate tests for static analysis from the specifications
CogniCrypt currently supports analysis of misuses in existing code and generating sample code as a starting point. A video tutorial I made about CogniCrypt is available here.
Source Code Evolution
Not very long ago, I spent my PhD days understanding the challenges that arise out of source code evolution, particularly the need to abstract code duplicates and to migrate data representations. The Transparent abstraction project continues to be explored on a broader scale at Lund University
Improving Agility of Domain experts using Business DSLs
As a DSL Engineer at Itemis AG,
I was one of the contributors to the Mbeddr project.
Apart from the Mbeddr project,
I was also involved with domain experts at
Cannon and Siemens helping design and develop DSLs, Software tools.