Property Directed Self Composition

05/19/2019
by   Ron Shemer, et al.
0

We address the problem of verifying k-safety properties: properties that refer to k-interacting executions of a program. A prominent way to verify k-safety properties is by self composition. In this approach, the problem of checking k-safety over the original program is reduced to checking an "ordinary" safety property over a program that executes k copies of the original program in some order. The way in which the copies are composed determines how complicated it is to verify the composed program. We view this composition as provided by a semantic self composition function that maps each state of the composed program to the copies that make a move. Since the "quality" of a self composition function is measured by the ability to verify the safety of the composed program, we formulate the problem of inferring a self composition function together with the inductive invariant needed to verify safety of the composed program, where both are restricted to a given language. We develop a property-directed inference algorithm that, given a set of predicates, infers composition-invariant pairs expressed by Boolean combinations of the given predicates, or determines that no such pair exists. We implemented our algorithm and demonstrate that it is able to find self compositions that are beyond reach of existing tools.

READ FULL TEXT
research
01/21/2018

Self-composition to Prove Relational Properties in Annotated C Program

Deductive verification provides a powerful tool to show functional prope...
research
02/07/2020

RHLE: Automatic Verification of ∀∃-Hyperproperties

Specifications of program behavior typically consider single executions ...
research
06/14/2017

Failure-Directed Program Trimming (Extended Version)

This paper describes a new program simplification technique called progr...
research
02/28/2021

"ReLIC: Reduced Logic Inference for Composition" for Quantifier Elimination based Compositional Reasoning and Verification

The paper presents our research on quantifier elimination (QE) for compo...
research
06/28/2018

fc: A Package for Generalized Function Composition Using Standard Evaluation

In this article, we present a new R package fc that provides a streamlin...
research
01/21/2018

Static and Dynamic Verification of Relational Properties on Self-Composed C Code

Function contracts are a well-established way of formally specifying the...
research
05/31/2021

Composing Networks of Automated Market Makers

Automated market makers (AMMs) are automata that trade electronic assets...

Please sign up or login with your details

Forgot password? Click here to reset