SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Sun 22 Oct 2023 11:30 - 12:00 at Room XV - Session 1 Chair(s): Amir Shaikhha

Fuzz testing is an effective tool for finding bugs in software, including programming language compilers and interpreters. Advanced fuzz testers can find deep semantic bugs in language implementations through differential testing. However, input programs used for differential testing must not only be syntactically and semantically valid, but also be free from nondeterminism and undefined or unspecified behaviors. Developing a fuzzer that produces such programs can require tens of thousands of lines of code and hundreds of person-hours. Despite this significant investment, fuzzers designed for differential testing of different languages include many of the same features and analyses in their implementations. To make the implementation of language fuzz testers for differential testing easier, we introduce Xsmith.

Xsmith is a Racket library and domain-specific language that provides mechanisms for implementing a feature-complete fuzz tester in only a few hundred lines of code. By sharing infrastructure, allowing declarative language specification, and by allowing procedural extensions, Xsmith allows developers to write correct fuzzers for differential testing with little effort. We have developed fuzzers for several languages, and found bugs in implementations of Racket, Dafny, Standard ML, and WebAssembly.

Sun 22 Oct

Displayed time zone: Lisbon change

11:00 - 12:30
Session 1GPCE at Room XV
Chair(s): Amir Shaikhha University of Edinburgh
11:00
30m
Talk
GPCE Welcome by Chairs
GPCE
Amir Shaikhha University of Edinburgh, Coen De Roover Vrije Universiteit Brussel
11:30
30m
Talk
Generating Conforming Programs With Xsmith
GPCE
William G Hatch University of Utah, Pierce Darragh University of Utah, Sorawee Porncharoenwase University of Washington, Guy Watson University of Utah, Eric Eide University of Utah
12:00
30m
Talk
Multi-Stage Vertex-Centric Programming for Agent-Based Simulations
GPCE