A Constraint Solver for Heaps with Separation
نویسندگان
چکیده
This paper introduces a constraint language H for finite partial maps (a.k.a. heaps) that incorporates the notion of separation from Separation Logic. The motivation behind H is reasoning over heap manipulating programs using constraint-based symbolic execution. For this we present a modest extension of Hoare Logic that inherits many of the benefits from Separation Logic, such as local reasoning, but encodes heap operations as H-formulae. Next we present a sound and complete solving algorithm for quantifier-free H-formulae, and an implementation that has been integrated into a Satisfiability Modulo Theories (SMT) framework. We experimentally evaluate the implementation against Verification Conditions (VCs) generated from symbolic execution of large programs. In particular, we mitigate the path explosion problem using subsumption via interpolation.
منابع مشابه
Simulation of Strap-On Boosters Separation in the Atmosphere
A numerical dynamic-aerodynamic interface for simulating the separation dynamics of constrained strap-on boosters jettisoned in the atmosphere is presented. A 6-DOF multi body dynamic solver ،using Constraint Force Equation Methodology is coupled with a numerical time dependent Euler flow solver. An automatic dynamic mesh updating procedure is employed using smoothing and l...
متن کاملConstraint-Based Program Reasoning with Heaps and Separation
This paper introduces a constraint language H for finite partial maps (a.k.a. heaps) that incorporates the notion of separation from Separation Logic. We use H to build an extension of Hoare Logic for reasoning over heap manipulating programs using (constraint-based) symbolic execution. We present a sound and complete algorithm for solving quantifier-free (QF) H-formulae based on heap element p...
متن کاملA Symbolic Execution Framework with Explicit Heaps and Separation
Program verification of heap properties is challenging. A promising approach is Separation Logic, which supports local reasoning over disjoint portions of the heap. In this paper, we propose a heap constraint language H that explicates the heap and incorporates separation. By explicating the heap, the language is more suitable for automatic symbolic execution. We show that this language can be ...
متن کاملDecision Procedure for Entailment of Symbolic Heaps with Arrays
This paper gives a decision procedure for the validity of entailment of symbolic heaps in separation logic with Presburger arithmetic and arrays. The correctness of the decision procedure is proved under the condition that sizes of arrays in the succedent are not existentially bound. This condition is independent of the condition proposed by the CADE-2017 paper by Brotherston et al, namely, one...
متن کاملSimulation of Store Separation using Low-cost CFD with Dynamic Meshing
The simulation of the store separation using the automatic coupling of dynamic equations with flow aerodynamics is addressed. The precision and cost (calculation time) were considered as comparators. The method used in the present research decreased the calculation cost while limiting the solution error within a specific and tolerable interval. The methods applied to model the aerodynamic force...
متن کامل