PerfFuzz: Automatically Generating Pathological Inputs
Performance problems in software can arise unexpectedly when programs are provided with inputs that exhibit worst-case behavior. A large body of work has focused on diagnosing such problems via statistical profiling techniques. But how does one find these inputs in the first place? We present PerfFuzz, a method to automatically generate inputs that exercise pathological behavior across program locations, without any domain knowledge. PerfFuzz generates inputs via feedback-directed mutational fuzzing. Unlike previous approaches that attempt to maximize only a scalar characteristic such as the total execution path length, PerfFuzz uses multi-dimensional feedback and independently maximizes execution counts for all program locations. This enables PerfFuzz to (1) find a variety of inputs that exercise distinct hot spots in a program and (2) generate inputs with higher total execution path length than previous approaches by escaping local maxima. PerfFuzz is also effective at generating inputs that demonstrate algorithmic complexity vulnerabilities. We implement PerfFuzz on top of AFL, a popular coverage-guided fuzzing tool, and evaluate PerfFuzz on four real-world C programs typically used in the fuzzing literature. We find that PerfFuzz outperforms prior work by generating inputs that exercise the most-hit program branch 5x to 69x times more, and result in 1.9x to 24.7x longer total execution paths.
Tue 17 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:00 - 17:30 | Test and Oracle GenerationISSTA Technical Papers at Zurich II Chair(s): Sarfraz Khurshid University of Texas at Austin | ||
16:00 20mTalk | Tests from Traces: Automated Unit Test Extraction for R ISSTA Technical Papers | ||
16:20 20mTalk | Translating Code Comments to Procedure Specifications ISSTA Technical Papers Arianna Blasi Università della Svizzera italiana (USI) and IMDEA Software Institute, Alberto Goffi Università della Svizzera italiana (USI), Konstantin Kuznetsov Saarland University, CISPA, Alessandra Gorla IMDEA Software Institute, Michael D. Ernst University of Washington, USA, Mauro Pezzè University of Milano-Bicocca, Italy, Sergio Delgado Castellanos IMDEA Software Institute | ||
16:40 20mTalk | PerfFuzz: Automatically Generating Pathological Inputs ISSTA Technical Papers Caroline Lemieux University of California, Berkeley, Rohan Padhye University of California, Berkeley, Koushik Sen University of California, Berkeley, Dawn Song | ||
17:20 10m | Q&A in groups ISSTA Technical Papers |