ISSTA 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Wed 18 Sep 2024 10:50 - 11:10 at EI 10 Fritz Paschke - Code Mutation and Reduction Chair(s): Andreas Zeller

Over the past decade, hundreds of fuzzers have been published in top-tier security and software engineering conferences.

Fuzzers are used to automatically test programs, ideally creating high-coverage input corpora and finding bugs.

Modern ``greybox'' fuzzers evolve a corpus of inputs by applying \emph{mutations} to inputs and then executing those new inputs while collecting coverage.

New inputs that are ``interesting'' (e.g. reveal new coverage) are saved to the corpus.

Given their non-deterministic nature, the impact of each design decision on the fuzzer's performance can be difficult to predict.

Some design decisions (e.g., " Should the fuzzer perform deterministic mutations of inputs? ") are exposed to end-users as configuration flags, but others (e.g., " What kinds of random mutations to apply to inputs?") are typically baked into the fuzzer code itself.

This paper describes our over 12.5-CPU-year evaluation of the set of mutation operators employed by the popular AFL++ fuzzer, including the \textit{havoc} phase, splicing, and \redqueen, exploring the impact of adjusting some of those unexposed configurations.

In this experience paper, we propose a methodology for determining different fuzzers' behavioral diversity with respect to branch coverage and bug detection using rigorous statistical methods.

Our key finding is that, across a range of targets, disabling certain mutation operators (some of which were previously ``baked-in'' to the fuzzer) resulted in inputs that cover different lines of code and reveal different bugs.

A surprising result is disabling certain mutators leads to \textbf{more diverse} coverage and allows the fuzzer to find \textbf{more} bugs \textbf{faster}.

We call for researchers to investigate seemingly simple design decisions in fuzzers more thoroughly and encourage fuzzer developers to expose more configuration parameters pertaining to these design decisions to end users.

Wed 18 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 11:50
Code Mutation and ReductionTechnical Papers at EI 10 Fritz Paschke
Chair(s): Andreas Zeller CISPA Helmholtz Center for Information Security
10:30
20m
Talk
Large Language Models for Equivalent Mutant Detection: How Far Are We?ACM SIGSOFT Distinguished Paper Award
Technical Papers
Zhao Tian Tianjin University, Honglin Shu Kyushu University, Dong Wang Tianjin University, Xuejie Cao Tianjin University, Yasutaka Kamei Kyushu University, Junjie Chen Tianjin University
DOI Pre-print
10:50
20m
Talk
An Empirical Examination of Fuzzer Mutator Performance
Technical Papers
James Kukucka George Mason University, Luís Pina University of Illinois at Chicago, Paul Ammann George Mason University, Jonathan Bell Northeastern University
DOI
11:10
20m
Talk
Equivalent Mutants in the Wild: Identifying and Efficiently Suppressing Equivalent Mutants for Java Programs
Technical Papers
Benjamin Kushigian University of Washington, Samuel Kaufman University of Washington, Ryan Featherman University of Washington, Hannah Potter University of Washington, Ardi Madadi University of Washington, René Just University of Washington
DOI
11:30
20m
Talk
LPR: Large Language Models-Aided Program Reduction
Technical Papers
Mengxiao Zhang University of Waterloo, Yongqiang Tian Hong Kong University of Science and Technology, Zhenyang Xu University of Waterloo, Yiwen Dong University of Waterloo, Shin Hwei Tan Concordia University, Chengnian Sun University of Waterloo
DOI

Information for Participants
Wed 18 Sep 2024 10:30 - 11:50 at EI 10 Fritz Paschke - Code Mutation and Reduction Chair(s): Andreas Zeller
Info for room EI 10 Fritz Paschke:

Map: https://tuw-maps.tuwien.ac.at/?q=CAEG31

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/13948