A Machine and Deep Learning analysis among SonarQube rules, Product, and Process Metrics for Faults Prediction
Background. Developers spend more time fixing bugs 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 using different variables, such as SonarQube rules, product, process metrics, and adopting different techniques. Method. We designed and conducted an empirical study among 29 Java projects analyzed with SonarQube and SZZ algorithm to identify fault-inducing and fault-fixing commits, computing different product and process metrics. Moreover, we investigated fault-proneness using different Machine and Deep Learning models.
Results. We analyzed 58,125 commits containing 33,865 faults and infected by more than 174 SonarQube rules violated 1.8M times, on which 48 software product and process metrics were calculated. Results clearly identified a set of features that provided a highly accurate fault prediction (more than 95% AUC). Regarding the performance of the classifiers, Deep Learning provided a higher accuracy compared with Machine Learning models. Conclusion. Future works might investigate whether other static analysis tools, such as FindBugs or Checkstyle, can provide similar or different results. Moreover, researchers might consider the adoption of time series analysis and anomaly detection techniques.
Wed 17 MayDisplayed time zone: Hobart change
13:45 - 15:15 | Defect analysisJournal-First Papers / Technical Track / SEIP - Software Engineering in Practice at Meeting Room 106 Chair(s): Kla Tantithamthavorn Monash University | ||
13:45 15mTalk | RepresentThemAll: A Universal Learning Representation of Bug Reports Technical Track Sen Fang Macau University of Science and Technology, Tao Zhang Macau University of Science and Technology, Youshuai Tan Macau University of Science and Technology, He Jiang Dalian University of Technology, Xin Xia Huawei, Xiaobing Sun Yangzhou University | ||
14:00 15mTalk | Demystifying Exploitable Bugs in Smart Contracts Technical Track Zhuo Zhang Purdue University, Brian Zhang Harrison High School (Tippecanoe), Wen Xu PNM Labs, Zhiqiang Lin The Ohio State University Pre-print | ||
14:15 15mTalk | Understanding and Detecting On-the-Fly Configuration Bugs Technical Track Teng Wang National University of Defense Technology, Zhouyang Jia National University of Defense Technology, Shanshan Li National University of Defense Technology, Si Zheng National University of Defense Technology, Yue Yu College of Computer, National University of Defense Technology, Changsha 410073, China, Erci Xu National University of Defense Technology, Shaoliang Peng Hunan University, Liao Xiangke National University of Defense Technology Pre-print | ||
14:30 15mTalk | Explaining Software Bugs Leveraging Code Structures in Neural Machine Translation Technical Track Parvez Mahbub Dalhousie University, Ohiduzzaman Shuvo Dalhousie University, Masud Rahman Dalhousie University Pre-print Media Attached | ||
14:45 15mTalk | Scalable Compositional Static Taint Analysis for Sensitive Data Tracing on Industrial Micro-Services SEIP - Software Engineering in Practice Zexin Zhong Ant Group; University of Technology Sydney, Jiangchao Liu Ant Group, Diyu Wu Ant Group, Peng Di Ant Group, Yulei Sui University of New South Wales, Sydney, Alex X. Liu Ant Group, John C.S. Lui The Chinese University of Hong Kong | ||
15:00 7mTalk | Exploring the relationship between performance metrics and cost saving potential of defect prediction models Journal-First Papers | ||
15:07 7mTalk | A Machine and Deep Learning analysis among SonarQube rules, Product, and Process Metrics for Faults Prediction Journal-First Papers Francesco Lomio Constructor Institute Schaffhausen, Sergio Moreschini Tampere University, Valentina Lenarduzzi University of Oulu |