Identifying Self-Admitted Technical Debts with Jitterbug: A Two-step Approach
This work addresses the challenge of managing technical debt for software developers by improving automation efficiency, though it is incremental as it builds on existing methods.
The paper tackles the problem of identifying Self-Admitted Technical Debts (SATDs) in software projects by proposing Jitterbug, a two-step framework that first uses pattern recognition for high-precision detection and then machine learning to assist human experts, resulting in more efficient identification with reduced human effort compared to prior methods.
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.