Software Verification of Hyperproperties Beyond k-Safety
Abstract
Temporal hyperproperties are system properties that relate multiple execution traces. For (finite-state) hardware, temporal hyperproperties are supported by model checking algorithms, and tools for general temporal logics like HyperLTL exist. For (infinite-state) software, the analysis of temporal hyperproperties has, so far, been limited to -safety properties, i.e., properties that stipulate the absence of a bad interaction between any traces. In this paper, we present an automated method for the verification of -safety properties in infinite-state systems. A -safety property stipulates that for any traces, there exist traces such that the resulting traces do not interact badly. This combination of universal and existential quantification enables us to express many properties beyond -safety, including, for example, generalized non-interference or program refinement. Our method is based on a strategy-based instantiation of existential trace quantification combined with a program reduction, both in the context of a fixed predicate abstraction. Notably, our framework allows for mutual dependence of strategy and reduction.
Cite
@article{arxiv.2206.03381,
title = {Software Verification of Hyperproperties Beyond k-Safety},
author = {Raven Beutner and Bernd Finkbeiner},
journal= {arXiv preprint arXiv:2206.03381},
year = {2022}
}
Comments
CAV 2022