Minimally Comparing Relational Abstract Domains

05/25/2023
by   Kenny Ballou, et al.
0

Value-based static analysis techniques express computed program invariants as logical formula over program variables. Researchers and practitioners use these invariants to aid in software engineering and verification tasks. When selecting abstract domains, practitioners weigh the cost of a domain against its expressiveness. However, an abstract domain's expressiveness tends to be stated in absolute terms; either mathematically via the sub-polyhedra the domain is capable of describing, empirically using a set of known properties to verify, or empirically via logical entailment using the entire invariant of the domain at each program point. Due to carry-over effects, however, the last technique can be problematic because it tends to provide a simplistic and imprecise comparisons. We address limitations of comparing, in general, abstract domains via logical entailment in this work. We provide a fixed-point algorithm for including the minimally necessary variables from each domain into the compared formula. Furthermore, we empirically evaluate our algorithm, comparing different techniques of widening over the Zones domain and comparing Zones to an incomparable Relational Predicates domain. Our empirical evaluation of our technique shows an improved granularity of comparison. It lowered the number of more precise invariants when comparing analysis techniques, thus, limiting the prevalent carry-over effects. Moreover, it removed undecidable invariants and lowered the number of incomparable invariants when comparing two incomparable relational abstract domains.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/27/2023

Identifying Minimal Changes in the Zone Abstract Domain

Verification techniques express program states as logical formulas over ...
research
04/07/2020

Decidability and Synthesis of Abstract Inductive Invariants

Decidability and synthesis of inductive invariants ranging in a given do...
research
07/18/2019

On the Monniaux Problem in Abstract Interpretation

The Monniaux Problem in abstract interpretation asks, roughly speaking, ...
research
05/27/2011

The Automatic Inference of State Invariants in TIM

As planning is applied to larger and richer domains the effort involved ...
research
04/16/2019

Using Dynamic Analysis to Generate Disjunctive Invariants

Program invariants are important for defect detection, program verificat...
research
02/07/2017

Extracting Lifted Mutual Exclusion Invariants from Temporal Planning Domains

We present a technique for automatically extracting mutual exclusion inv...
research
11/06/2019

A Domain-Specific Language for Verifying Software Requirement Constraints

Software requirement analysis can certainly benefit from prevention and ...

Please sign up or login with your details

Forgot password? Click here to reset