A Generic Approach to Symbolic Execution - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2012

A Generic Approach to Symbolic Execution

Résumé

We propose a language-independent symbolic execution fra\-mework. The approach is parameterised by a language definition, which consists of a signature for the language's syntax and execution infrastructure, a model interpreting the signature, and rewrite rules for the language's operational semantics. Then, symbolic execution amounts to performing a so-called symbolic rewriting, which consists in changing both the model and the manner in which the operational semantics rules are applied. We prove that the symbolic execution thus defined has the properties naturally expected from it. A prototype implementation of our approach was developed in the K Framework. We demonstrate the genericity of our tool by instantiating it on several languages, and show how it can be used for the symbolic execution and model checking of several programs.
Nous proposons un cadre général pour l'exécution symbolique de programmes, qui est indépendant des langages dans lesquels les programmes en question sont écrits. L'approche est paramétrisée par une définition de langaage, qui consiste en une signature pour la syntaxe du langage et pour son infrastructure, un modèle interprétant la signature, et un ensemble de règles de réécriture définissant la sémantique opérationnelle du langage. L'exécution symbolique revient alors à modifier le modèle et la façon d'appliquer les règles sémantiques sur celui-ci. Nous démontrons que l'exécution symbolique possède les propriétés attendues par rapport à l'exécution concrète. Nous avons implémenté notre approche dans un outil prototype dans la K framework. L'aspect générique de l'outil est mis en évidence par son instanciation sur plusieurs langages. Nous montrons enfin comment l'outil permet l'exécution symbolique et le model checking de programmes.
Fichier principal
Vignette du fichier
symbexec-techreport.pdf (1.04 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00766220 , version 1 (17-12-2012)
hal-00766220 , version 2 (20-12-2012)
hal-00766220 , version 3 (21-06-2013)
hal-00766220 , version 4 (15-03-2014)
hal-00766220 , version 5 (21-03-2014)
hal-00766220 , version 6 (06-04-2014)
hal-00766220 , version 7 (01-09-2015)
hal-00766220 , version 8 (03-09-2015)

Identifiants

  • HAL Id : hal-00766220 , version 5

Citer

Andrei Arusoaie, Dorel Lucanu, Vlad Rusu. A Generic Approach to Symbolic Execution. [Research Report] RR-8189, 2012, pp.27. ⟨hal-00766220v5⟩
568 Consultations
1241 Téléchargements

Partager

Gmail Facebook X LinkedIn More