Bi-Abduction for Shapes with Ordered Data

06/18/2020
by   Christopher Curry, et al.
0

Shape analysis is of great importance for the verification of the correctness and memory-safety of heap-manipulating programs, yet such analyses have been shown to be highly difficult problems. The integration of separation logic into shape analyses has improved the effectiveness of the techniques, but the most significant advancement in this area is bi-abductive inference. Enabled by separation logic, bi-abduction - a combination of abductive inference and frame inference - is the key enabler for compositional reasoning, helping to scale up verification significantly. Indeed, the success of bi-abduction has led to the development of Infer, the tool used daily to verify Facebook's codebase of millions of lines of code. However, this success currently stays largely within the shape domain. To extend this impact towards the combination of shape and arithmetic domains, in this work, we present a novel one-stage bi-abductive procedure for a combination of data structures and ordering values. The procedure is designed in the spirit of the Unfold-and-Match paradigm where the inference is utilized to derive any mismatched portion. We have also implemented a prototype solver, based on the Cyclist library, and demonstrate its capabilities over a range of benchmarks from the SL-COMP competition. The experimental results show that our proposal shows promise for the specification inference in an automated verification of heap-manipulating programs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/08/2023

Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational Effects

Separation logic's compositionality and local reasoning properties have ...
research
01/17/2020

Strong-Separation Logic

Most automated verifiers for separation logic target the symbolic-heap f...
research
05/05/2022

Low-Level Bi-Abduction

The paper proposes a new static analysis designed to handle open program...
research
08/16/2019

Modular Verification of Heap Reachability Properties in Separation Logic

The correctness of many algorithms and data structures depends on reacha...
research
10/02/2022

An Efficient Cyclic Entailment Procedure in a Fragment of Separation Logic

An efficient entailment proof system is essential to compositional verif...
research
07/12/2023

Sound One-Phase Shape Analysis with Biabduction

Biabduction-based shape analysis is a static analysis technique that can...
research
08/06/2021

Transformation-Enabled Precondition Inference

Precondition inference is a non-trivial problem with important applicati...

Please sign up or login with your details

Forgot password? Click here to reset