Detecting and Explaining Self-Admitted Technical Debts with Attention-based Neural Networks
Self-Admitted Technical Debt (SATD) is a sub-type of technical debt. It is introduced to represent such technical debts that are intentionally introduced by developers in the process of software development. While being able to gain short-term benefits, the introduction of SATDs often requires to be paid back later with a higher cost, e.g., introducing bugs to the software or increasing the complexity of the software. To cope with these issues, our community has proposed various machine learning-based approaches to detect SATDs. These approaches, however, are either not generic that usually require manual feature engineering efforts or do not provide promising means to explain the predicted outcomes. To that end, we propose to the community a novel approach, namely HATD, to detect and explain SATDs using attention-based neural networks. Through extensive experiments on 445,365 comments in 20 projects, we show that HATD is effective in detecting SATDs on both in-the-lab and in-the-wild datasets under both within-project and cross-project settings. HATD also outperforms the state-of-the-art approaches in detecting and explaining SATDs.
Conference DayThu 24 SepDisplayed time zone: (UTC) Coordinated Universal Time change
02:20 - 03:20
|Detecting and Explaining Self-Admitted Technical Debts with Attention-based Neural Networks|
|OCoR: An Overlapping-Aware Code Retriever|
|BugPecker: Locating Faulty Methods with Deep Learning on Revision Graphs|
Junming CaoSchool of Software, Shanghai Jiao Tong University, Shouliang YangSchool of Software, Shanghai Jiao Tong University, Wenhui JiangSchool of Software, Shanghai Jiao Tong University, Hushuang ZengSchool of Software, Shanghai Jiao Tong University, Beijun ShenSchool of Software, Shanghai Jiao Tong University, Hao ZhongShanghai Jiao Tong University