RHLE: Relational Reasoning for Existential Program Verification

02/07/2020
by   Robert Dickerson, et al.
0

Reasoning about nondeterministic programs requires a specification of how their nondeterministic choices are allowed to be resolved. When reasoning about safety properties, it is sound to overapproximate the permitted behaviors. Once its safety is established, a program remains safe for every valid implementation of its nondeterministic choices. Overapproximate specifications are less useful when establishing that a nondeterministic program exhibits some desirable behavior, however, as resolving nondeterminism to specific choices is not guaranteed to preserve the execution that resulted in the desirable final state. This paper proposes a flexible way to underapproximate the behaviors of nondeterministic choices so that clients can soundly reason about the existence of desirable behaviors, while at the same time permitting some freedom in how those choices are implemented. We present a pair of program logics, called HLE and RHLE, that use these specifications to reason about existential program behaviors in the single program and relational settings, respectively. We have implemented a verifier based on these program logics that is capable of automatically verifying a wide range of relational properties, including refinement and noninterference. We have evaluated our approach by using this tool to verify a diverse set of programs and properties drawn from the literature.

READ FULL TEXT
research
02/07/2020

RHLE: Automatic Verification of ∀∃-Hyperproperties

Specifications of program behavior typically consider single executions ...
research
06/24/2019

Verifying Relational Properties using Trace Logic

We present a logical framework for the verification of relational proper...
research
07/11/2019

The Next 700 Relational Program Logics

We propose the first framework for defining relational program logics fo...
research
08/15/2022

Exact Separation Logic

Over-approximating (OX) program logics, such as separation logic, are us...
research
07/12/2021

Incremental Vulnerability Detection with Insecurity Separation Logic

We present the first compositional, incremental static analysis for dete...
research
01/19/2022

Code Sophistication: From Code Recommendation to Logic Recommendation

A typical approach to programming is to first code the main execution sc...
research
04/02/2022

Differential Cost Analysis with Simultaneous Potentials and Anti-potentials

We present a novel approach to differential cost analysis that, given a ...

Please sign up or login with your details

Forgot password? Click here to reset