Abstract: We propose an automated verification technique for hypersafety properties, which express sets of valid interrelations between multiple finite runs of a program. The key observation is that constructing a proof for a small representative set of the runs of the product program (i.e. the product of the several copies of the program by itself), called a reduction, is sufficient to formally prove the hypersafety property about the program. We propose an algorithm based on a counterexample-guided refinement loop that simultaneously searches for a reduction and a proof of the correctness for the reduction. We demonstrate that our tool Weaver is very effective in verifying a diverse array of hypersafety properties for a diverse class of input programs.
Recommendations
Cited in
(12)- Constraint-based relational verification
- Software Verification of Hyperproperties Beyond k-Safety
- Property directed self composition
- Decomposing data structure commutativity proofs with \(mn\)-differencing
- A pragmatic approach to stateful partial order reduction
- Alignment complete relational Hoare logics for some and all
- Choose your proofs: commutativity and symmetry for smarter reasoning
- Verification of concurrent programs using Petri net unfoldings
- Temporal hyperproperties for population protocols
- Symbolic execution for refuting hyperproperties
- Commutativity for concurrent program termination proofs
- Predicate abstraction for hyperliveness verification
This page was built for publication: Automated hypersafety verification
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q6194574)