ISSTA2023

TreeLine and SlackLine: Grammar-Based Performance Fuzzing on Coffee Break

Ziyad Alsaeed, Michal Young

Abstract

TreeLine and SlackLine are grammar-based fuzzers for quickly finding performance problems in programs driven by richly structured text that can be described by context-free grammar. In contrast to long fuzzing campaigns to find (mostly invalid) inputs that trigger security vulnerabilities, TreeLine and SlackLine are designed to search for performance problems in the space of valid inputs in minutes rather than hours. The TreeLine and SlackLine front-ends differ in search strategy (Monte Carlo Tree Search or derivation tree splicing, respectively) but accept the same grammar specifications and rely on a common back-end for instrumented execution. Separation of concerns should facilitate use by other researchers who wish to explore alternatives and extensions of either the front or back ends. CCS CONCEPTS • Software and its engineering → Software performance; Search-based software engineering; Software testing and debugging.