Products of Recursive Programs for Hypersafety Verification
Ruotong Cheng, Azadeh Farzan
Abstract
We study the problem of automated hypersafety verification of infinite-state recursive programs. We propose an infinite class of product programs, specifically designed with recursion in mind, that reduce the hypersafety verification of a recursive program to standard safety verification. For this, we combine insights from language theory and concurrency theory to propose an algorithmic solution for constructing an infinite class of recursive product programs. One key insight is that, using the simple theory of visibly pushdown languages, one can maintain the recursive structure of syntactic program alignments which is vital to constructing a new product program that can be viewed as a classic recursive program -that is, one that can be executed on a single stack. Another key insight is that techniques from concurrency theory can be generalized to help define product programs based on the view that the parallel composition of individual recursive programs includes all possible alignments from which a sound set of alignments that faithfully preserve the satisfaction of the hypersafety property can be selected. On the practical side, we formulate a family of parametric canonical product constructions that are intuitive to programmers and can be used as building blocks to specify recursive product programs for the purpose of relational and hypersafety verification, with the idea that the right product program can be verified automatically using existing techniques. We demonstrate the effectiveness of these techniques through an implementation and highly promising experimental results. CCS Concepts: • Software and its engineering → Software verification; • Theory of computation → Logic and verification; Concurrency; Grammars and context-free languages.
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 ba6a9831-a946-4f55-a859-cc9690dfae06Builds on8
- Constraint-Based Relational VerificationHiroshi Unno, Tachio Terauchi, Eric KoskinenCAV 2021 · 47 citations
- Software Verification of Hyperproperties Beyond k-SafetyRaven Beutner, Bernd FinkbeinerCAV 2022 · 44 citations
- Asynchronous Extensions of HyperLTLLaura Bozzelli, Adriano Peron, César SánchezLICS 2021 · 36 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
Related papers
- Deductive verification with ghost monitorsMartin Clochard, Claude Marché, Andrei PaskevichPOPL 2020 · 12 citations
- Complete Local Reasoning About Parameterized Programs Over TopologiesRuotong Cheng, Azadeh FarzanCAV 2026
- Bounded Treewidth, Multiple Context-Free Grammars, and Downward ClosuresC. Aiswarya, Pascal Baumann, Prakash Saivasan, Lia Schütze et al.POPL 2026 · 1 citation
- Proving hypersafety compositionallyEmanuele D'Osualdo, Azadeh Farzan, Derek DreyerOOPSLA 2022 · 16 citations
- Deciding Asynchronous Hyperproperties for Recursive ProgramsJens Oliver Gutsfeld, Markus Müller-Olm, Christoph OhremPOPL 2024 · 5 citations
