Automatically learning patterns for self-admitted technical debt removal

Fiorella Zampetti, Alexander Serebrenik, Massimiliano Di Penta

Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

26 Downloads (Pure)

Samenvatting

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.
Originele taal-2Engels
Titel27th IEEE International Conference on Software Analysis, Evolution and Reengineering
UitgeverijIEEE Computer Society
Pagina's355-366
Aantal pagina's12
ISBN van elektronische versie978-1-7281-5143-4
StatusGepubliceerd - 6 feb 2020
Evenement27th IEEE International Conference on Software Analysis, Evolution and Reengineering(SANER2020) - London, Canada
Duur: 18 feb 202021 feb 2020
https://saner2020.csd.uwo.ca

Congres

Congres27th IEEE International Conference on Software Analysis, Evolution and Reengineering(SANER2020)
Verkorte titelSANER 2020
LandCanada
StadLondon
Periode18/02/2021/02/20
Internet adres

    Vingerafdruk

Citeer dit

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 (blz. 355-366). IEEE Computer Society.