MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Static detection of pointer errors: an axiomatisation and a checking algorithm (1996) [30 citations — 4 self]

Download:
Download as a PDF
by Pascal Fradet, Ronan Gaugne, Daniel Le Metayer
http://www.irisa.fr/lande/fradet/PDFs/ESOP96.pdf
Add To MetaCart

Abstract:

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 beinvalid 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. 1

Citations

450 Systematic design of program analysis frameworks – Cousot, Cousot - 1979
342 Context-sensitive interprocedural points-to analysis in the presence of function pointers – Emami, Ghiya, et al.
192 Interprocedural May-Alias Analysis for Pointers: Beyond k-Limiting – Deutsch - 1994
140 Parallelizing Programs with Recursive Data Structures – Hendren - 1990
66 Parametric program slicing – Field, Ramalingam, et al. - 1995
62 A storeless model of aliasing and its abstractions using firrite representations of right-regular equiwdence relations – Deutsch - 1992
56 Information-flow and data-flow analysis of while-programs – Bergeretti, Carre - 1985
42 Extending Typestate Checking Using Conditional Liveness Analysis – Strom, Yellin - 1993
36 Data flow analysis in software reliability – Fosdick, Osterweil - 1976
35 Compile-time detection of information flow in sequential programs – Banǎtre, Bryce, et al. - 1994
28 Deriving algorithms from type inference systems: Application to strictness analysis – Hankin, Métayer - 1994
28 Verification of array, record, and pointer operations in Pascal – Luckham, Suzuki - 1979
23 A logic-based approach to data flow analysis problems – Sagiv, Francez, et al. - 1990
21 An extended form of must alias analysis for dynamic allocation – Altucher, Landi - 1995
21 Using specifications to check source code – Evans - 1994
20 Aspect: An economical bug-detector – Jackson - 1991
20 A general axiom of assignment, assignment and linked data stuctures, a proof of the Schorr-Waite algorithm – Morris - 1982
14 The logic of aliasing – Cartwright, Oppen - 1981
10 Calculating with pointers – Bijlsma - 1989
8 An inference algorithm for the static verification of pointer manipulation – Fradet, Gaugne, et al. - 1996
7 a C program checker, Computer Science technical report – Johnson, Lint - 1978
6 Compile-time detection of information ow in sequential programs – Bantre, Bryce, et al. - 1994
5 Information- ow and data- ow analysis of while programs – Bergeretti, Carre - 1985
5 Data ow analysis in software reliability – Fosdick, Osterweil - 1976
4 Program analysis and specialisation for the C programming language – Andersen - 1994
4 A storeless model of aliasing and its abstraction using nite representations of right-regular equivalence relations – Deutsch - 1992
2 Using speci cations to check source code, inTechnical Report, MIT Lab for computer science – Evans - 1994
2 Veri cation of array, record, and pointer operations in Pascal, in – Luckham, Suzuki - 1979
2 Alogic-based approach to data ow analysis problems – Sagiv, Francez, et al. - 1990
1 An inference algorithm for the static veri cation of pointer manipulation, IRISA Research Report 980 – Fradet, Gaugne, et al. - 1996