HornFuzz: Fuzzing CHC solvers

06/07/2023
by   Anzhela Sukhanova, et al.
0

Many advanced program analysis and verification methods are based on solving systems of Constrained Horn Clauses (CHC). Testing CHC solvers is very important, as correctness of their work determines whether bugs in the analyzed programs are detected or missed. One of the well-established and efficient methods of automated software testing is fuzzing: analyzing the reactions of programs to random input data. Currently, there are no fuzzers for CHC solvers, and fuzzers for SMT solvers are not efficient in CHC solver testing, since they do not consider CHC specifics. In this paper, we present HornFuzz, a mutation-based gray-box fuzzing technique for detecting bugs in CHC solvers based on the idea of metamorphic testing. We evaluated our fuzzer on one of the highest performing CHC solvers, Spacer, and found a handful of bugs in Spacer. In particular, some discovered problems are so serious that they require fixes with significant changes to the solver.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/13/2020

Detecting Critical Bugs in SMT Solvers Using Blackbox Mutational Fuzzing

Formal methods use SMT solvers extensively for deciding formula satisfia...
research
04/19/2020

On the Unusual Effectiveness of Type-aware Mutations for Testing SMT Solvers

We propose type-aware operator mutation, a simple, but unusually effecti...
research
05/08/2018

Robustness Testing of Intermediate Verifiers

Program verifiers are not exempt from the bugs that affect nearly every ...
research
07/29/2019

A Case Study on Automated Fuzz Target Generation for Large Codebases

Fuzz Testing is a largely automated testing technique that provides rand...
research
04/26/2010

An approach to visualize the course of solving of a research task in humans

A technique to study the dynamics of solving of a research task is sugge...
research
07/27/2023

EnSolver: Uncertainty-Aware CAPTCHA Solver Using Deep Ensembles

The popularity of text-based CAPTCHA as a security mechanism to protect ...
research
05/04/2019

A Feature-Oriented Corpus for Understanding, Evaluating and Improving Fuzz Testing

Fuzzing is a promising technique for detecting security vulnerabilities....

Please sign up or login with your details

Forgot password? Click here to reset