Development and Adoption of SATD Detection Tools: A State-of-practice Report

Edi Sutoyo,Andrea Capiluppi
2024-12-18
Abstract:Self-Admitted Technical Debt (SATD) refers to instances where developers knowingly introduce suboptimal solutions into code and document them, often through textual artifacts. This paper provides a comprehensive state-of-practice report on the development and adoption of SATD detection tools. Through a systematic review of the available literature and tools, we examined their overall accessibility. Our findings reveal that, although SATD detection tools are crucial for maintaining software quality, many face challenges such as technological obsolescence, poor maintenance, and limited platform compatibility. Only a small number of tools are actively maintained, hindering their widespread adoption. This report discusses common anti-patterns in tool development, proposes corrections, and highlights the need for implementing Findable, Accessible, Interoperable, and Reusable (FAIR) principles and fostering greater collaboration between academia and industry to ensure the sustainability and efficacy of these tools. The insights presented here aim to drive more robust management of technical debt and enhance the reliability of SATD tools.
Software Engineering
What problem does this paper attempt to address?
The problems that this paper attempts to solve are: **Challenges faced by Self - Admitted Technical Debt (SATD) detection tools during development and adoption and their impact on software quality maintenance**. Specifically, the paper focuses on the following aspects: 1. **Accessibility and practicality of tools**: - Many SATD detection tools have problems such as technological obsolescence, poor maintenance, and poor platform compatibility. - Only a few tools are actively maintained, which limits their wide adoption. 2. **Anti - patterns in tool development**: - Identify and analyze common anti - patterns in tool development, such as insufficient maintenance, lack of interoperability with modern platforms, and incomplete documentation. - Propose specific measures to correct these anti - patterns to improve the sustainability, usability, and forward - looking nature of the tools. 3. **Implementation of the FAIR principles**: - Emphasize the importance of implementing the Findable, Accessible, Interoperable, and Reusable (FAIR) principles in the development and use of SATD detection tools. - By following the FAIR principles, ensure the long - term availability and reliability of the tools. 4. **Collaboration between academia and industry**: - Advocate strengthening the cooperation between academia and industry to ensure that SATD detection tools can meet practical needs and can be continuously improved and developed. 5. **Improving the robustness of technical debt management**: - By improving SATD detection tools, help developers better identify and manage technical debt, thereby enhancing the overall quality and maintainability of software. Through a systematic literature review and evaluation of existing tools, the paper reveals the problems existing in current SATD detection tools and proposes specific improvement suggestions, aiming to promote more effective technical debt management and software engineering practices.