Compositional shape analysis by means of bi-abduction

@inproceedings{Calcagno2009CompositionalSA,
  title={Compositional shape analysis by means of bi-abduction},
  author={Cristiano Calcagno and Dino Distefano and Peter W. O'Hearn and Hongseok Yang},
  booktitle={ACM-SIGACT Symposium on Principles of Programming Languages},
  year={2009}
}
This paper describes a compositional shape analysis, where each procedure is analyzed independently of its callers. The analysis uses an abstract domain based on a restricted fragment of separation logic, and assigns a collection of Hoare triples to each procedure; the triples provide an over-approximation of data structure usage. Compositionality brings its usual benefits -- increased potential to scale, ability to deal with unknown calling contexts, graceful way to deal with imprecision -- to… 

Figures and Tables from this paper

Compositional Shape Analysis by Means of Bi-Abduction

A method of boosting shape analyses by defining a compositional method, where each procedure is analyzed independently of its callers, which is based on a generalized form of abduction (inference of explanatory hypotheses), which is called bi-abduction.

Bi-Abduction for Shapes with Ordered Data

A novel one-stage bi-abductive procedure for a combination of data structures and ordering values, designed in the spirit of the Unfold-and-Match paradigm, which shows promise for the specification inference in an automated verification of heap-manipulating programs.

Shape Analysis via Second-Order Bi-Abduction ( Technical Report )

We present a new modular shape analysis that can synthesize heap memory specification on a per method basis. We rely on a second-order biabduction mechanism that can give interpretations to unknown

Bi-Abduction with Pure Properties for Specification Inference

A novel approach, called pure bi-abduction, for inferring pure information for pre/post specifications, using the result from a prior shape analysis step, and a predicate extension mechanism to systematically extend shape predicates with pure properties.

Bottom-Up Shape Analysis

This paper presents a logic of iterated separation formula (LISF) which uses the iterated separating conjunct of Reynolds [17] to represent program states and describes sound strong bi-abduction and satisfiability decision procedures for LISF.

Bottom-up shape analysis using LISF

This article presents a Logic of Iterated Separation Formulae (LISF), which uses the iterated separating conjunct of Reynolds [2002] to represent program states and describes sound strong bi-abduction and satisfiability procedures for LISF.

A relational shape abstract domain

A set of novel logical connectives are proposed to describe such relations, which are inspired by separation logic, to build an abstract domain and design a static analysis that over-approximates relations over memory states containing inductive structures.

Abstraction Refinement for Separation Logic Program Analyses

A method for automated refinement of separation logic analyses, geared towards checking the existential shape-based properties of data structures, based on abduction, a technique for inferring sufficient preconditions for commands is proposed.

Low-Level Bi-Abduction

The paper proposes a new static analysis designed to handle open programs, i.e., fragments of programs, with dynamic pointer-linked data structures – in particular, various kinds of lists – that
...

References

SHOWING 1-10 OF 87 REFERENCES

Compositional Shape Analysis by Means of Bi-Abduction

A method of boosting shape analyses by defining a compositional method, where each procedure is analyzed independently of its callers, which is based on a generalized form of abduction (inference of explanatory hypotheses), which is called bi-abduction.

Bottom-Up Shape Analysis

This paper presents a logic of iterated separation formula (LISF) which uses the iterated separating conjunct of Reynolds [17] to represent program states and describes sound strong bi-abduction and satisfiability decision procedures for LISF.

Region-based shape analysis with tracked locations

A novel approach to shape analysis is proposed: using local reasoning about individual heap locations instead of global reasoning about entire heap abstractions, which leads to simpler algorithm specifications, and makes it easier to develop context-sensitive, demand-driven, and incremental shape analyses.

Shape Analysis by Predicate Abstraction

The paper presents an approach for shape analysis based on predicate abstraction. Using a predicate base that involves reachability relations between program variables pointing into the heap, we are

Relational inductive shape analysis

An abstract domain that is parameterized both by an abstract domain for pure data properties and by user-supplied specifications of the data structure invariants to check is designed and supports hybrid invariants about shape and data and features a generic mechanism for materializing summaries at the beginning, middle, or end of inductive structures.

Arithmetic Strengthening for Shape Analysis

A lazy method of combining a shape analysis based on separation logic with an arbitrary arithmetic analysis that can automatically prove memory safety of programs whose error-free operation depends on a combination of shape, size, and integer invariants.

Shape analysis with inductive recursion synthesis

A general algorithm based on inductive program synthesis that automatically infers recursive shape invariants, yielding a shape analysis based on separation logic that can be applied to any program.

Parametric shape analysis via 3-valued logic

A parametric framework for shape analysis that can be instantiated in different ways to create different shape-analysis algorithms that provide varying degrees of efficiency and precision is presented.

Approaches to abductive reasoning: an overview

  • G. Paul
  • Philosophy
    Artificial Intelligence Review
  • 2004
The underlying reasoning process is treated independently and divided into two parts, which includes a description of methods for hypotheses generation and methods for finding the best explanations among a set of possible ones.

BI as an assertion language for mutable data structures

A model in which the law of the excluded middleholds is given is given, thus showing that the approach is compatible with classical logic, and a local character enjoyed by specifications in the logic is described, which enables a class of frame axioms, which say what parts of the heap don't change, to be inferred automatically.
...