Map2Check: Using Symbolic Execution and Fuzzing

Herbert Oliveira Rocha, Rafael Menezes, Lucas Carvalho Cordeiro, Raimundo Barreto · Lecture notes in computer science · 2020

Abstract Map2Check is a software verification tool that combines fuzzing, symbolic execution, and inductive invariants. It automatically checks safety properties in C programs by adopting source code instrumentation to monitor data (e.g., memory pointers) from the program’s executions using LLVM compiler infrastructure. For SV-COMP 2020, we extended Map2Check to exploit an iterative deepening approach using LibFuzzer and Klee to check for safety properties. We also use Crab-LLVM to infer program invariants based on reachability analysis. Experimental results show that Map2Check can handle a wide variety of safety properties in several intricate verification tasks from SV-COMP 2020.

Read the paper · More papers on PaperTik