Patent
1994-02-04
1996-12-31
Kriess, Kevin A.
G06F 1108
Patent
active
055903290
ABSTRACT:
Disclosed is a software generation system (SGS) based memory error detection system which may be utilized to detect various memory access errors, such as array dimension violations, dereferencing of invalid pointers, accessing freed memory, reading uninitialized memory, and automated detection of memory leaks. Error checking commands and additional information are inserted into a parse tree associated with a source code file being tested at read-time which serve to initiate and facilitate run-time error detection processes. Wrapper functions may be provided for initiating error checking processes for associated library functions. A pointer check table maintains pointer information, including valid range information, for each pointer that is utilized to monitor the use and modification of the respective pointers. A memory allocation structure records allocation information, including a chain list of all pointers that point to the memory region and an initialization status for each byte in the memory region, for each region of memory. The chain list is utilized to monitor the deallocation of the associated memory region, as well as to detect when there is a memory leak. The initialization status is used to ensure that a region of uninitialized memory is not accessed. A data flow analysis algorithm minimizes the number of pointer checks that have to be performed and allows certain read-time errors to be detected.
REFERENCES:
patent: 5107418 (1992-04-01), Cramer et al.
patent: 5193180 (1993-03-01), Hastings
patent: 5313387 (1994-05-01), McKeeman et al.
patent: 5335344 (1994-08-01), Hastings
patent: 5355469 (1994-10-01), Sparks et al.
patent: 5361351 (1994-11-01), Lenkov et al.
patent: 5432936 (1995-07-01), Gray et al.
Kanfer et al., "Saber-C An Interpreter-based Programming Environment for the C Language", Jun. 20-24, 1988, pp. 161-171.
Landi et al., "Aliasing with and without pointers: A Problem Taxonomy" Sep. 25, 1990, pp. 1-55.
Landi et al., "A Safe Approximate Algorithm for Interprocedural Pointer Aliasing", Jul., 1992, pp. 235-248.
Sulzman, "Saber-C ; A Sharp Programming Tool", Feb. 1990, pp. 105-109.
Steffen, "Adding Run-Time Checking to the Portable C Compiler", Apr. 1992, pp. 305-316.
Hipkins, Steven, The case of the Troublesome Switch (Case Study of Debugging application Software), Oct. 1, 1992, p. 39.
C Users Journal, Nu-Mega Announces Bounds Checker 2.0, for MS-DOS Memory Protections, p. 118.
Goodnow, II James E.
Kowalski Thaddeus J.
Rowland James R.
Chavis John I.
Kriess Kevin A.
Lucent Technologies - Inc.
LandOfFree
Method and apparatus for detecting memory access errors does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for detecting memory access errors, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for detecting memory access errors will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1149746