man and woman in front of laptop

Doctoral project: Efficient detection of changes in software evolution and their operationalization for software maintenance

This project aimed at understanding and using changes detected in software maintenance and evolutionary processes. To efficiently and automatically detect changes is imperative, as software is becoming increasingly larger and more complex.

This project was concluded in 2023.

Project information

Doctoral student
Sebastian Hönel
Supervisor
Morgan Ericsson
Assistant supervisors
Welf Löwe, Anna Wingkvist
Financier
Linnaeus University Centre for Data Intensive Sciences and Applications (DISA), Data Intensive Software Technologies and Applications (DISTA), Doctoral School of Management and IT (MIT)
Timetable
Sept 2017–Aug 2022
Subject
Computer science (Department of Computer Science and Media Technology, Faculty of Technology)

More about the project

Software maintenance is an integral part of its evolutionary process. The realization that change is required to counter software rot is supported by the costs of accumulated technical debt and the desire to prevent software from becoming obsolete.

Software must change for several reasons, be it the adaption to a new environment, the accommodation of new features or, e.g., simply fixing a bug. While there may be plenty of rationale for future changes, the reasons behind historical changes may not be accessible any longer.

Understanding change in software evolution provides valuable insights into, e.g., the quality of a project or aspects of the underlying development process. These are worth exploiting, for, e.g., fault prediction, managing the composition of the development team, effort estimation models, or detecting the presence of managerial anti-patterns.

This project seeks to first establish well-defined metrics for measuring the size of software. Size-based metrics are computationally cheap, robust, and versatile and have previously demonstrated their effectiveness in the scenarios mentioned earlier.

These metrics are further operationalized for detecting maintenance activities in the underlying source code repositories. Extracting these activities can then be used to analyze the potential presence of software project management anti-patterns. Such anti-patterns are common reoccurring mistakes that hurt productivity.

As of today, it remains an unsolved problem to confidently identify these early in a project to warn software development teams about potential threats. The desire to solve this problem is driven by an objective and data-based approach based on the conjecture that there is sufficient predictive power in software project-related artifacts.

The project is part of the research in Linnaeus University Centre for Data Intensive Sciences and Applications (DISA) and the Data Intensive Software Technologies and Applications (DISTA) research group.