  Background. Developers spend more time fixing bugs and refactoring the code
to increase the maintainability than developing new features. Researchers
investigated the code quality impact on fault-proneness focusing on code smells
and code metrics. Objective. We aim at advancing fault-inducing commit
prediction based on SonarQube considering the contribution provided by each
rule and metric. Method. We designed and conducted a case study among 33 Java
projects analyzed with SonarQube and SZZ to identify fault-inducing and
fault-fixing commits. Moreover, we investigated fault-proneness of each
SonarQube rule and metric using Machine and Deep Learning models. Results. We
analyzed 77,932 commits that contain 40,890 faults and infected by more than
174 SonarQube rules violated 1,9M times, on which there was calculated 24
software metrics available by the tool. Compared to machine learning models,
deep learning provide a more accurate fault detection accuracy and allowed us
to accurately identify the fault-prediction power of each SonarQube rule. As a
result, fourteen of the 174 violated rules has an importance higher than 1\%
and account for 30\% of the total fault-proneness importance, while the fault
proneness of the remaining 165 rules is negligible. Conclusion. Future works
might consider the adoption of timeseries analysis and anomaly detection
techniques to better and more accurately detect the rules that impact
fault-proneness.
