Identifying Self-Admitted Technical Debts with Jitterbug: A Two-step Approach
arXiv:2002.11049 · doi:10.1109/TSE.2020.3031401
Abstract
Keeping track of and managing Self-Admitted Technical Debts (SATDs) are important to maintaining a healthy software project. This requires much time and effort from human experts to identify the SATDs manually. The current automated solutions do not have satisfactory precision and recall in identifying SATDs to fully automate the process. To solve the above problems, we propose a two-step framework called Jitterbug for identifying SATDs. Jitterbug first identifies the "easy to find" SATDs automatically with close to 100% precision using a novel pattern recognition technique. Subsequently, machine learning techniques are applied to assist human experts in manually identifying the remaining "hard to find" SATDs with reduced human effort. Our simulation studies on ten software projects show that Jitterbug can identify SATDs more efficiently (with less human effort) than the prior state-of-the-art methods.
arXiv comment14 pages, 3 pages for appendix, 6+3 figures, 10 tables. Accepted by TSE journal
References in corpus (2)
Cited by in corpus (7)
- Applying Bayesian Analysis Guidelines to Empirical Software Engineering Data: The Case of Programming Languages and Code Quality
- WeakSATD: Detecting Weak Self-admitted Technical Debt
- Leveraging multi-task learning to improve the detection of SATD and vulnerability
- Self-Admitted Technical Debt Detection Approaches: A Decade Systematic Review
- FRUGAL: Unlocking SSL for Software Analytics
- Automated Detection of Algorithm Debt in Deep Learning Frameworks: An Empirical Study
- Exploring the Advances in Using Machine Learning to Identify Technical Debt and Self-Admitted Technical Debt