Programming code abstract technology background software developer and computer script - Stock Photo

Doctoral project: Application of AI in the software development process

This project aims to streamline the software system development process by leveraging AI.

Project information

Doctoral student
Nils Johansson
Supervisor
Mauro Caporuscio
Assistant supervisors
Welf Löwe, Diego Perez, Hatem Algabroun, Tobias Olsson
Participant organizations
Linnéuniversitetet, Volvo CE
Financiers
Volvo CE, The Knowledge Foundation (Industrial Research School for Data Intensive Applications + (DIA+))
Timetable
June 2023 – June 2028
Subject
Computer and information science (Department of Computer Science and Media Technology, Faculty of Technology)
Research group
Smart Industry Group (SIG)
Linnaeus University Centre
Linnaeus University Centre for Data Intensive Sciences and Applications (DISA)
Graduate School
The industry graduate school Data Intensive Applications (DIA)

More about the project

A specific task that we are trying to automate is the process of software refactoring. It is not uncommon for software developing companies to be in a situation where an old software system is maintained for years on end. During this time or when at first development, it may suffer architectural deterioration or drift. However, refactoring a software system to a new architecture is a costly process that requires great effort and commitment.

When refactoring using a big-design-up-front approach, a new design of the software is initially created. Alternatively, a reference architecture is used. When a new architecture is obtained, begins a process of assigning code or functionality to each module of the new architecture. Instead of painstakingly trying to analyze the old code to decide which functionality should be assigned to certain modules, it would be beneficial to perform this mapping automatically using AI.

In this study, this activity is attempted to be solved by formalizing it as a natural language problem using machine learning and specifically large-language models. Descriptions of modules are used to constitute classes. Source code snippets from the old software are then classified to suitable classes(modules) from the new architecture, it is thereby a text classification problem.

The doctoral project is performed within Smart Industry Group (SIG), Linnaeus University Centre for Data Intensive Sciences and Applications (DISA) and is part of The industry graduate school Data Intensive Applications (DIA).