A Generic Framework for Symbolic Execution: Theory and Applications - Inria - Institut national de recherche en sciences et technologies du numérique
Article Dans Une Revue Journal of Symbolic Computation Année : 2016

A Generic Framework for Symbolic Execution: Theory and Applications

Résumé

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.pdf (846.08 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Identifiants

  • HAL Id : hal-01238696 , version 1

Citer

Andrei Arusoaie, Dorel Lucanu, Vlad Rusu. A Generic Framework for Symbolic Execution: Theory and Applications. Journal of Symbolic Computation, 2016. ⟨hal-01238696v1⟩
454 Consultations
468 Téléchargements

Partager

More