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.


翻译:开发者花费更多时间来修补错误和重新构思代码,以提高可维护性,而不是开发新的特征。研究人员调查了代码质量对故障易发生性的影响,重点是代码的气味和代码度量。目标。我们的目标是在SonarQube的基础上,根据每个规则和度量提供的贡献,推进错误诱导预测。方法。我们设计并开展了对与SonarQube和SZZZ分析的33个爪哇项目的案例研究,以查明错误诱发和错误修正责任。此外,我们还调查了每个SonarQube规则和计量的错误易发生性。结果。我们分析了77 932个包含40 890个错误并被超过174个SonarQube规则所感染的承诺,违反了1 900M时间,根据该工具计算了24个软件度量度。与机器学习模型相比,深度学习提供了更准确的错误检测准确性,并使我们能够准确确定每个Sonarqube规则的错误识别能力。结果是,174个被违反的规则中,14个规则的重要性高于1 ⁇ 和对未来规则的准确性分析, 也考虑了更精确性规则的准确性, 分析,对可探测性分析的准确性分析,对未来规则的准确性分析可能的准确性分析,对正确性分析可能的准确性分析,对正确性分析,对正确性分析,对正确性分析,对正确性分析可能进行。

0
下载
关闭预览

相关内容

【干货书】真实机器学习,264页pdf,Real-World Machine Learning
吴恩达新书《Machine Learning Yearning》完整中文版
专知会员服务
145+阅读 · 2019年10月27日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
149+阅读 · 2019年10月12日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
机器学习线性代数速查
机器学习研究会
19+阅读 · 2018年2月25日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
Explainable Machine Learning for Fraud Detection
Arxiv
0+阅读 · 2021年5月13日
Arxiv
38+阅读 · 2020年3月10日
Arxiv
45+阅读 · 2019年12月20日
Arxiv
8+阅读 · 2018年5月15日
VIP会员
相关资讯
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
IEEE | DSC 2019诚邀稿件 (EI检索)
Call4Papers
10+阅读 · 2019年2月25日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
机器学习线性代数速查
机器学习研究会
19+阅读 · 2018年2月25日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
Top
微信扫码咨询专知VIP会员