Doctoral project: Efficient detection of changes in software evolution and their operationalization for software maintenance
This project aims 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.
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.