Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities

被引:27
作者
Amanatidis, Theodoros [1 ]
Mittas, Nikolaos [2 ]
Moschou, Athanasia [1 ]
Chatzigeorgiou, Alexander [1 ]
Ampatzoglou, Apostolos [1 ]
Angelis, Lefteris [3 ]
机构
[1] Univ Macedonia, Dept Appl Informat, Thessaloniki, Greece
[2] Int Hellen Univ, Dept Chem, Kavala, Greece
[3] Aristotle Univ Thessaloniki, Dept Informat, Thessaloniki, Greece
关键词
Technical debt; Software quality; Archetypal analysis; Inter-rater agreement; Empirical benchmark; ARCHETYPAL ANALYSIS; STATISTICAL-ANALYSIS; MULTIVARIATE; THRESHOLDS;
D O I
10.1007/s10664-020-09869-w
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:4161 / 4204
页数:44
相关论文
共 73 条
[1]  
AITCHISON J, 1982, J ROY STAT SOC B, V44, P139
[2]   Identification and management of technical debt: A systematic mapping study [J].
Alves, Nicolli S. R. ;
Mendes, Thiago S. ;
de Mendonca, Manoel G. ;
Spinola, Rodrigo O. ;
Shull, Forrest ;
Seaman, Carolyn .
INFORMATION AND SOFTWARE TECHNOLOGY, 2016, 70 :100-121
[3]  
Alves TL, 2010, 26 IEEE INT C SOFTW, P1, DOI [10.1109/ICSM.2010.5609747, DOI 10.1109/ICSM.2010.5609747]
[4]  
[Anonymous], 2011, P 2 WORKSH MAN TECHN, DOI DOI 10.1145/1985362.1985364
[5]   Introducing Debtgrep, a Tool for Fighting Technical Debt in Base Station Software [J].
Arvedahl, Svante .
2018 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT (TECHDEBT), 2018, :51-52
[6]   Standardized code quality benchmarking for improving software maintainability [J].
Baggen, Robert ;
Correia, Jose Pedro ;
Schill, Katrin ;
Visser, Joost .
SOFTWARE QUALITY JOURNAL, 2012, 20 (02) :287-307
[7]  
Baldassari B., 2013, SQUORE NEW APPROACH
[8]  
Borante Foganholi Lucas, 2015, Advances in Software Engineering, DOI 10.1155/2015/898514
[9]  
Campbell G, 2013, SONARQUBE IN ACTION
[10]   Weighted archetypal analysis of the multi-element graph for query-focused multi-document summarization [J].
Canhasi, Ercan ;
Kononenko, Igor .
EXPERT SYSTEMS WITH APPLICATIONS, 2014, 41 (02) :535-543