Back to top

Artificial Intelligence for Software Engineering

Last modified Mar 30, 2020

Aritificial Intelligence for Software Engineering

 

Motivation

During the Software Development Lifecycle (see ISO/IEC 12207) lots of artifacts are produced. These artifacts (e.g. Issues in Issue Management Systems, Source Code in Source Code Repositories,...) contain a lot of knoweldge that often gets lost in the course of time. For example some design decision are implicitly captured in Issues. A reason for so called design erosion is that these design decisions are made explicitly. Recently, AI techniques have proven to be a good tool to explicitly capture knowledge in artifacts that are produced during software development and beyond (e.g. for architectural knowledge and design decisions: AMELIE). 

Research Questions

What kind of knowledge is contained in artifacts that are produced during software development?

What techniques can be applied to capture knowledge for software engineering?

How to make the knowledge explicitly available for users?

How does an architecture for a system look like, that is able to capture knowledge and make the knowledge explicitly available?

How to increase the usability of such a system and reduce manual efforts and overhead for the users?

 

A conceptual reference model

 

Publications

Position-/Vision-Paper. Ideas on Improving Software Artifact Reuse via Traceability and Self-Awareness