| H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software--Practice and Experience, 27(27):87--110, 1997. |
....[1] can detect all error caused by early deallocation of memory regions. However, their paper does not mention about cast operations and, as far as we know, supporting unlimited cast operations with Safe C seems non trivial, for the same reason as that of Jones and Kelly s work. Patil and Fischer [14] proposed an interesting method to detect memory misuses. Their work perform boundary checking in a separate guard process and use program slice techniques to reduce runtime overhead. However, it has some limitation on the source and destination types of cast operations. Another category works on ....
Harish Patil and Charles Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software---Practice and Experience, 27(1):87--110, January 1997.
.... existing C binaries to detect memory errors and leaks by keeping two bits of storage for each byte in the heap (unallocated, uninitialized and initialized) However, Purify does not catch pointer arithmetic that yields a pointer to a separate valid region [13] a property that Fischer and Patil [20] show to be important. Purify tends to slow programs down by a factor of 10 or more, much more than CCured. Of course, Purify does not require source code, so may be applicable in more situations. Purify did nd the uninitialized variable in go, but none of the other bugs, because the accesses in ....
H. Patil and C. N. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software| Practice and Experience, 27(1):87-110, Jan. 1997.
....what they allow programmers to express; the static type system is weaker; and the run time system provides little in the way of protection from errors caused by misuse of casts, bad pointer dereferences, or array out of bounds errors. Programmers can use Purify[1] Safe C[2] and shadow processing[3] to help detect bad memory accesses, but those tools provide no help with the many additional kinds of errors that can be introduced into C and C programs due to their weak type systems. This paper describes the design and implementation of a tool for C programs that performs run time checks ....
....agent to obtain control of the program) 10, 11] Our tool also detects such attacks, which fall under the general category of type errors detected by our tool. A technique to enable e#cient checking of array access and pointer dereference errors in a multiprocessor environment was presented in [3]. They achieve lowcost checking by creating a version of the program that contains only computations that a#ect pointer and array accesses, instrumenting that version, and running it in parallel with the original program. We may be able to use this technique to improve our tool s performance. ....
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software--Practice and Experience, 27(27):87--110, 1997.
....what they allow programmers to express; the static type system is weaker; and the run time system provides little in the way of protection from errors caused by misuse of casts, bad pointer dereferences, or array out of bounds errors. Programmers can use Purify[9] Safe C[2] and shadow processing[14] to help detect bad memory accesses, but those tools provide no help with the many additional kinds of errors that can be introduced into C and C programs due to their weak type systems. This paper describes the design and implementation of a tool for C programs that provides run time checks ....
....agent to obtain control of the program) 10] 19] Our tool also detects such attacks, which fall under the general category of type errors detected by our tool. A technique to enable e#cient checking of arrayaccess and pointer dereference errors in a multiprocessor environment was presented in [14]. They achieve low cost checking by creating a version of the program that contains only computations that a#ect pointer and array accesses, instrumenting that version, and running it in parallel with the original program. We may be able to use this technique to improve our tool s performance. ....
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software--Practice and Experience, 27(27):87--110, 1997.
....of pointers is unchanged. This is crucial, since it means that inter operation with non checked modules and libraries still works (and much checking is still possible) Compared with interpretative schemes like Sabre C[14] we offer the potential for much higher performance. Patil and Fischer [10, 11] present a sophisticated technique with very low overheads, using a second CPU to perform checking in parallel. Unfortunately, their scheme requires function interfaces to be changed to carry information about pointers, so also has the inter operation problem. Another approach is exemplified by ....
....Accesses to unallocated or uninitialised locations are reported as errors. Purify catches many important bugs, and is fairly efficient. However, Purify does not catch abuse of pointer arithmetic which yields a pointer to a valid region which is not the intended referent. Fischer and Patil [10, 11] provide evidence for the importance of this refinement. Our goals in this paper are to describe a method of bounds checking C programs that fulfills the following criteria: ffl Backwards compatibility the ability to mix checked code and unchecked libraries (for which the source may be ....
[Article contains additional citation context not shown here]
Harish Patil and Charles Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice and Experience, 1996.
....of pointers is unchanged. This is crucial, since it means that inter operation with non checked modules and libraries still works (and much checking is still possible) Compared with interpretative schemes like Sabre C[14] we offer the potential for much higher performance. Patil and Fischer [10, 11] present a sophisticated technique with very low overheads, using a second CPU to perform checking in parallel. Unfortunately, their scheme requires function interfaces to be changed to carry information about pointers, so also has the inter operation problem. Another approach is exemplified by ....
....Accesses to unallocated or uninitialised locations are reported as errors. Purify catches many important bugs, and is fairly efficient. However, Purify does not catch abuse of pointer arithmetic which yields a pointer to a valid region which is not the intended referent. Fischer and Patil [10, 11] provide evidence for the importance of this refinement. Our goals in this paper are to describe a method of bounds checking C programs that fulfills the following criteria: ffl Backwards compatibility the ability to mix checked code and unchecked libraries (for which the source may be ....
[Article contains additional citation context not shown here]
Harish Patil and Charles Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. In 2nd International Workshop on Automated and Algorithmic Debugging (AADEBUG '95), St Malo, France, May 1995. 9
....simple, lays the foundation for a generic and powerful monitoring environment. 1 Introduction A program execution monitor is a system that oversees the dynamic runtime behavior of a program. Monitors are generally implemented by ad hoc instrumentations of source [7, 13, 17] medium or low level [14] code. Those instrumentations are not technically very difficult, but they always require a significant programming effort. Low (assembler) or medium (abstract machine) level instrumentations require an in depth knowledge of the system to instrument. They typically can be done by the language ....
....semantics of the initial program is preserved. Their approach requires a continuation semantics specification of the language to monitor, which is not easy to get in Mercury because of its complex execution model. Moreover, their approach only works for interpreted languages. Patil and Fisher [14] tackles the problems of performance of monitoring by delegating the monitoring activities to a second processor (they call it a shadow processor) Their approach is very efficient; the monitored is nearly not slowed down. However, the set of monitoring commands they propose cannot be extended as ....
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice and Experience, 27(1):87--110, 1997.
....to a precise program slice of references to heap allocated objects. Thus computations necessary to perform reference counting are removed from the mutator and isolated in an independent assist thread which runs behind the mutator. This approach is inspired by Patil and Fischer s shadow processing [19, 20, 18] which tried to speed up memory access checking by moving the instrumentation code conventionally inserted in the main application to a second shadow process which executes concurrently on an independent processor. 2 Related Work Reference counting in practice: One of the most well known ....
....have proposed automatically generating a mark and sweep collector for a specific mutator application. Their customizations include type specific allocation and marking routines to speed up the collection process, exploiting the type system of Eiffel. Concurrent program slices: Patil and Fischer [19, 20, 18] sliced out memory access computation and executed it as a shadow runbehind process on a dual CPU multiprocessor in order to implement a low overhead memory access checker (similar to the Purify tool) They were able to demonstrate relatively low overheads for this shadow processing scheme ....
Harish G. Patil and Charles N. Fischer. Low-cost, Concurrent Checking of Pointer and Array Accesses in C programs. Software: Practice and Experience, 27(1):87 -- 110, December 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software--Practice and Experience, 27(27):87--110, 1997.
No context found.
H. Patil and C. N. Fischer. Low-cost, concurrent checking of pointer and array accesses in c programs. Software - Practice and Experience, 27(1):87--110, 1997.
No context found.
H. G. Patil and C. N. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software-Practice and Experience, 27(12):87--110, Dec. 1997.
No context found.
H. Patil and C. N. Fischer. Low-cost, concurrent checking of pointer and array accesses in c programs. Software - Practice and Experience, 27(1):87--110, 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software--Practice & Experience, 27(1), 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice & Experience, January 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice & Experience, January 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice & Experience, January 1997.
No context found.
Harish Patil and Charles N. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software---Practice and Experience, 27(1):87--110, January 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice and Experience, 27(1):87110, 1997.
No context found.
H. Patil and C. N. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software--- Practice and Experience, 27(1):87--110, Jan. 1997.
No context found.
H. Patil and C. N. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software---Practice and Experience, 27(1):87--110, Jan. 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice & Experience, January 1997.
No context found.
H. Patil and C. N. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software---Practice and Experience, 27(1):87--110, Jan. 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software-- Practice and Experience, 27(1):87--110, Jan. 1997.
No context found.
H. Patil and C. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software--Practice and Experience, 27(27):87--110, 1997.
No context found.
Harish G. Patil and Charles N. Fischer. Low-cost, concurrent checking of pointer and array accesses in C programs. Software Practice and Experience, 27(12):87--110, December 1997.
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