Automatically learning patterns for self-admitted technical debt removal

Fiorella Zampetti, Alexander Serebrenik, Massimiliano Di Penta

Onderzoeksoutput: Hoofdstuk in Boek/Rapport/CongresprocedureConferentiebijdrageAcademicpeer review

6 Citaten (Scopus)
131 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
RedacteurenKostas Kontogiannis, Foutse Khomh, Alexander Chatzigeorgiou, Marios-Eleftherios Fokaefs, Minghui Zhou
UitgeverijInstitute of Electrical and Electronics Engineers
Pagina's355-366
Aantal pagina's12
ISBN van elektronische versie978-1-7281-5143-4
DOI's
StatusGepubliceerd - 6 feb 2020
Evenement27th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2020 - London, Canada
Duur: 18 feb 202021 feb 2020

Congres

Congres27th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2020
LandCanada
StadLondon
Periode18/02/2021/02/20

Vingerafdruk Duik in de onderzoeksthema's van 'Automatically learning patterns for self-admitted technical debt removal'. Samen vormen ze een unieke vingerafdruk.

Citeer dit