The Delta Maintainability Model: Measuring Maintainability of Fine-Grained Code Changes
Existing maintainability models are used to identify technical debt of software systems. Targeting entire codebases, such models lack the ability to determine shortcomings of smaller, fine-grained changes. This paper proposes a new maintainability model – the Delta Maintainability Model (DMM) – to measure fine-grained code changes, such as commits, by adapting and extending the SIG Maintainability Model. DMM categorizes changed lines of code into low and high risk, and then uses the proportion of low risk change to calculate a delta score. The goal of the DMM is twofold: first, producing meaningful and actionable scores; second, compare and rank the maintainability of fine-grained modifications.
We report on an initial study of the model, with the goal of understanding if the adapted measurements from the SIG Maintainability Model suit the fine-grained scope of the DMM. In a manual inspection process for 100 commits, 67 cases matched the expert judgment. Furthermore, we report an exploratory empirical study on a data set of DMM scores on 3,017 issue-fixing commits of four open source and four closed source systems. Results show that the scores of DMM can be used to compare and rank commits, providing developers with a means to do root cause analysis on activities that impacted maintainability and, thus, address technical debt at a finer granularity.
Mon 27 MayDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 15:00 | Technical Debt in Source Code and Code QualityTechDebt 2019 at Viger Chair(s): Antonio Martini University of Oslo, Norway | ||
14:00 20mTalk | On the Diffuseness of Code: Technical Debt in Open Source Projects TechDebt 2019 Pre-print | ||
14:20 20mTalk | Investigating on the Impact of Software Clones on Technical Debt TechDebt 2019 | ||
14:40 20mTalk | The Delta Maintainability Model: Measuring Maintainability of Fine-Grained Code Changes TechDebt 2019 Marco di Biase Software Improvement Group / Delft University of Technology, Ayushi Rastogi , Magiel Bruntink Software Improvement Group, Arie van Deursen Delft University of Technology DOI Pre-print |