Comparing Fuzzers on a Level Playing Field with FuzzBench

被引:7
作者
Asprone, Dario [1 ]
Metzman, Jonathan [2 ]
Arya, Abhishek [2 ]
Guizzo, Giovani [1 ]
Sarro, Federica [1 ]
机构
[1] UCL, London, England
[2] Google, Mountain View, CA 94043 USA
来源
2022 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2022) | 2022年
基金
欧洲研究理事会;
关键词
Fuzzing; Software Testing; FuzzBench; Empirical Study; RANKS;
D O I
10.1109/ICST53961.2022.00039
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Fuzzing is a testing approach commonly used in industry to discover bugs in a given software under test (SUT). It consists of running a SUT iteratively with randomly generated (or mutated) inputs, in order to find as many as possible inputs that make the SUT crash. Many fuzzers have been proposed to date, however no consensus has been reached on how to properly evaluate and compare fuzzers. In this work we evaluate and compare nine prominent fuzzers by carrying out a thorough empirical study based on an open-source framework developed by Google, namely FuzzBench, and a manually curated benchmark suite of 12 real-world software systems. The results show that honggfuzz and AFL++ are, in that order, the best choices in terms of general purpose fuzzing effectiveness. The results also show that none of the fuzzers outperforms the others in terms of efficiency across all considered metrics, that no particular bug affinity is found for any fuzzer, and that the correlation found between coverage and number of bugs depends more on the SUT rather than on the fuzzer used.
引用
收藏
页码:302 / 311
页数:10
相关论文
共 35 条
  • [1] Arya Abhishek, 2019, CLUSTERFUZZ FUZZING
  • [2] Asprone Dario, 2022, COMPARING FUZZERS LE, DOI [10.5522/04/19249532, DOI 10.5522/04/19249532]
  • [3] Asprone Dario, 2021, FUZZBENCH CONTRIBUTI
  • [4] Fuzzing: Challenges and Reflections
    Bohme, Marcel
    Cadar, Cristian
    Roychoudhury, Abhik
    [J]. IEEE SOFTWARE, 2021, 38 (03) : 79 - 86
  • [5] Boosting Fuzzer Efficiency: An Information Theoretic Perspective
    Bohme, Marcel
    Manes, Valentin J. M.
    Cha, Sang Kil
    [J]. PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 678 - 689
  • [6] Coverage-Based Greybox Fuzzing as Markov Chain
    Bohme, Marcel
    Van-Thuan Pham
    Roychoudhury, Abhik
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2019, 45 (05) : 489 - 506
  • [7] DARPA, 2020, DARP CYB GRAND CHALL
  • [8] Ding Z., 2021, ARXIV
  • [9] LAVA: Large-scale Automated Vulnerability Addition
    Dolan-Gavitt, Brendan
    Hulin, Patrick
    Kirda, Engin
    Leek, Tim
    Mambretti, Andrea
    Robertson, Wil
    Ulrich, Frederick
    Whelan, Ryan
    [J]. 2016 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2016, : 110 - 121
  • [10] Fioraldi Andrea, 2020, 14 USENIX WORKSH OFF, DOI [10.5555/3488877.3488887, DOI 10.5555/3488877.3488887]