Software systems introduce an increasing number of configuration options to provide flexibility, and support updating the options on the fly to provide persistent services. This mechanism, however, may affect the system reliability, leading to unexpected results like software crashes or functional errors. In this paper, we refer to the bugs caused by on-the-fly configuration updates as on-the-fly configuration bugs, or OCBugs for short.
In this paper, we conducted the first in-depth study on 75 real-world OCBugs from 5 widely used systems to understand the symptoms, root causes, and triggering conditions of OCBugs. Based on our study, we designed and implemented PARACHUTE, an automated testing framework to detect OCBugs. Our key insight is that the value of one configuration option, either loaded at the startup phase or updated on the fly, should have the same effects on the target program. PARACHUTE generates tests for on-the-fly configuration updates by mutating the existing tests and conducts differential analysis to identify OCBugs. We evaluated PARACHUTE on 7 real-world software systems. The results show that PARACHUTE detected 75% (42/56) of the known OCBugs, and reported 13 unknown bugs, 11 of which have been confirmed or fixed by developers until the time of writing.
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 |