Litcius/Paper detail

Predicting technical debt from commit contents: reproduction and extension with automated feature selection

Leevi Rantala, Mika Mäntylä

2020Software Quality Journal11 citationsDOIOpen Access PDF

Abstract

Abstract Self-admitted technical debt refers to sub-optimal development solutions that are expressed in written code comments or commits. We reproduce and improve on a prior work by Yan et al. (2018) on detecting commits that introduce self-admitted technical debt. We use multiple natural language processing methods: Bag-of-Words, topic modeling, and word embedding vectors. We study 5 open-source projects. Our NLP approach uses logistic Lasso regression from Glmnet to automatically select best predictor words. A manually labeled dataset from prior work that identified self-admitted technical debt from code level commits serves as ground truth. Our approach achieves + 0.15 better area under the ROC curve performance than a prior work, when comparing only commit message features, and + 0.03 better result overall when replacing manually selected features with automatically selected words. In both cases, the improvement was statistically significant ( p < 0.0001). Our work has four main contributions, which are comparing different NLP techniques for SATD detection, improved results over previous work, showing how to generate generalizable predictor words when using multiple repositories, and producing a list of words correlating with SATD. As a concrete result, we release a list of the predictor words that correlate positively with SATD, as well as our used datasets and scripts to enable replication studies and to aid in the creation of future classifiers.

Topics & Concepts

CommitComputer scienceScripting languageArtificial intelligenceWord embeddingNatural language processingMachine learningFeature selectionRandom forestSelection (genetic algorithm)Technical debtUndoVariance (accounting)Code (set theory)EmbeddingDatabaseSoftwareSet (abstract data type)Software developmentProgramming languageAccountingBusinessSoftware Engineering ResearchSoftware Reliability and Analysis ResearchOpen Source Software Innovations
Predicting technical debt from commit contents: reproduction and extension with automated feature selection | Litcius