History-Guided Configuration Diversification for Compiler Test-Program GenerationACM SIGSOFT Distinguished Paper Award
Compilers, like other software systems, contain bugs, and compiler testing is the most widely-used way to assure compiler quality. A critical task of compiler testing is to generate test programs that could effectively and efficiently discover bugs. Though we can configure test generators such as Csmith to control the features of the generated programs, it is not clear what test configuration is effective. In particular, an effective test configuration needs to generate test programs that are bug-revealing, i.e., likely to trigger bugs, and diverse, i.e., able to discover different types of bugs. It is not easy to satisfy both properties. In this paper, we propose a novel test-program generation approach, called HiCOND, which utilizes historical data for configuration diversification to solve this challenge. HiCOND first infers the range for each option in a test configuration where bug-revealing test programs are more likely to be generated based on historical data. Then, it identifies a set of test configurations that can lead to diverse test programs through a search method (particle swarm optimization). Finally, based on the set of test configurations for compiler testing, HiCOND generates test programs, which are likely to be bug-revealing and diverse. We have conducted experiments on two popular compilers GCC and LLVM, and the results confirm the effectiveness of our approach. For example, HiCOND detects 75.00%, 133.33%, and 145.00% more bugs than the three existing approaches, respectively. Moreover, HiCOND has been successfully applied to actual compiler testing in a global IT company and detected 11 bugs during the practical evaluation.
Tue 12 NovDisplayed time zone: Tijuana, Baja California change
16:00 - 17:40 | Testing and VisualizationDemonstrations / Research Papers / Journal First Presentations at Cortez 1 Chair(s): Amin Alipour University of Houston | ||
16:00 20mTalk | History-Guided Configuration Diversification for Compiler Test-Program GenerationACM SIGSOFT Distinguished Paper Award Research Papers Junjie Chen Tianjin University, Guancheng Wang Peking University, Dan Hao Peking University, Yingfei Xiong Peking University, Hongyu Zhang The University of Newcastle, Lu Zhang Peking University | ||
16:20 20mTalk | Data-Driven Compiler Testing and Debugging Research Papers Junjie Chen Tianjin University | ||
16:40 20mTalk | Targeted Example Generation for Compilation Errors Research Papers Umair Z. Ahmed National University of Singapore, Renuka Sindhgatta Queensland University of Technology, Australia, Nisheeth Srivastava Indian Institute of Technology, Kanpur, Amey Karkare IIT Kanpur Link to publication Pre-print | ||
17:00 20mTalk | Lightweight Assessment of Test-Case Effectiveness using Source-Code-Quality Indicators Journal First Presentations Giovanni Grano University of Zurich, Fabio Palomba Department of Informatics, University of Zurich, Harald Gall University of Zurich Link to publication Pre-print | ||
17:20 10mDemonstration | Visual Analytics for Concurrent Java Executions Demonstrations Cyrille Artho KTH Royal Institute of Technology, Sweden, Monali Pande KTH Royal Institute of Technology, Qiyi Tang University of Oxford | ||
17:30 10mDemonstration | NeuralVis: Visualizing and Interpreting Deep Learning Models Demonstrations Xufan Zhang State Key Laboratory for Novel Software Technology Nanjing University, Nanjing, China, Ziyue Yin State Key Laboratory for Novel Software Technology Nanjing University, Nanjing, China, Yang Feng University of California, Irvine, Qingkai Shi Hong Kong University of Science and Technology, Jia Liu State Key Laboratory for Novel Software Technology Nanjing University, Nanjing, China, Zhenyu Chen Nanjing University |