Wed 18 Nov 2020 23:20 - 23:40 at SPLASH-I - W-3 Chair(s): Alex Potanin, Yuting Wang
Compilers should not crash and they should not miscompile applications. Random testing is an effective method for finding compiler bugs that have escaped other kinds of testing. This paper presents Yet Another Random Program Generator (YARPGen), a random test-case generator for C and C++ that we used to find and report more than 220 bugs in GCC, LLVM, and the Intel® C++ Compiler. Our research contributions include a method for generating expressive programs that avoid undefined behavior without using dynamic checks, and generation policies, a mechanism for increasing diversity of generated code and for triggering more optimizations. Generation policies decrease the testing time to find hard-to-trigger compiler bugs and, for the kinds of scalar optimizations YARPGen was designed to stress-test, increase the number of times these optimizations are applied by the compiler by an average of 20% for LLVM and 40% for GCC. We also created tools for automating most of the common tasks related to compiler fuzzing; these tools are also useful for fuzzers other than ours.
Wed 18 NovDisplayed time zone: Central Time (US & Canada) change
11:00 - 12:20 | W-3OOPSLA at SPLASH-I +12h Chair(s): Eelco Visser Delft University of Technology, Dan Barowy Williams College | ||
11:00 20mTalk | Build Scripts with Perfect Dependencies OOPSLA Link to publication DOI Media Attached | ||
11:20 20mTalk | Random Testing for C and C++ Compilers with YARPGen OOPSLA Vsevolod Livinskii University of Utah, Dmitry Babokin Intel Corporation, John Regehr University of Utah Link to publication DOI Media Attached | ||
11:40 20mTalk | Dynamic Dispatch of Context-Sensitive Optimizations OOPSLA Gabriel Poesia Stanford University, Fernando Magno Quintão Pereira Federal University of Minas Gerais Link to publication DOI Pre-print Media Attached | ||
12:00 20mTalk | Automated Policy Synthesis for System Call Sandboxing OOPSLA Shankara Pailoor University of Texas at Austin, Xinyu Wang University of Michigan, Hovav Shacham University of Texas at Austin, Işıl Dillig University of Texas at Austin Link to publication DOI Media Attached |
23:00 - 00:20 | W-3OOPSLA at SPLASH-I Chair(s): Alex Potanin Victoria University of Wellington, Yuting Wang Shanghai Jiao Tong University | ||
23:00 20mTalk | Build Scripts with Perfect Dependencies OOPSLA Link to publication DOI Media Attached | ||
23:20 20mTalk | Random Testing for C and C++ Compilers with YARPGen OOPSLA Vsevolod Livinskii University of Utah, Dmitry Babokin Intel Corporation, John Regehr University of Utah Link to publication DOI Media Attached | ||
23:40 20mTalk | Dynamic Dispatch of Context-Sensitive Optimizations OOPSLA Gabriel Poesia Stanford University, Fernando Magno Quintão Pereira Federal University of Minas Gerais Link to publication DOI Pre-print Media Attached | ||
00:00 20mTalk | Automated Policy Synthesis for System Call Sandboxing OOPSLA Shankara Pailoor University of Texas at Austin, Xinyu Wang University of Michigan, Hovav Shacham University of Texas at Austin, Işıl Dillig University of Texas at Austin Link to publication DOI Media Attached |