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 https://github.com/yikun-li/visdom-satd-management-system and the demo of DebtViz is at https://youtu.be/QXH6Bj0HQew.
翻译:技术债务,特别是自我承认技术债务(SATD),由于其对软件的长期可维护性可能产生不利影响,始终是软件开发人员和管理者面临的重大挑战。尽管已有多种方法可识别SATD,但缺乏对其进行全面管理的工具。本文提出DebtViz——一种创新的SATD工具,旨在自动检测、分类、可视化并监控源代码注释和问题追踪系统中的各类SATD。DebtViz采用基于卷积神经网络的方法进行检测,并利用解卷积技术进行关键词提取。该工具架构包含三个模块:用于数据采集和预处理的后端服务、用于数据分类的SATD分类器,以及用于用户交互的前端模块。DebtViz不仅提升了SATD管理的效率,还提供了对软件系统中SATD状态的深度洞察,从而支持对SATD管理做出明智决策。此外,其可扩展性和易部署性使其成为各类软件开发环境中开发人员和管理者均可使用的实用工具。DebtViz源代码详见https://github.com/yikun-li/visdom-satd-management-system,演示视频见https://youtu.be/QXH6Bj0HQew。