Software Verification of Hyperproperties Beyond k-Safety

06/07/2022
by   Raven Beutner, et al.
0

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 k-safety properties, i.e., properties that stipulate the absence of a bad interaction between any k traces. In this paper, we present an automated method for the verification of ∀^k∃^l-safety properties in infinite-state systems. A ∀^k∃^l-safety property stipulates that for any k traces, there exist l traces such that the resulting k+l traces do not interact badly. This combination of universal and existential quantification enables us to express many properties beyond k-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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/26/2023

AutoHyper: Explicit-State Model Checking for HyperLTL

HyperLTL is a temporal logic that can express hyperproperties, i.e., pro...
research
06/02/2021

Temporal Prophecy for Proving Temporal Properties of Infinite-State Systems

Various verification techniques for temporal properties transform tempor...
research
10/05/2011

Generalization Strategies for the Verification of Infinite State Systems

We present a method for the automated verification of temporal propertie...
research
07/23/2021

Type-based Enforcement of Infinitary Trace Properties for Java

A common approach to improve software quality is to use programming guid...
research
01/26/2023

Quantitative Safety and Liveness

Safety and liveness are elementary concepts of computation, and the foun...
research
09/06/2021

Finding Counterexamples of Temporal Logic properties in Software Implementations via Greybox Fuzzing

Software model checking is a verification technique which is widely used...
research
04/15/2019

ct-fuzz: Fuzzing for Timing Leaks

Testing-based methodologies like fuzzing are able to analyze complex sof...

Please sign up or login with your details

Forgot password? Click here to reset