Identifying Self-Admitted Technical Debts with Jitterbug: A Two-step Approach

25 Feb 2020  ·  Zhe Yu, Fahmid Morshed Fahid, Huy Tu, Tim Menzies ·

Keeping track of and managing the self-admitted technical debts (SATDs) is important to maintaining a healthy software project. This requires much time and effort from human experts to identify these SATDs manually. Currently, automated solutions do not have high enough 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 by first finding the "easy to find" SATDs automatically with close to 100% precision via a novel pattern recognition technique, then applying machine learning techniques to assist human experts in manually identifying the rest "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.

PDF Abstract

Datasets


  Add Datasets introduced or used in this paper