Relational Test Tables: A Practical Specification Language for Evolution and Security

10/20/2019
by   Alexander Weigl, et al.
0

A wide range of interesting program properties are intrinsically relational, i.e., they relate two or more program traces. Two prominent relational properties are secure information flow and conditional program equivalence. By showing the absence of illegal information flow, confidentiality and integrity properties can be proved. Equivalence proofs allow using an existing (trusted) software release as specification for new revisions. Currently, the verification of relational properties is hardly accessible to practitioners due to the lack of appropriate relational specification languages. In previous work, we introduced the concept of generalised test tables: a table-based specification language for functional (non-relational) properties of reactive systems. In this paper, we present relational test tables – a canonical extension of generalised test tables for the specification of relational properties, which refer to two or more program runs or traces. Regression test tables support asynchronous program runs via stuttering. We show the applicability of relational test tables, using them for the specification and verification of two examples from the domain of automated product systems.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/09/2019

Understanding Counterexamples for Relational Properties with DIbugger

Software verification is a tedious process that involves the analysis of...
research
11/22/2017

Relational Symbolic Execution

Symbolic execution is a classical program analysis technique, widely use...
research
07/27/2023

Auto-Tables: Synthesizing Multi-Step Transformations to Relationalize Tables without Using Examples

Relational tables, where each row corresponds to an entity and each colu...
research
01/21/2018

Self-composition to Prove Relational Properties in Annotated C Program

Deductive verification provides a powerful tool to show functional prope...
research
09/14/2017

Enhancing Predicate Pairing with Abstraction for Relational Verification

Relational verification is a technique that aims at proving properties t...
research
02/21/2022

Certified Verification of Relational Properties

The use of function contracts to specify the behavior of functions often...
research
06/04/2021

Constraint-based Relational Verification

In recent years they have been numerous works that aim to automate relat...

Please sign up or login with your details

Forgot password? Click here to reset