Affiliation:
1. University of Toronto, Canada
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Commutativity Simplifies Proofs of Parameterized Programs;Proceedings of the ACM on Programming Languages;2024-01-05
2. Coarser Equivalences for Causal Concurrency;Proceedings of the ACM on Programming Languages;2024-01-05
3. Automated Software Verification of Hyperliveness;Lecture Notes in Computer Science;2024
4. Commutativity in Automated Verification;2023 38th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS);2023-06-26
5. Stratified Commutativity in Verification Algorithms for Concurrent Programs;Proceedings of the ACM on Programming Languages;2023-01-09