Commutativity Simplifies Proofs of Parameterized Programs
Azadeh Farzan, Dominik Klumpp, Andreas Podelski
Abstract
Commutativity has proven to be a powerful tool in reasoning about concurrent programs. Recent work has shown that a commutativity-based reduction of a program may admit simpler proofs than the program itself. The framework of lexicographical program reductions was introduced to formalize a broad class of reductions which accommodate sequential (thread-local) reasoning as well as synchronous programs. Approaches based on this framework, however, were fundamentally limited to program models with a fixed/bounded number of threads. In this paper, we show that it is possible to define an effective parametric family of program reductions that can be used to find simple proofs for parameterized programs , i.e., for programs with an unbounded number of threads. We show that reductions are indeed useful for the simplification of proofs for parameterized programs, in a sense that can be made precise: A reduction of a parameterized program may admit a proof which uses fewer or less sophisticated ghost variables. The reduction may therefore be within reach of an automated verification technique, even when the original parameterized program is not. As our first technical contribution, we introduce a notion of reductions for parameterized programs such that the reduction R of a parameterized program P is again a parameterized program (the thread template of R is obtained by source-to-source transformation of the thread template of P ). Consequently, existing techniques for the verification of parameterized programs can be directly applied to R instead of P . Our second technical contribution is that we define an appropriate family of pairwise preference orders which can be effectively used as a parameter to produce different lexicographical reductions. To determine whether this theoretical foundation amounts to a usable solution in practice, we have implemented the approach, based on a recently proposed framework for parameterized program verification. The results of our preliminary experiments on a representative set of examples are encouraging.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext ad9151bb-bdc9-4d1f-84fa-a92e2b611a5aCited by top-tier papers1
Ask how each one uses itBuilds on4
- Inductive sequentialization of asynchronous programsBernhard Kragl, Constantin Enea, Thomas A. Henzinger, Suha Orhun Mutluergil et al.PLDI 2020 · 26 citations
- Sound sequentialization for concurrent program verificationAzadeh Farzan, Dominik Klumpp, Andreas PodelskiPLDI 2022 · 24 citations
- Reductions for safety proofsAzadeh Farzan, Anthony VandikasPOPL 2020 · 21 citations
- The anchor verifier for blocking and non-blocking concurrent softwareCormac Flanagan, Stephen N. FreundOOPSLA 2020 · 7 citations
Related papers
- On the Complexity of Checking Soundness of Natural ReductionsConstantin Enea, Azadeh Farzan, Dominik KlumppCAV 2026
- Counterexample-Guided CommutativityMarcel Ebbinghaus, Dominik Klumpp, Andreas PodelskiCAV 2025
- Stratified Commutativity in Verification Algorithms for Concurrent ProgramsAzadeh Farzan, Dominik Klumpp, Andreas PodelskiPOPL 2023 · 11 citations
- Complete Local Reasoning About Parameterized Programs Over TopologiesRuotong Cheng, Azadeh FarzanCAV 2026
- The Ghosts of Empires: Extracting Modularity from Interleaving-Based ProofsFrank Schüssele, Matthias Zumkeller, Miriam Lagunes-Rochin, Dominik KlumppPOPL 2026
