Compilers are one of the most fundamental software systems. A large number of software systems rely on compilers for execution. Compiler bugs can significantly hinder software developers from diagnosing issues within their software. Therefore, it is essential to ensure the correctness of compilers and to isolate and fix compiler bugs. Isolating bugs within compilers is challenging due to compilers’ complexity and large codebase. The prior studies on compiler bug isolation struggle to generate sufficient test cases for bug isolation and are not effective enough.
To improve compiler bug isolation, in this paper, we propose a new compiler bug isolation technique \textbf{ETEM} which generates diverse test programs using \textit{feature mutation operators}. Specifically, ETEM first searches for \textit{simplified optimization configurations} that turn off fine-grained options as much as possible to narrow the coverage. Then, ETEM uses a \textit{joint reinforcement learning-based search} method for mutation operators and mutate positions to get more high-quality test programs. Finally, ETEM uses \textit{rank-based aggregation} to calculate each file’s suspicious value.
This paper also evaluates the effectiveness of the proposed technique and the contribution of each component on a dataset consisting of 120 real bugs in GCC and LLVM. The experimental results indicate that ETEM outperforms existing techniques in terms of efficiently isolating compiler bugs. Furthermore, each component of ETEM contributes to its effectiveness. Specifically, ETEM effectively isolates about 23.3%/47.5%/61.4%/76.6% bugs within Top-1/5/10/20. The overall improvements of ETEM over the state-of-the-art techniques ODFL in terms of Top-1/5/10/20 are 64.7%/35.7%/20.3%/15.0%.
Tue 29 OctDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | |||
10:30 15mTalk | Shoot Yourself in the Foot — Efficient Code Causes Inefficiency in Compiler Optimizations Research Papers Fengjuan Gao Nanjing University of Science and Technology, Hongyu Chen Nanjing University, Yuewei Zhou Rice University, Ke Wang Visa Research | ||
10:45 15mTalk | Rust-twins: Automatic Rust Compiler Testing through Program Mutation and Dual Macros Generation Research Papers Wenzhang Yang University of Science and Technology of China, Cuifeng Gao University of Science and Technology of China, Xiaoyuan Liu University of Science and Technology of China, Yuekang Li UNSW, Yinxing Xue University of Science and Technology of China | ||
11:00 15mTalk | Compiler Bug Isolation via Enhanced Test Program Mutation Research Papers Yujie Liu Peking University, Mingxuan Zhu Peking University, Jinhao Dong Peking University, Junzhe Yu Peking University, Dan Hao Peking University | ||
11:15 15mTalk | Incremental Context-free Grammar Inference in Black Box Settings Research Papers Feifei Li Tsinghua Shenzhen International Graduate School, Xiao Chen University of Newcastle, Xi Xiao Tsinghua Shenzhen International Graduate School, Tsinghua University, Xiaoyu Sun Australian National University, Australia, Chuan Chen Key Laboratory of Computing Power Network and Information Security, Ministry of Education, Shandong Computer Science Center (National Supercomputer Center in Jinan), Qilu University of Technology (Shandong Academy of Sciences), Jinan, China, Shaohua Wang Central University of Finance and Economics, Jitao Han Central University of Finance and Economics | ||
11:30 15mTalk | Typed and Confused: Studying the Unexpected Dangers of Gradual Typing Research Papers Dominic Troppmann CISPA Helmholtz Center for Information Security, Aurore Fass CISPA Helmholtz Center for Information Security, Cristian-Alexandru Staicu CISPA Helmholtz Center for Information Security | ||
11:45 15mTalk | Refinement Types for Visualization Research Papers Jingtao Xia University of California, Santa Barbara, Junrui Liu University of California, Santa Barbara, Nicholas Brown University of California, Santa Barbara, Yanju Chen University of California at Santa Barbara, Yu Feng University of California at Santa Barbara |