Thu 18 Jul 2024 17:30 - 17:48 at Sapoti - Fuzzing Chair(s): Maxime Lamothe

Fuzz testing, also known as fuzzing, is a software testing technique aimed at identifying software vulnerabilities. In recent decades, fuzzing has gained increasing popularity in the research community. However, existing studies led by fuzzing experts mainly focus on improving the coverage and performance of fuzzing techniques. That is, there is still a gap in empirical knowledge regarding fuzzing, especially about the challenges developers face when they adopt fuzzing. Understanding these challenges can provide valuable insights to both practitioners and researchers on how to further improve fuzzing processes and techniques.

\textbf{Manual analysis.} We conducted a study to understand the challenges encountered by developers during fuzzing. More specifically, we first manually analyzed 829 randomly sampled fuzzing related GitHub issues and constructed a taxonomy consisting of 39 types of challenges (22 related to the fuzzing process itself, 17 related to using external fuzzing providers). Our manual analysis’ results show that the usability of fuzzers is the most common fuzzing related challenge. More specifically, we find that developers experience significant difficulties when trying to set up, build or use fuzzers. We also find that setting up the fuzzing environment and compiling the fuzzers are common problems faced by developers.

\textbf{Survey with practitioners.} We then surveyed 106 fuzzing practitioners to verify the validity of our taxonomy and collected feedback on how the fuzzing process can be improved. The fuzzing experts’ testimonies reveal several new issues in the field of fuzzing, namely: 1) new fuzzing tools and techniques developed by academics not being useful or usable for the general fuzzing community, 2) fuzzing requiring too much resources and computing power to scale, and 3) the very high barrier of entry preventing average developers from adopting fuzzing for their own projects. Furthermore, multiple experts confirmed the results of our manual analysis by stating that fuzzers are difficult to use alongside build systems. From the survey replies, we also find that practitioners overall have a good experience using continuous fuzzing services such as OSS-Fuzz and that OSS-Fuzz does help alleviate some of the performance problems related to fuzzing.

Our taxonomy, accompanied with representative examples and highlighted implications, can serve as a reference point on how to better adopt fuzzing techniques for practitioners, and indicates potential directions researchers can work on toward better fuzzing approaches and practices.

Thu 18 Jul

Displayed time zone: Brasilia, Distrito Federal, Brazil change

16:00 - 18:00
FuzzingDemonstrations / Journal First / Ideas, Visions and Reflections / Research Papers / Industry Papers at Sapoti
Chair(s): Maxime Lamothe Polytechnique Montreal, Montreal, Canada
16:00
18m
Talk
Dodrio: Parallelizing Taint Analysis Based Fuzzing via Redundancy-Free Scheduling
Industry Papers
Jie Liang , Mingzhe Wang Tsinghua University, Chijin Zhou Tsinghua University, Zhiyong Wu Tsinghua University, China, Jianzhong Liu ShanghaiTech University, Yu Jiang Tsinghua University
16:18
18m
Talk
Evolutionary Generative Fuzzing for Differential Testing of the Kotlin Compiler
Industry Papers
Călin Georgescu Delft University of Technology, Mitchell Olsthoorn Delft University of Technology, Pouria Derakhshanfar JetBrains Research, Marat Akhin JetBrains Research, Annibale Panichella Delft University of Technology
16:36
18m
Talk
Evaluating Directed Fuzzers: Are We Heading in the Right Direction?
Research Papers
Tae Eun Kim KAIST, Jaeseung Choi Sogang University, Seongjae Im KAIST, Kihong Heo KAIST, Sang Kil Cha KAIST
Pre-print Media Attached
16:54
9m
Talk
When Fuzzing Meets LLMs: Challenges and Opportunities
Ideas, Visions and Reflections
Yu Jiang Tsinghua University, Jie Liang , Fuchen Ma Tsinghua University, Yuanliang Chen Tsinghua University, Chijin Zhou Tsinghua University, Yuheng Shen Tsinghua University, Zhiyong Wu Tsinghua University, China, Jingzhou Fu Tsinghua University, Mingzhe Wang Tsinghua University, Shanshan Li National University of Defense Technology, Quan Zhang Tsinghua University
Pre-print
17:03
9m
Talk
Look Ma, No Input Samples! Mining Input Grammars from Code with Symbolic Parsing
Ideas, Visions and Reflections
Leon Bettscheider CISPA Helmholtz Center for Information Security, Andreas Zeller CISPA Helmholtz Center for Information Security
Link to publication DOI
17:12
9m
Talk
VinJ: An Automated Tool for Large-Scale Software Vulnerability Data Generation
Demonstrations
Yu Nong Washington State University, Haoran Yang Washington State University, Feng Chen University of Texas at Dallas, Haipeng Cai Washington State University
DOI Pre-print Media Attached
17:30
18m
Talk
The Human Side of Fuzzing: Challenges Faced by Developers During Fuzzing Activities
Journal First
Olivier Nourry Kyushu University, Yutaro Kashiwa Nara Institute of Science and Technology, Bin Lin Radboud University, Gabriele Bavota Software Institute @ Università della Svizzera Italiana, Michele Lanza Software Institute - USI, Lugano, Yasutaka Kamei Kyushu University