Abstract
Technical Debt (TD) expresses the need for improvements in a software system, e.g., to its source code or architecture. In certain circumstances, developers “self-admit” technical debt (SATD) in their source code comments. Previous studies investigate when SATD is admitted, and what changes developers perform to remove it. Building on these studies, we present a first step towards the automated recommendation of SATD removal strategies. By leveraging a curated dataset of SATD removal patterns, we build a multi-level classifier capable of recommending six SATD removal strategies, e.g., changing API calls, conditionals, method signatures, exception handling, return statements, or telling that a more complex change is needed. SARDELE (SAtd Removal using DEep LEarning) combines a convolutional neural network trained on embeddings extracted from the SATD comments with a recurrent neural network trained on embeddings extracted from the SATD-affected source code. Our evaluation reveals that SARDELE is able to predict the type of change to be applied with an average precision of ~55%, recall of ~57%, and AUC of 0.73, reaching up to 73% precision, 63% recall, and 0.74 AUC for certain categories such as changes to method calls. Overall, results suggest that SATD removal follows recurrent patterns and indicate the feasibility of supporting developers in this task with automated recommenders.
Original language | English |
---|---|
Title of host publication | 27th IEEE International Conference on Software Analysis, Evolution and Reengineering |
Editors | Kostas Kontogiannis, Foutse Khomh, Alexander Chatzigeorgiou, Marios-Eleftherios Fokaefs, Minghui Zhou |
Publisher | Institute of Electrical and Electronics Engineers |
Pages | 355-366 |
Number of pages | 12 |
ISBN (Electronic) | 978-1-7281-5143-4 |
DOIs | |
Publication status | Published - 6 Feb 2020 |
Event | 27th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2020 - London, Canada Duration: 18 Feb 2020 → 21 Feb 2020 |
Conference
Conference | 27th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2020 |
---|---|
Country | Canada |
City | London |
Period | 18/02/20 → 21/02/20 |
Keywords
- Deep Learning
- Neural Networks
- Recommender Systems
- Self-Admitted Technical Debt