Relational Symbolic Execution

11/22/2017
by   Gian Pietro Farina, et al.
0

Symbolic execution is a classical program analysis technique, widely used for program testing and bug finding. In this work we generalize symbolic execution to support program analysis for relational properties, namely properties about two programs, or about two executions of a single program on different inputs. We design a relational symbolic execution engine, named RelSym, which supports testing and bug finding for relational properties of imperative programs with for-loops and arrays. RelSym also combines relational symbolic execution with program logics. This combination is useful not only to test but also to prove relational properties, by exploiting the finite structure of arrays and for-loops. We demonstrate the flexibility of RelSym by testing and proving relational properties for examples from different domains, such as information flow, program equivalence, sensitivity analysis, and relational cost analysis.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/22/2020

Benchmarking Symbolic Execution Using Constraint Problems – Initial Results

Symbolic execution is a powerful technique for bug finding and program t...
research
05/11/2020

Validation of Abstract Side-Channel Models for Computer Architectures

Observational models make tractable the analysis of information flow pro...
research
05/09/2023

Engineering a Formally Verified Automated Bug Finder

Symbolic execution is a program analysis technique executing programs wi...
research
09/16/2022

Symbolic Execution for Randomized Programs

We propose a symbolic execution method for programs that can draw random...
research
06/14/2017

Failure-Directed Program Trimming (Extended Version)

This paper describes a new program simplification technique called progr...
research
10/20/2019

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

A wide range of interesting program properties are intrinsically relatio...
research
01/09/2020

Killing Stubborn Mutants with Symbolic Execution

We introduce SeMu, a Dynamic Symbolic Execution technique that generates...

Please sign up or login with your details

Forgot password? Click here to reset