Trapezoidal Generalization over Linear Constraints

10/10/2018
by   David Greve, et al.
0

We are developing a model-based fuzzing framework that employs mathematical models of system behavior to guide the fuzzing process. Whereas traditional fuzzing frameworks generate tests randomly, a model-based framework can deduce tests from a behavioral model using a constraint solver. Because the state space being explored by the fuzzer is often large, the rapid generation of test vectors is crucial. The need to generate tests quickly, however, is antithetical to the use of a constraint solver. Our solution to this problem is to use the constraint solver to generate an initial solution, to generalize that solution relative to the system model, and then to perform rapid, repeated, randomized sampling of the generalized solution space to generate fuzzing tests. Crucial to the success of this endeavor is a generalization procedure with reasonable size and performance costs that produces generalized solution spaces that can be sampled efficiently. This paper describes a generalization technique for logical formulae expressed in terms of Boolean combinations of linear constraints that meets the unique performance requirements of model-based fuzzing. The technique represents generalizations using trapezoidal solution sets consisting of ordered, hierarchical conjunctions of linear constraints that are more expressive than simple intervals but are more efficient to manipulate and sample than generic polytopes. Supporting materials contain an ACL2 proof that verifies the correctness of a low-level implementation of the generalization algorithm against a specification of generalization correctness. Finally a post-processing procedure is described that results in a restricted trapezoidal solution that can be sampled (solved) rapidly and efficiently without backtracking, even for integer domains. While informal correctness arguments are provided, a formal proof of the correctness of the restriction algorithm remains as future work.

READ FULL TEXT
research
06/05/2009

The CIFF Proof Procedure for Abductive Logic Programming with Constraints: Theory, Implementation and Experiments

We present the CIFF proof procedure for abductive logic programming with...
research
11/18/2022

Adaptive Constraint Partition based Optimization Framework for Large-scale Integer Linear Programming(Student Abstract)

Integer programming problems (IPs) are challenging to be solved efficien...
research
09/01/2020

Formally Verified Transformation of Non-binary Constraints into Binary Constraints

It is well known in the Constraint Programming community that any non-bi...
research
10/16/2012

Uniform Solution Sampling Using a Constraint Solver As an Oracle

We consider the problem of sampling from solutions defined by a set of h...
research
10/22/2021

Proof-Carrying Parameters in Certified Symbolic Execution: The Case Study of Antiunification

Unification and antiunification are essential algorithms used by symboli...
research
01/25/2023

A Sequential Deep Learning Algorithm for Sampled Mixed-integer Optimisation Problems

Mixed-integer optimisation problems can be computationally challenging. ...
research
06/12/2023

Viewpoint Generation using Feature-Based Constrained Spaces for Robot Vision Systems

The efficient computation of viewpoints under consideration of various s...

Please sign up or login with your details

Forgot password? Click here to reset