Abstract Regular Tree Model Checking of Complex Dynamic Data Structures - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2006

Abstract Regular Tree Model Checking of Complex Dynamic Data Structures

Résumé

We consider the verification of non-recursive C programs manipulating dynamic linked data structures with possibly several next pointer selectors and with finite domain non-pointer data. We aim at checking basic memory consistency properties (no null pointer assignments, etc.) and shape invariants whose violation can be expressed in an existential fragment of a first order logic over graphs. We formalise this fragment as a logic for specifying bad memory patterns whose formulae may be translated to testers written in C that can be attached to the program, thus reducing the verification problem considered to checking reachability of an error control line. We encode configurations of programs, which are essentially shape graphs, in an original way as extended tree automata and we represent program statements by tree transducers. Then, we use the abstract regular tree model checking framework for a fully automated verification. The method has been implemented and successfully applied on several case studies.
Fichier principal
Vignette du fichier
BHRV-sas06.pdf (142.06 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00150139 , version 1 (29-05-2007)

Identifiants

  • HAL Id : hal-00150139 , version 1

Citer

Ahmed Bouajjani, Peter Habermehl, Adam Rogalewicz, Tomas Vojnar. Abstract Regular Tree Model Checking of Complex Dynamic Data Structures. Static Analysis Symposium, 2006, Seoul, South Korea. pp.52-70. ⟨hal-00150139⟩
52 Consultations
257 Téléchargements

Partager

Gmail Facebook X LinkedIn More