<?xml version="1.0" encoding="US-ASCII"?>
ISO/IEC JTC 1/SC 22/OWGV N0122
Array bounds checking Bibliography
Overview
A list of papers dealing with the implementation of array bounds
checking in languages of interest to the ISO Language Vulnerabilities
Working Group. The algorithms and results described in many older
papers have been improved on and these older papers are not listed
here. Only papers detailing, with experimental results, an actual
implementation of any algorithms they contain are listed. If you
think a paper should be included please email details to the maintainer.
The following paper provides empirical evidence that accessing
objects outside their allocated bounds need not render an application
unusable and argues that there are advantages to not performing
memory bounds access checks in a non-testing non-development environment.
Martin Rinard, Cristian Cadar, and Huu Hai
Nguyen. Exploring the acceptability envelope. In Conference
on Object Oriented Programming Systems Languages and Applications,
pages 21–30, October 2005.
Maintained by Derek Jones. Send suggested additions to derek
(at) knosof.co dot uk.
Changelog
8 Feb 08 Initial release
- Todd M. Austin, Scott E.
Breach, and Gurindar S. Sohi. Efficient detection of all
pointer and array access errors. In Proceedings of the
SIGPLAN'94 Conference on Programming Language Design and Implementation,
1994.
- Chris Bentley, Scott A. Watterson,
and David K. Lowenthal. A comparison of array bounds checking
on superscalar and VLIW architectures. Submitted to the IEEE
Workshop on Workload Characterization, September 2002.
- Rastislav Bodik, Rajiv Gupta, and
Vivek Sarkar. ABCD: Eliminating array bounds checks on demand.
In Proceedings of the ACM SIGPLAN 2000 Conference on Programming
Language Design and Implementation, pages 321–333,
June 2000.
- Wei-Ngan Chin, Siau-Cheng Khoo, and
Dana N. Xu. Deriving pre-conditions for array bound check
elimination. In Proceedings of the Second Symposium on
Programs as Data Objects, pages 2–24, May 2001.
- Lap chung Larn and Tzi cker Chiueh.
Checking array bound violation using segmentation hardware. Technical
Report TR 181, Stony Brook University, April 2005.
- Dinakar Dhurjati and Vikram Adve.
Backwards-compatible array bounds checking for C with very low
overhead. In Proceeding of the 28th International Conference
on Software Engineering, pages 162–171, 2006.
- Björn Franke and Michael O'Boyle.
Compiler transformation of pointers to explicit array accesses
in DSP applications. In Reinhard Wilhelm, editor, Compiler
Construction, 10th International Conference,
pages 69–85. Springer-Verlag, April 2001.
- Michael Hind and Anthony Pioli. Which
pointer analysis should I use? International Symposium
on Software Testing and Analysis (ISSTA 2000), Aug 2000,
2000.
- Michael Hind. Pointer analysis: Haven't
we solved this problem yet? In ACM SIGPLAN-SIGSOFT Workshop
on Program Analysis for Software Tools and Engineering (PASTE'01),
pages 54–61. ACM, June 2001.
- Richard W. M. Jones and Paul
H. J. Kelly. Backwards-compatible bounds checking for arrays
and pointers in C programs. In M. Kamkar and D. Byers,
editors, Third International Workshop on Automated Debugging.
Linkoping University Electronic Press, 1997.
- Priyadarshan Kolte and Michael Wolfe.
Elimination of redundant array subscript range checks. SIGPLAN
Notices, 30(6):270–278, June 1995. Fortran.
- John Lu. Interprocedural Pointer
Analysis for C. PhD thesis, Rice University, April 1998.
- Mikel Luján, John R. Gurd,
T. L. Freeman, and José Miguel. Elimination of Java
array bounds checks in the presence of indirection. Concurrency
abd Computation: Practice and Experience, 17(5-6):489–514,
2005.
- Thi Viet Nga Nguyen, François
Irigoin, Corinne Ancourt, and Ronan Keryell. Efficient intraprocedural
array bound checking. In Second International Workshop
on Automated Program Analysis, Testing and Verification (WAPATV01),
May 2001. Fortran.
- Feng Qian, Laurie Hendren, and Clark
Verbrugge. A comprehensive approach to array bounds check elimination
for Java. Technical Report Sable Technical Report No. 2000-4,
McGill University, November 2000.
- Radu Rugina and Martin C. Rinard.
Symbolic bounds analysis of pointers, array indices, and accessed
memory regions. ACM Transactions on Programming Languages
and Systems, 27(2):185–235, March 2005.
- Arnaud Venet. A scalable nonuniform
pointer analysis for embedded programs. In Proceedings
of the International Static Analysis Symposium, SAS 04,
pages 149–164, August 2004.