An Overview of Machine Learning Approaches to support Software Architecting

Software and software systems require well-designed software architectures to fulfil ever more complex tasks and to ensure ease of understanding of the system, maintainability, evolution and other aspects. Thus, tools or approaches that support effectively and efficiently software architects who directly work on software and software systems can be very useful. With machine learning being applied to a growing list of domains such as medicine, autonomous driving or cybersecurity, naturally an interest in its applications regarding software architecture exists. However, there is no current overview of the available research. In order to offer such an overview of machine learning approaches that support software architecting, a systematic literature review was conducted. The results of the systematic literature review show that a wide variety of machine learning approaches that support software architecting exist. A total of 25 studies which proposed a machine learning approach were found. The approaches can be classified into different fields with the field of Evaluation, which concentrates on evaluating software architecture artefacts, having the most studies with ten in total. In terms of challenges and future work directions, data gathering is the most mentioned challenge with nine studies and conducting an efficiency analysis being one of several potential research ideas.

Resources

Project information

Status:

Finished

Thesis for degree:

Bachelor

Student:

Keven Hu

Supervisor:
Id:

2024-004