DebtFree: Minimizing Labeling Cost in Self-Admitted Technical Debt Identification using Semi-Supervised Learning
Not on the map. Why?
Abstract (arXiv)
Keeping track of and managing Self-Admitted Technical Debts (SATDs) is important for maintaining a healthy software project. Current active-learning SATD recognition tool involves manual inspection of 24% of the test comments on average to reach 90% of the recall. Among all the test comments, about 5% are SATDs. The human experts are then required to read almost a quintuple of the SATD comments which indicates the inefficiency of the tool. Plus, human experts are still prone to error: 95% of the false-positive labels from previous work were actually true positives. To solve the above problems, we propose DebtFree, a two-mode framework based on unsupervised learning for identifying SATDs. In mode1, when the existing training data is unlabeled, DebtFree starts with an unsupervised learner to automatically pseudo-label the programming comments in the training data. In contrast, in mode2 where labels are available with the corresponding training data, DebtFree starts with a pre-processor that identifies the highly prone SATDs from the test dataset. Then, our machine learning model is employed to assist human experts in manually identifying the remaining SATDs. Our experiments on 10 software projects show that both models yield a statistically significant improvement in effectiveness over the state-of-the-art automated and semi-automated models. Specifically, DebtFree can reduce the labeling effort by 99% in mode1 (unlabeled training data), and up to 63% in mode2 (labeled training data) while improving the current active learner's F1 relatively to almost 100%.
Key facts. Cited by 5 papers in the map (data through 7 Oct 2026). Builds on 10 of its 125 references that are in the map. First posted on arXiv 25 Jan 2022.
Builds on
10 of 125 references.
References · 10
- 2017Is "Better Data" Better than "Better Data Miners"? (On the Benefits of Tuning SMOTE for Defect Prediction)cited by 17
- 2019Better Data Labelling with EMBLEM (and how that Impacts Defect Prediction)cited by 13
- 2018Improving Vulnerability Inspection Efficiency Using Active Learningcited by 10
- 2020Identifying Self-Admitted Technical Debts with Jitterbug: A Two-step Approachcited by 10
- 20199.6 Million Links in Source Code Comments: Purpose, Evolution, and Decaycited by 6
- 2016Finding Better Active Learners for Faster Literature Reviewscited by 4
- 2019Replication Can Improve Prior Results: A GitHub Study of Pull Request Acceptancecited by 4
- 2017Revisiting Unsupervised Learning for Defect Predictioncited by 2
- 2020The Changing Nature of Computational Science Softwarecited by 2
- 2019MAT: A simple yet strong baseline for identifying self-admitted technical debtcited by 1
Built on by
Citing papers per year: 2022: 1; 2023: 3; 2024: 1.
5 papers.
- 2023Instance-dependent Noisy-label Learning with Graphical Model Based Noise-rate Estimationcited by 4
- 2023Learning from Very Little Data: On the Value of Landscape Analysis for Predicting Software Project Healthcited by 3
- 2023Self-Admitted Technical Debt Detection Approaches: A Decade Systematic Reviewcited by 2
- 2022How to Find Actionable Static Analysis Warnings: A Case Study with FindBugscited by 1
- 2024Identifying Technical Debt and Its Types Across Diverse Software Projects Issuescited by 0
- 2024Identifying Technical Debt and Its Types Across Diverse Software Projects Issues17 Aug 2024
- 2023Self-Admitted Technical Debt Detection Approaches: A Decade Systematic Review19 Dec 2023
- 2023Instance-dependent Noisy-label Learning with Graphical Model Based Noise-rate Estimation31 May 2023
- 2023Learning from Very Little Data: On the Value of Landscape Analysis for Predicting Software Project Health16 Jan 2023
- 2022How to Find Actionable Static Analysis Warnings: A Case Study with FindBugs21 May 2022