We present a new learning-based approach for accelerating disjunctive static bug-finders. Industrial static bug-finders usually perform disjunctive analysis, differentiating program states along different execution paths of a program. Such path-sensitivity is essential for reducing false positives but it also increases analysis costs exponentially. Therefore, practical bug-finders use a state-selection heuristic to keep track of a small number of beneficial states only. However, designing a good heuristic for real-world programs is challenging; as a result, modern static bug-finders still suffer from low cost/bug-finding efficiency. In this paper, we aim to address this problem by learning effective state-selection heuristics from data. To this end, we present a novel data-driven technique that efficiently collects alarm-triggering traces, learns multiple candidate models, and adaptively chooses the best model tailored for each target program. We evaluate our approach with Infer and show that our technique significantly improves Infer’s bug-finding efficiency for a range of open-source C programs.
Thu 18 MayDisplayed time zone: Hobart change
11:00 - 12:30 | Defect detection and predictionTechnical Track / SEIP - Software Engineering in Practice at Level G - Plenary Room 1 Chair(s): Wei Le Iowa State University | ||
11:00 15mTalk | Detecting Exception Handling Bugs in C++ Programs Technical Track Hao Zhang Institute of Software, Chinese Academy of Sciences, Ji Luo Institute of Software, Chinese Academy of Sciences, Mengze Hu Institute of Software, Chinese Academy of Sciences, Jun Yan Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Jian Zhang State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China, Zongyan Qiu Peking University | ||
11:15 15mTalk | Learning to Boost Disjunctive Static Bug-Finders Technical Track | ||
11:30 15mTalk | Predicting Bugs by Monitoring Developers During Task Execution Technical Track Gennaro Laudato University of Molise, Simone Scalabrino University of Molise, Nicole Novielli University of Bari, Filippo Lanubile University of Bari, Rocco Oliveto University of Molise | ||
11:45 15mTalk | Detecting Isolation Bugs via Transaction Oracle Construction Technical Track Wensheng Dou Institute of Software Chinese Academy of Sciences, Ziyu Cui Institute of Software Chinese Academy of Sciences, Qianwang Dai Institute of Software Chinese Academy of Sciences, Jiansen Song , Dong Wang Institute of software, Chinese academy of sciences, Yu Gao Institute of Software, Chinese Academy of Sciences, China, Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences; University of Chinese Academy of Sciences Chongqing School, Lei Chen Inspur Software Group Co., Ltd., Hanmo Wang Inspur Software Group Co., Ltd., Hua Zhong Institute of Software Chinese Academy of Sciences, Tao Huang Institute of Software Chinese Academy of Sciences Pre-print | ||
12:00 15mTalk | SmallRace: Static Race Detection for Dynamic Languages - A Case on Smalltalk Technical Track Siwei Cui Texas A & M University, Yifei Gao Texas A&M University, Rainer Unterguggenberger Lam Research, Wilfried Pichler Lam Research, Sean Livingstone Texas A&M University, Jeff Huang Texas A&M University Pre-print | ||
12:15 15mTalk | CONAN: Diagnosing Batch Failures for Cloud Systems SEIP - Software Engineering in Practice Liqun Li Microsoft Research, Xu Zhang Microsoft Research, Shilin He Microsoft Research, Yu Kang Microsoft Research, Hongyu Zhang The University of Newcastle, Minghua Ma Microsoft Research, Yingnong Dang Microsoft Azure, Zhangwei Xu Microsoft Azure, Saravan Rajmohan Microsoft 365, Qingwei Lin Microsoft Research, Dongmei Zhang Microsoft Research File Attached |