Checking Cleanness in Linked Lists

作者: Michael Rodeh , Mooly Sagiv , Nurit Dor

DOI: 10.1007/978-3-540-45099-3_7

关键词: AlgorithmLinked listProgram analysisFalse alarmMemory leakPointer (computer programming)Formal verificationComputer scienceNull (SQL)Memory errors

摘要: A new algorithm is presented that automatically uncovers memory errors such as NULL pointers dereference and leaks in C programs. The conservative, i.e., it can never miss an error but may report “false alarms”. When applied to several intricate programs manipulating singly linked lists, the yields more accurate results, does not any false alarm usually runs even faster consumes less space than a precise algorithm.

参考文章(24)
Flemming Nielson, Chris Hankin, Hanne R. Nielson, Principles of program analysis ,(1999)
Pascal Fradet, Ronan Gaugne, Daniel Le Métayer, Static detection of pointer errors: An axiomatisation and a checking algorithm Programming Languages and Systems — ESOP '96. pp. 125- 140 ,(1996) , 10.1007/3-540-61055-3_33
Georg Sander, Graph Layout through the VCG Tool graph drawing. pp. 194- 205 ,(1994) , 10.1007/3-540-58950-3_371
Todd M. Austin, Scott E. Breach, Gurindar S. Sohi, Efficient detection of all pointer and array access errors programming language design and implementation. ,vol. 29, pp. 290- 301 ,(1994) , 10.1145/178243.178446
John Field, G. Ramalingam, Frank Tip, Parametric program slicing Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '95. pp. 379- 392 ,(1995) , 10.1145/199448.199534
David Chase, Mark Wegman, F. Ken Zadeck, Analysis of pointers and structures ACM SIGPLAN Notices. ,vol. 39, pp. 343- 359 ,(2004) , 10.1145/989393.989429
Jan Stransky, A lattice for abstract interpretation of dynamic (LISP-like) structures Information & Computation. ,vol. 101, pp. 70- 102 ,(1992) , 10.1016/0890-5401(92)90076-R
Rakesh Ghiya, Laurie J. Hendren, Putting pointer analysis to work symposium on principles of programming languages. pp. 121- 133 ,(1998) , 10.1145/268946.268957
David Evans, Static detection of dynamic memory errors Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation - PLDI '96. ,vol. 31, pp. 44- 53 ,(1996) , 10.1145/231379.231389
Marc Shapiro, Susan Horwitz, Fast and accurate flow-insensitive points-to analysis symposium on principles of programming languages. pp. 1- 14 ,(1997) , 10.1145/263699.263703