Trustworthy AI Software Systems

The development of AI software systems differs significantly from that of classical software systems. For example, the handling of training data is the main focus in the development of AI software systems.

Nevertheless, there is a lack of appropriate development methods and tools. Even though there are many libraries available for training models, e.g. TensorFlow, their correct use poses great challenges for developers without deep knowledge of the methods encoded in them and it requires automation. At the same time, tools that are usually used in software development for the analysis of software correctness are hardly available. Therefore, the group is researching new methods and tools that support developers in meeting these challenges and help to ensure that AI can be used by a larger circle of developers and thus be transferred to a broad application.

In addition to increasing productivity in the development of software systems with built-in AI components, another object of our research is the development of new software engineering methods to enhance the AI itself. For example, we are exploring ways to introduce ideas of reactive programming and modular programming into the pipeline design of ML APIs. Their stages are sequential and require a complete restart if a stage fails. Perspectively, we want to explore new programming languages to support the third wave of AI. Such AI integrates learned, modeled and built in knowledge and cognitive models to achieve human-like properties, for example by continuously extending existing knowledge and independently “thinking” logically. The von-Neumann machine model on which today's programming is based describes calculations on a level too low to be suitable for the complexity of third-wave AI. However, a new suitable model has not yet been systematically researched. Possibly, the same architectures that are used for the pipeline design of the ML APIs can be applied to the composition of different components of third wave AI.