Static Detection of Dynamic Memory Errors

12 years 3 months ago
Static Detection of Dynamic Memory Errors
Many important classes of bugs result from invalid assumptions about the results of functions and the values of parameters and global variables. Using traditional methods, these bugs cannot be detected efficiently at compile-time, since detailed cross-procedural analyses would be required to determine the relevant assumptions. In this work, we introduce annotations to make certain assumptions explicit at interface points. An efficient static checking tool that exploits these annotations can detect a broad class of errors including misuses of null pointers, uses of dead storage, memory leaks, and dangerous aliasing. This technique has been used successfully to fix memory management problems in a large program.
David Evans
Added 08 Aug 2010
Updated 08 Aug 2010
Type Conference
Year 1996
Where PLDI
Authors David Evans
Comments (0)