login

An Inference Algorithm for the Static Verification of Pointer Manipulation

Published 1 January 1996Open access
Pascal Fradet, Ronan Gaugne, Daniel Le Métayer
Citations4
View PDF

TL;DR

A static analysis for the detection of incorrect accesses to memory (dereferences of invalid pointers) using an axiomatisation of alias and connectivity properties which is shown to be sound with respect to the natural semantics of the language.

Abstract

The incorrect use of pointers is one of the most common source of bugs. As a consequence, any kind of static code checking capable of detecting potential bugs at compile time is welcome. This paper presents a static analysis for the detection of incorrect accesses to memory (dereferences of invalid pointers). A pointer may be invalid because it has not been initialised or because it refers to a memory location which has been deallocated. The analyser is derived from an axiomatisation of alias and connectivity properties which is shown to be sound with respect to the natural semantics of the language. It deals with dynamically allocated data structures and it is accurate enough to handle circular structures.

Keywords

Computer Science