Sciweavers

AADEBUG
1997
Springer

Backwards-Compatible Bounds Checking for Arrays and Pointers in C Programs

14 years 3 months ago
Backwards-Compatible Bounds Checking for Arrays and Pointers in C Programs
This paper presents a new approach to enforcing array bounds and pointer checking in the C language. Checking is rigorous in the sense that the result of pointer arithmetic must refer to the same object as the original pointer (this object is sometimes called the 'intended referent'). The novel aspect of this work is that checked code can inter-operate without restriction with unchecked code, without interface problems, with some e ective checking, and without false alarms. This \backwardscompatibility"property allowsthe overheads of checking to be con ned to suspect modules, and also facilitates the use of libraries for which source code is not available. The paper describes the scheme, its prototype implementation (as an extension to the GNU C compiler), presents experimental results to evaluate its e ectiveness, and discusses performance issues and the e ectiveness of some simple optimisations.
Richard W. M. Jones, Paul H. J. Kelly
Added 07 Aug 2010
Updated 07 Aug 2010
Type Conference
Year 1997
Where AADEBUG
Authors Richard W. M. Jones, Paul H. J. Kelly
Comments (0)