My Fuzzers Won’t Build: An Empirical Study of Fuzzing Build Failures

Fuzzing is an automated software testing technique used to find software vulnerabilities that works by sending large amounts of inputs to a software system to trigger bad behaviors. In recent years, the open source software ecosystem has seen a significant increase in the adoption of fuzzing to avoid spreading vulnerabilities throughout the ecosystem. While fuzzing can uncover vulnerabilities, there is currently a lack of knowledge regarding the challenges of conducting fuzzing activities over time. Specifically, fuzzers are very complex tools to set up and build before they can be used. We set out to empirically find out how challenging is build maintenance in the context of fuzzing. We mine over 1.2 million build logs from Google’s OSS-Fuzz service to investigate fuzzing build failures. We first conduct a quantitative analysis to quantify the prevalence of fuzzing build failures. We then manually investigate 677 failing fuzzing builds logs and establish a taxonomy of 25 root causes of build failures. We finally train a machine learning model to recognize common failure patterns in failing build logs. Our taxonomy can serve as a reference for practitioners conducting fuzzing build maintenance. Our modeling experiment shows the potential of using automation to simplify the process of fuzzing.

Authors

Institutions

Publication Details

Journal
ACM Transactions on Software Engineering and Methodology
Published
2024-08-21
DOI
https://doi.org/10.1145/3688842
Citations
4
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
1.94
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

My Fuzzers Won’t Build: An Empirical Study of Fuzzing Build Failures

Olivier Nourry, Yutaro Kashiwa, Yasutaka Kamei, Weiyi Shang et al.
4 citations
ACM Transactions on Software Engineering and Methodology
Software Testing and Debugging Techniques
1.94
article

My Fuzzers Won’t Build: An Empirical Study of Fuzzing Build Failures

Olivier Nourry, Yutaro Kashiwa, Yasutaka Kamei, Weiyi Shang, Honglin Shu
article en
4 citations

Abstract

Fuzzing is an automated software testing technique used to find software vulnerabilities that works by sending large amounts of inputs to a software system to trigger bad behaviors. In recent years, the open source software ecosystem has seen a significant increase in the adoption of fuzzing to avoid spreading vulnerabilities throughout the ecosystem. While fuzzing can uncover vulnerabilities, there is currently a lack of knowledge regarding the challenges of conducting fuzzing activities over time. Specifically, fuzzers are very complex tools to set up and build before they can be used. We set out to empirically find out how challenging is build maintenance in the context of fuzzing. We mine over 1.2 million build logs from Google’s OSS-Fuzz service to investigate fuzzing build failures. We first conduct a quantitative analysis to quantify the prevalence of fuzzing build failures. We then manually investigate 677 failing fuzzing builds logs and establish a taxonomy of 25 root causes of build failures. We finally train a machine learning model to recognize common failure patterns in failing build logs. Our taxonomy can serve as a reference for practitioners conducting fuzzing build maintenance. Our modeling experiment shows the potential of using automation to simplify the process of fuzzing.

ACM Transactions on Software Engineering and MethodologyVol. 34(2)
Kyushu University (JP), University of Waterloo (CA), Nara Institute of Science and Technology (JP)
Life in Land
Openalex Percentile: Top 12%
Software Testing and Debugging Techniques
1.94
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

My Fuzzers Won’t Build: An Empirical Study of Fuzzing Build Failures — Olivier Nourry, Yutaro Kashiwa, et al. · ACM Transactions on Software Engineering and Methodology (2024) | TGRS Research Map | TGRS