Projects/ Research

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:

external-content.duckduckgo.com.png
  • 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

An example of data representation migration to big number types.
An example of data representation migration to big number types.
An example abstraction of a simple copy-pasted code
An example abstraction of a simple copy-pasted code

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.

%d bloggers like this: