Static Debugging of C Programs: Detection of Pointer Errors in Recursive Data Structures

Ronan Gaugne 1
1 Lande - Logiciel : ANalyse et DEveloppement
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : The incorrect use of pointers is one of the most common source of bugs in imperative languages. In this context, any kind of static code checking capable of detecting potential bugs at compile time is welcome. This paper presents a static debugging technique for the detection of incorrect accesses to memory (dereferences of invalid pointers). The analysed language is a subset of C. The tool is based on a static analyser extended with assertions inserted in the body of the program. Assertions are of two kinds: static assertions automatically verified by the analyser, dynamic assertions treated as assumptions by the analyser. The technique deals with dynamically allocated data structures and it is accurate enough to handle circular structures.
Type de document :
[Research Report] RR-3232, INRIA. 1997
Liste complète des métadonnées
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 12:51:32
Dernière modification le : vendredi 16 novembre 2018 - 01:23:43
Document(s) archivé(s) le : dimanche 4 avril 2010 - 23:47:13



  • HAL Id : inria-00073457, version 1


Ronan Gaugne. Static Debugging of C Programs: Detection of Pointer Errors in Recursive Data Structures. [Research Report] RR-3232, INRIA. 1997. 〈inria-00073457〉



Consultations de la notice


Téléchargements de fichiers