TD Classifier: Automatic Identification of Java Classes with High Technical Debt

D. Tsoukalas, A. Chatzigeorgiou, Apostolos Ampatzoglou, N. Mittas, Dionisis D. Kehagias
{"title":"TD Classifier: Automatic Identification of Java Classes with High Technical Debt","authors":"D. Tsoukalas, A. Chatzigeorgiou, Apostolos Ampatzoglou, N. Mittas, Dionisis D. Kehagias","doi":"10.1145/3524843.3528094","DOIUrl":null,"url":null,"abstract":"To date, the identification and quantification of Technical Debt (TD) rely heavily on a few 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 present a tool that employs machine learning on a dataset built upon the convergence of three widely-adopted TD Assessment tools to automatically assess the class-level TD for any arbitrary Java project. The proposed tool is able to classify software classes as high-TD or not, by synthesizing source code and repository ac-tivity information retrieved by employing four popular open source analyzers. The classification results are combined with proper vi-sualization techniques, to enable the identification of classes that are more likely to be problematic. To demonstrate the proposed tool and evaluate its usefulness, a case study is conducted based on a real-world open-source software project. The proposed tool is expected to facilitate TD management activities and enable fur-ther experimentation through its use in an academic or industrial setting. Video: https://youtu.be/umgXU8u7lIA Running Instance: http://160.40.52.130:3000/tdclassifier Source Code: https://gitlab.seis.iti.gr/root/td-classifier.git","PeriodicalId":149335,"journal":{"name":"2022 IEEE/ACM International Conference on Technical Debt (TechDebt)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE/ACM International Conference on Technical Debt (TechDebt)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3524843.3528094","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

To date, the identification and quantification of Technical Debt (TD) rely heavily on a few 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 present a tool that employs machine learning on a dataset built upon the convergence of three widely-adopted TD Assessment tools to automatically assess the class-level TD for any arbitrary Java project. The proposed tool is able to classify software classes as high-TD or not, by synthesizing source code and repository ac-tivity information retrieved by employing four popular open source analyzers. The classification results are combined with proper vi-sualization techniques, to enable the identification of classes that are more likely to be problematic. To demonstrate the proposed tool and evaluate its usefulness, a case study is conducted based on a real-world open-source software project. The proposed tool is expected to facilitate TD management activities and enable fur-ther experimentation through its use in an academic or industrial setting. Video: https://youtu.be/umgXU8u7lIA Running Instance: http://160.40.52.130:3000/tdclassifier Source Code: https://gitlab.seis.iti.gr/root/td-classifier.git
TD Classifier:具有高技术债务的Java类的自动识别
迄今为止,技术债务的识别和量化在很大程度上依赖于一些复杂的工具,这些工具通常通过静态分析来检查是否违反了某些预定义的规则。不同的工具导致不同的TD估计,这使得单一工具得出的结果的可靠性受到质疑。为了缓解这个问题,我们提出了一种工具,该工具在三种广泛采用的TD评估工具的融合基础上建立的数据集上使用机器学习,以自动评估任何任意Java项目的类级TD。所提出的工具能够通过综合源代码和使用四个流行的开放源代码分析器检索到的存储库活动信息,将软件类分类为高td或不高td。分类结果与适当的可视化技术相结合,以识别更有可能出现问题的类。为了演示所建议的工具并评估其有用性,我们基于一个真实的开源软件项目进行了一个案例研究。拟议的工具有望促进输配电管理活动,并通过其在学术或工业环境中的使用进行进一步的实验。视频:https://youtu.be/umgXU8u7lIA运行实例:http://160.40.52.130:3000/tdclassifier源代码:https://gitlab.seis.iti.gr/root/td-classifier.git
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信