Abstract
FuSeBMC is a test generator for finding security vulnerabilities in C programs. In Test-Comp 2021, we described a previous version that incrementally injected labels to guide Bounded Model Checking (BMC) and Evolutionary Fuzzing engines to produce test cases for code coverage and bug finding. This paper introduces an improved version of FuSeBMC that utilizes both engines to produce smart seeds. First, the engines run with a short time limit on a lightly instrumented version of the program to produce the seeds. The BMC engine is particularly useful in producing seeds that can pass through complex mathematical guards. Then, FuSeBMC runs its engines with extended time limits using the smart seeds created in the previous round. FuSeBMC manages this process in two main ways. Firstly, it uses shared memory to record the labels covered by each test case. Secondly, it evaluates test cases, and those of high impact are turned into seeds for subsequent test fuzzing. In this year’s competition, we participate in the Cover-Error, Cover-Branches, and Overall categories. The Test-Comp 2022 results show that we significantly increased our code coverage score from last year, outperforming all tools in all categories.
Kaled M. Alshmrany: Jury Member
Chapter PDF
Similar content being viewed by others
References
Clang documentation. http://clang.llvm.org/docs/index.html.
American fuzzy lop. https://lcamtuf.coredump.cx/afl/.
Kaled Alshmrany et al. FuSeBMC: A white-box fuzzer for finding security vulnerabilities in C programs. In FASE, pages 363–367, 2021.
Kaled Alshmrany et al. FuSeBMC: An energy-efficient test generator for finding security vulnerabilities in C programs. International Conference on TAP, pages 85-105, 2021.
Beyer, D.: Status report on software testing: Test-Comp 2021. In FASE, pages 341–357, 2021.
Armin Biere. Bounded model checking. Frontiers in Artificial Intelligence and Applications. In Handbook of satisfiability, pages 457–481, 2009.
Böhme et al. Directed greybox fuzzing. In CCS, pages 2329–2344, 2017.
Lucas C. Cordeiro et al. SMT-Based bounded model checking for embedded ANSI-C software. IEEE Trans. Software Eng. 38(4): 957–974, 2012.
Gadelha, M.R. et al. ESBMC: scalable and precise test generation based on the floating-point theory:(Competition Contribution). In FASE, pages 525–529, 2020.
Gadelha, M.R. et al. ESBMC v6.0: verifying C programs using k-induction and invariant inference - (Competition Contribution). In TACAS, pages 209–213, 2019.
Nicha Kosindrdecha and Jirapun Daengdej: A test case generation process and technique. Journal of Software Engineering, 4(4):265-287, 2010.
Stephens, Nick et al. Driller: Augmenting fuzzing through selective symbolic execution. In NDSS, pages 1–16, 2016.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2022 The Author(s)
About this paper
Cite this paper
Alshmrany, K.M., Aldughaim, M., Bhayat, A., Cordeiro, L.C. (2022). FuSeBMC v4: Smart Seed Generation for Hybrid Fuzzing. In: Johnsen, E.B., Wimmer, M. (eds) Fundamental Approaches to Software Engineering. FASE 2022. Lecture Notes in Computer Science, vol 13241. Springer, Cham. https://doi.org/10.1007/978-3-030-99429-7_19
Download citation
DOI: https://doi.org/10.1007/978-3-030-99429-7_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-99428-0
Online ISBN: 978-3-030-99429-7
eBook Packages: Computer ScienceComputer Science (R0)