DeepAI AI Chat
Log In Sign Up

Reductions for Safety Proofs (Extended Version)

by   Azadeh Farzan, et al.

Program reductions are used widely to simplify reasoning about the correctness of concurrent and distributed programs. In this paper, we propose a general approach to proof simplification of concurrent programs based on exploring generic classes of reductions. We introduce two classes of sound program reductions, study their theoretical properties, show how they can be effectively used in algorithmic verification, and demonstrate that they are very effective in producing proofs of a diverse class of programs without targeting specific syntactic properties of these programs. The most novel contribution of this paper is the introduction of the concept of context in the definition of program reductions. We demonstrate how commutativity of program steps in some program contexts can be used to define a generic class of sound reductions which can be used to automatically produce proofs for programs whose complete Floyd-Hoare style proofs are theoretically beyond the reach of automated verification technology of today.


Reductions for Automated Hypersafety Verification

We propose an automated verification technique for hypersafety propertie...

Verification of PCP-Related Computational Reductions in Coq

We formally verify several computational reductions concerning the Post ...

A Versatile, Sound Tool for Simplifying Definitions

We present a tool, simplify-defun, that transforms the definition of a g...

Quantifying Program Bias

With the range and sensitivity of algorithmic decisions expanding at a b...

An Axiomatic Approach to Detect Information Leaks in Concurrent Programs

Realizing flow security in a concurrent environment is extremely challen...

General Tasks and Extension-Based Proofs

The concept of extension-based proofs models the idea of a valency argum...

Extracting total Amb programs from proofs

We present a logical system CFP (Concurrent Fixed Point Logic) from whos...