Abstract
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.
Author supplied keywords
Cite
CITATION STYLE
Farzan, A., & Vandikas, A. (2020). Reductions for safety proofs. Proceedings of the ACM on Programming Languages, 4(POPL). https://doi.org/10.1145/3371081
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.