Automatically learning patterns for self-admitted technical debt removal

Fiorella Zampetti, Alexander Serebrenik, Massimiliano Di Penta

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

26 Downloads (Pure)

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 languageEnglish
Title of host publication27th IEEE International Conference on Software Analysis, Evolution and Reengineering
PublisherIEEE Computer Society
Pages355-366
Number of pages12
ISBN (Electronic)978-1-7281-5143-4
Publication statusPublished - 6 Feb 2020
Event27th IEEE International Conference on Software Analysis, Evolution and Reengineering(SANER2020) - London, Canada
Duration: 18 Feb 202021 Feb 2020
https://saner2020.csd.uwo.ca

Conference

Conference27th IEEE International Conference on Software Analysis, Evolution and Reengineering(SANER2020)
Abbreviated titleSANER 2020
CountryCanada
CityLondon
Period18/02/2021/02/20
Internet address

    Fingerprint

Cite this

Zampetti, F., Serebrenik, A., & Di Penta, M. (2020). Automatically learning patterns for self-admitted technical debt removal. In 27th IEEE International Conference on Software Analysis, Evolution and Reengineering (pp. 355-366). IEEE Computer Society.