English

Automated Software Verification of Hyperliveness

Logic in Computer Science 2024-03-07 v1 Programming Languages

Abstract

Hyperproperties relate multiple executions of a program and are commonly used to specify security and information-flow policies. Most existing work has focused on the verification of kk-safety properties, i.e., properties that state that all kk-tuples of execution traces satisfy a given property. In this paper, we study the automated verification of richer properties that combine universal and existential quantification over executions. Concretely, we consider kl\forall^k\exists^l properties, which state that for all kk executions, there exist ll executions that, together, satisfy a property. This captures important non-kk-safety requirements, including hyperliveness properties such as generalized non-interference, opacity, refinement, and robustness. We design an automated constraint-based algorithm for the verification of kl\forall^k\exists^l properties. Our algorithm leverages a sound-and-complete program logic and a (parameterized) strongest postcondition computation. We implement our algorithm in a tool called ForEx and report on encouraging experimental results.

Keywords

Cite

@article{arxiv.2403.03323,
  title  = {Automated Software Verification of Hyperliveness},
  author = {Raven Beutner},
  journal= {arXiv preprint arXiv:2403.03323},
  year   = {2024}
}

Comments

TACAS 2024

R2 v1 2026-06-28T15:10:23.148Z