DebtViz: A Tool for Identifying, Measuring, Visualizing, and Monitoring Self-Admitted Technical Debt

Yikun Li,Mohamed Soliman,Paris Avgeriou,Maarten van Ittersum
2023-08-25
Abstract:Technical debt, specifically Self-Admitted Technical Debt (SATD), remains a significant challenge for software developers and managers due to its potential to adversely affect long-term software maintainability. Although various approaches exist to identify SATD, tools for its comprehensive management are notably lacking. This paper presents DebtViz, an innovative SATD tool designed to automatically detect, classify, visualize and monitor various types of SATD in source code comments and issue tracking systems. DebtViz employs a Convolutional Neural Network-based approach for detection and a deconvolution technique for keyword extraction. The tool is structured into a back-end service for data collection and pre-processing, a SATD classifier for data categorization, and a front-end module for user interaction. DebtViz not only makes the management of SATD more efficient but also provides in-depth insights into the state of SATD within software systems, fostering informed decision-making on managing it. The scalability and deployability of DebtViz also make it a practical tool for both developers and managers in diverse software development environments. The source code of DebtViz is available at <a class="link-external link-https" href="https://github.com/yikun-li/visdom-satd-management-system" rel="external noopener nofollow">this https URL</a> and the demo of DebtViz is at <a class="link-external link-https" href="https://youtu.be/QXH6Bj0HQew" rel="external noopener nofollow">this https URL</a>.
Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the insufficient management of Self - Admitted Technical Debt (SATD) in software development. Specifically, although there are multiple methods for identifying SATD, there is a lack of a tool that can comprehensively manage SATD. Therefore, this paper introduces DebtViz, a tool specifically designed to automatically detect, classify, visualize, and monitor various types of SATD in source code comments and issue - tracking systems. By providing in - depth insights into the SATD status, DebtViz supports developers and managers to make more informed decisions, thereby improving the maintainability and evolvability of software systems. In addition, DebtViz also has good extensibility and deployability, and is suitable for developers and managers in different software development environments.