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.
Document type :
Reports
Complete list of metadatas

https://hal.inria.fr/inria-00073457
Contributor : Rapport de Recherche Inria <>
Submitted on : Wednesday, May 24, 2006 - 12:51:32 PM
Last modification on : Friday, November 16, 2018 - 1:23:43 AM
Long-term archiving on : Sunday, April 4, 2010 - 11:47:13 PM

Identifiers

  • HAL Id : inria-00073457, version 1

Citation

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

Share

Metrics

Record views

369

Files downloads

816