Explaining Software Bugs Leveraging Code Structures in Neural Machine Translation
Software bugs claim ≈ 50% of development time and cost the global economy billions of dollars. Once a bug is reported, the assigned developer attempts to identify and understand the source code responsible for the bug and then corrects the code. Over the last five decades, there has been significant research on automatically finding or correcting software bugs. However, there has been little research on automatically explaining the bugs to the developers, which is essential but a highly challenging task. In this paper, we propose Bugsplainer, a transformer-based generative model, that generates natural language explanations for software bugs by learning from a large corpus of bug-fix commits. Bugsplainer can leverage structural information and buggy patterns from the source code to generate an explanation for a bug. Our evaluation using three performance metrics shows that Bugsplainer can generate understandable and good explanations according to Google’s standard, and can outperform multiple baselines from the literature. We also conduct a developer study involving 20 participants where the explanations from Bugsplainer were found to be more accurate, more precise, more concise and more useful than the baselines.
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 |