Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabi
- PDF / 1,904,119 Bytes
- 44 Pages / 439.37 x 666.142 pts Page_size
- 119 Downloads / 229 Views
Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities Theodoros Amanatidis 1 & Nikolaos Mittas 2 & Athanasia Moschou 1 & Alexander Chatzigeorgiou 1 & Apostolos Ampatzoglou 1 & Lefteris Angelis 3
# Springer Science+Business Media, LLC, part of Springer Nature 2020
Abstract
Software teams are often asked to deliver new features within strict deadlines leading developers to deliberately or inadvertently serve “not quite right code” compromising software quality and maintainability. This non-ideal state of software is efficiently captured by the Technical Debt (TD) metaphor, which reflects the additional effort that has to be spent to maintain software. Although several tools are available for assessing TD, each tool essentially checks software against a particular ruleset. The use of different rulesets can often be beneficial as it leads to the identification of a wider set of problems; however, for the common usage scenario where developers or researchers rely on a single tool, diverse estimates of TD and the identification of different mitigation actions limits the credibility and applicability of the findings. The objective of this study is two-fold: First, we evaluate the degree of agreement among leading TD assessment tools. Second, we propose a framework to capture the diversity of the examined tools with the aim of identifying few “reference assessments” (or class/file profiles) representing characteristic cases of classes/files with respect to their level of TD. By extracting sets of classes/files exhibiting similarity to a selected profile (e.g., that of high TD levels in all employed tools) we establish a basis that can be used either for prioritization of maintenance activities or for training more sophisticated TD identification techniques. The proposed framework is illustrated through a case study on fifty (50) open source projects and two programming languages (Java and JavaScript) employing three leading TD tools. Keywords Technical debt . Software quality . Archetypal analysis . Inter-rater agreement . Empirical benchmark
Communicated by: Forrest Shull This paper has been awarded the Empirical Software Engineering (EMSE) open science badge.
* Nikolaos Mittas [email protected] Extended author information available on the last page of the article
Empirical Software Engineering
1 Introduction Throughout the software lifecycle, practitioners speed up the development process by compromising software quality and maintainability in favor of shorter time-to-market. This compromise has been effectively captured by the concept of Technical Debt (TD), as coined by Ward Cunningham (Cunningham, 1992), offering an analogy to the financial debt. In financial debt, one party borrows capital from another party and repays it back with some added interest. In the TD metaphor, the development team ‘borrows’ a certain amount of effort by delivering non-ideal code and repays it gradually in future iterations in the form of additional time and
Data Loading...