Some SonarQube Issues have a Significant but SmallEffect on Faults and Changes. A large-scale empirical study

08/30/2019
by   Valentina Lenarduzzi, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/21/2021

Fault Prediction based on Software Metrics and SonarQube Rules. Machine or Deep Learning?

Background. Developers spend more time fixing bugs and refactoring the c...
research
08/02/2019

The Technical Debt Dataset

Technical Debt analysis is increasing in popularity as nowadays research...
research
10/19/2020

Can Clean New Code reduce Technical Debt Density?

While technical debt grows in absolute numbers as software systems evolv...
research
02/11/2020

Analyzing the Rework Time and Severity of Code Debt: A Case Study Using Technical Debt Catalogs

This paper presents a case study analyzing Hibernate ecosystem software ...
research
06/30/2019

On the Fault Proneness of SonarQube Technical Debt Violations: A comparison of eight Machine Learning Techniques

Background. The popularity of tools for analyzing Technical Debt, and pa...
research
10/11/2020

Further Investigation of the Survivability of Code Technical Debt Items

Context: Technical Debt (TD) discusses the negative impact of sub-optima...
research
11/02/2018

Too Trivial To Test? An Inverse View on Defect Prediction to Identify Methods with Low Fault Risk

Background. Test resources are usually limited and therefore it is often...

Please sign up or login with your details

Forgot password? Click here to reset