A Generic Framework for Symbolic Execution: a Coinductive Approach - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Journal of Symbolic Computation Year : 2017

A Generic Framework for Symbolic Execution: a Coinductive Approach

Abstract

We propose a language-independent symbolic execution framework. The approach is parameterised by a language definition, which consists of a signature for the lan-guage's syntax and execution infrastructure, a model interpreting the signature, and rewrite rules for the language's operational semantics. Then, symbolic execution amounts to computing symbolic paths using a derivative operation. We prove that the symbolic execution thus defined has the properties naturally expected from it, meaning that the feasible symbolic executions of a program and the concrete executions of the same program mutually simulate each other. We also show how a coinduction-based extension of symbolic execution can be used for the deductive verification of programs. We show how the proposed symbolic-execution approach, and the coinductive verification technique based on it, can be seamlessly implemented in language definition frameworks based on rewriting such as the K framework. A prototype implementation of our approach has been developed in K. We illustrate it on the symbolic analysis and deductive verification of nontrivial programs.
Fichier principal
Vignette du fichier
JSC-PAS_2013_submission_10.pdf (850.39 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-01238696 , version 1 (06-12-2015)
hal-01238696 , version 2 (06-01-2016)

Identifiers

Cite

Dorel Lucanu, Vlad Rusu, Andrei Arusoaie. A Generic Framework for Symbolic Execution: a Coinductive Approach. Journal of Symbolic Computation, 2017, 80, pp.125-163. ⟨10.1016/j.jsc.2016.07.012⟩. ⟨hal-01238696v2⟩
365 View
447 Download

Altmetric

Share

Gmail Facebook X LinkedIn More