Please use this identifier to cite or link to this item:
|Title:||Machine Learning for Technical Debt Identification|
Kehagias, Dionisis D.
|Subjects:||FRASCATI::Natural sciences::Computer and information sciences|
quality analysis and evaluation
|Source:||IEEE Transactions on Software Engineering|
|Abstract:||Technical Debt (TD) is a successful metaphor in conveying the consequences of software inefficiencies and their elimination to both technical and non-technical stakeholders, primarily due to its monetary nature. The identification and quantification of TD rely heavily on the use of a small handful of sophisticated tools that check for violations of certain predefined rules, usually through static analysis. Different tools result in divergent TD estimates calling into question the reliability of findings derived by a single tool. To alleviate this issue we use 18 metrics pertaining to source code, repository activity, issue tracking, refactorings, duplication and commenting rates of each class as features for statistical and Machine Learning models, so as to classify them as High-TD or not. As a benchmark we exploit 18,857 classes obtained from 25 Java projects, whose high levels of TD has been confirmed by three leading tools. The findings indicate that it is feasible to identify TD issues with sufficient accuracy and reasonable effort: a subset of superior classifiers achieved an F 2 -measure score of approximately 0.79 with an associated Module Inspection ratio of approximately 0.10. Based on the results a tool prototype for automatically assessing the TD of Java projects has been implemented.|
|Appears in Collections:||Department of Applied Informatics |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.