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

05/08/2023
by   Noam Zilberstein, et al.
0

Separation logic's compositionality and local reasoning properties have led to significant advances in scalable static analysis. But program analysis has new challenges–many programs display computational effects (e.g. randomization) and, orthogonally, static analysers must handle incorrectness too. We present Outcome Separation Logic (OSL), a program logic that is sound for both correctness and incorrectness reasoning with varying effects. OSL has a frame rule–just like separation logic–but uses different underlying assumptions that lift restrictions imposed by SL, which precluded reasoning about incorrectness and effects. Building on this foundational theory, we also define symbolic execution algorithms that use bi-abduction to derive specifications for programs with effects. This involves a new tri-abduction procedure to analyze programs whose execution branches due to effects such as nondeterministic or probabilistic choice. This work furthers the compositionality promised by separation logic by opening up the possibility for greater reuse of analysis tools across two dimensions: bug-finding vs verification in programs with varying effects.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/06/2023

Outcome Logic: A Unifying Foundation for Correctness and Incorrectness Reasoning

Program logics for bug-finding (such as the recently introduced Incorrec...
research
08/15/2022

Exact Separation Logic

Over-approximating (OX) program logics, such as separation logic, are us...
research
01/25/2019

A First Order Logic with Frames

We propose a novel logic, called Frame Logic (FL), that extends first-or...
research
06/18/2020

Bi-Abduction for Shapes with Ordered Data

Shape analysis is of great importance for the verification of the correc...
research
04/09/2019

Reasoning about Block-based Cloud Storage Systems

Owing to the massive growth in the storage demands of big data, Cloud St...
research
01/17/2020

Strong-Separation Logic

Most automated verifiers for separation logic target the symbolic-heap f...
research
07/12/2021

Incremental Vulnerability Detection with Insecurity Separation Logic

We present the first compositional, incremental static analysis for dete...

Please sign up or login with your details

Forgot password? Click here to reset