Technical debt is often the result of Short Run decisions made during code development, which can lead to long-term maintenance costs and risks. Hence, evaluating the progression of a project and understanding related code quality aspects is essential. Fortunately, the prioritization process for addressing technical debt can be expedited with code analysis tools like the established SonarQube. Unfortunately, we experienced some limitations with this tool and have had some requirements from the industry that were not yet addressed. Through this experience report and the analysis of scientific papers, this work contributes: (1) a reassessment of technical debt within the industry, (2) considers the benefits of employing SonarQube as well as its limitations when evaluating and prioritizing technical debt, (3) introduces a novel tool named SoHist which addresses these limitations and offers additional features for the assessment and prioritization of technical debt, and (4) exemplifies the usage of this tool in two industrial settings in the ITEA3 SmartDelta project.
翻译:技术债务往往是代码开发过程中短期决策的结果,这些决策可能导致长期维护成本与风险。因此,评估项目进展并理解相关代码质量特征至关重要。幸运的是,通过SonarQube等成熟代码分析工具,可以加速处理技术债务的优先级排序过程。然而,我们在使用该工具时遇到了一些局限,且行业中存在尚未被满足的需求。通过本经验报告及对科学论文的分析,本研究贡献如下:(1) 对行业内技术债务进行重新评估;(2) 分析SonarQube在评估与优先级排序技术债务时的优势及其局限;(3) 提出一种名为SoHist的新工具,该工具弥补了上述局限,并为技术债务评估与优先级排序提供附加功能;(4) 在ITEA3 SmartDelta项目的两个工业场景中示例了该工具的实际应用。