| R. Jones, P. Kelly, "Bounds Checking for C," http://www-ala.doc.ic.ac.uk/phjk/ BoundsChecking.html. |
....the buffer overrun problem because they focus too narrowly on the special case of loop optimization. ARRAY BOUNDS CHECKING. One way to avoid buffer overruns is to use runtime array bounds checks. There are several implementations of array bounds checking for C, including SCC [3] gcc extensions [35], Purify [51] and BoundsChecker [46] However, many of these tools impose a large performance overhead (instrumented programs are typically 2 3 M slower than the original versions [3, 35, 8, 22] As a result, the tools are usually used only for debugging, not for production systems. To reduce ....
....checks. There are several implementations of array bounds checking for C, including SCC [3] gcc extensions [35] Purify [51] and BoundsChecker [46] However, many of these tools impose a large performance overhead (instrumented programs are typically 2 3 M slower than the original versions [3, 35, 8, 22]) As a result, the tools are usually used only for debugging, not for production systems. To reduce the high cost of runtime bounds checking, several researchers have studied optimization techniques for eliminating redundant checks [22, 39, 57] However, they typically focus on moving bounds ....
R. Jones, P. Kelly, "Bounds Checking for C," http://www-ala.doc.ic.ac.uk/phjk/ BoundsChecking.html.
....the buffer overrun problem because they focus too narrowly on the special case of loop optimization. ARRAY BOUNDS CHECKING. One way to avoid buffer overruns is to use runtime array bounds checks. There are several implementations of array bounds checking for C, including SCC [3] gcc extensions [35], Purify [51] and BoundsChecker [46] However, many of these tools impose a large performance overhead (instrumented programs are typically 2 3 slower than the original versions [3, 35, 8, 22] As a result, the tools are usually used only for debugging, not for production systems. To reduce ....
....checks. There are several implementations of array bounds checking for C, including SCC [3] gcc extensions [35] Purify [51] and BoundsChecker [46] However, many of these tools impose a large performance overhead (instrumented programs are typically 2 3 slower than the original versions [3, 35, 8, 22]) As a result, the tools are usually used only for debugging, not for production systems. To reduce the high cost of runtime bounds checking, several researchers have studied optimization techniques for eliminating redundant checks [22, 39, 57] However, they typically focus on moving bounds ....
R. Jones, P. Kelly, "Bounds Checking for C," http://www-ala.doc.ic.ac.uk/phjk/ BoundsChecking.html.
....However, these integrity checks were non portable, hard coded in assembler, and embedded in libc. This method protects against stack smashing attacks inside libc, but is not as general as StackGuard. 6. 3 Array Bounds Checking for C Richard Jones and Paul Kelly have developed a gcc patch [12] that does full array bounds checking for C programs. Programs compiled with this patch are compatible with ordinary gcc modules, because they have not changed the representation of pointers. Rather, they derive a base pointer from each pointer expression, and check the attributes of that ....
Richard Jones and Paul Kelly. Bounds Checking for C. http://www-ala.doc.ic.ac.uk/phjk/ BoundsChecking.html, July 1995.
....pointer variable creation. Hence they are not performance competitive with conservative collectors, though the expense may be unavoidable in hard real time environments [Edelson91] There has been a substantial amount of work on safer C implementations (cf. HastingsJoyce92] AustinBreachSohi94] [JonesKelly95]. Most of these have concentrated on detecting erroneous memory accesses, not erroneous pointer or subscript arithmetic. Though the two are related, the distinction is important. A common bug (sometimes referred to incorrectly as a technique ) in C code is to represent an array as a pointer to ....
....our checked code uses the same data structure layout as unchecked code. Hence it is possible, indeed trivial, to use checked code with third party object code only libraries, or with faster, unchecked modules. Our checked code is very similar in spirit to recent independent work by Jones and Kelly [JonesKelly95]. The major differences are that we do not check references to statically allocated and stack memory, we use the garbage collector s data structures to determine whether two pointers reference the same object, and we take a different approach to inserting the checking code. The ....
Jones, Richard, and Paul Kelly, "Bounds Checking for C", http://wwwala. doc.ic.ac.uk/~phjk/BoundsChecking.html.
No context found.
R. Jones, P. Kelly, "Bounds checking for C," http://wwwala. doc.ic.ac.uk/phjk/BoundsChecking.html, July 1995.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC