当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Some SonarQube issues have a significant but small effect on faults and changes. A large-scale empirical study
Journal of Systems and Software ( IF 3.5 ) Pub Date : 2020-12-01 , DOI: 10.1016/j.jss.2020.110750
Valentina Lenarduzzi , Nyyti Saarimäki , Davide Taibi

Context. Companies commonly invest effort to remove technical issues believed to impact software qualities, such as removing anti-patterns or coding styles violations. Objective. Our aim is to analyze the diffuseness of Technical Debt (TD) items in software systems and to assess their impact on code changes and fault-proneness, considering also the type of TD items and their severity. Method. We conducted a case study among 33 Java projects from the Apache Software Foundation (ASF) repository. We analyzed 726 commits containing 27K faults and 12M changes. The projects violated 173 SonarQube rules generating more than 95K TD items in more than 200K classes. Results. Clean classes (classes not affected by TD items) are less change-prone than dirty ones, but the difference between the groups is small. Clean classes are slightly more change-prone than classes affected by TD items of type Code Smell or Security Vulnerability. As for fault-proneness, there is no difference between clean and dirty classes. Moreover, we found a lot of incongruities in the type and severity level assigned by SonarQube. Conclusions. Our result can be useful for practitioners to understand which TD items they should refactor and for researchers to bridge the missing gaps. They can also support companies and tool vendors in identifying TD items as accurately as possible.

中文翻译:

一些 SonarQube 问题对故障和变化有显着但很小的影响。大规模的实证研究

语境。公司通常会努力消除被认为会影响软件质量的技术问题,例如消除反模式或编码风格违规。客观的。我们的目标是分析软件系统中技术债务 (TD) 项目的扩散程度,并评估它们对代码更改和故障倾向的影响,同时考虑 TD 项目的类型及其严重性。方法。我们对来自 Apache 软件基金会 (ASF) 存储库的 33 个 Java 项目进行了案例研究。我们分析了 726 次提交,其中包含 27K 错误和 12M 更改。这些项目违反了 173 条 SonarQube 规则,在超过 20 万个类别中生成了超过 9.5 万个 TD 项目。结果。干净类(不受 TD 项目影响的类)比脏类更不容易改变,但组之间的差异很小。与受代码气味或安全漏洞类型的 TD 项目影响的类相比,干净的类更容易发生变化。至于容易出错的问题,干净类和脏类之间没有区别。此外,我们发现 SonarQube 分配的类型和严重性级别存在很多不一致之处。结论。我们的结果有助于从业者了解他们应该重构哪些 TD 项目,并有助于研究人员弥补缺失的差距。他们还可以支持公司和工具供应商尽可能准确地识别 TD 项目。我们的结果有助于从业者了解他们应该重构哪些 TD 项目,并有助于研究人员弥补缺失的差距。他们还可以支持公司和工具供应商尽可能准确地识别 TD 项目。我们的结果有助于从业者了解他们应该重构哪些 TD 项目,并有助于研究人员弥补缺失的差距。他们还可以支持公司和工具供应商尽可能准确地识别 TD 项目。
更新日期:2020-12-01
down
wechat
bug