Method and apparatus for checking validity of memory operations

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

G06F 1130

Patent

active

056130635

ABSTRACT:
A memory monitoring system equips a computer program for monitoring its own memory accesses. The system employs special values, called "VALUEA" and "VALUEB," stored in the memory locations and a table of write tags, each preferably a single-bit flag corresponding to a different one of the memory's locations. If the write tag is not set for a particular memory location, VALUEA within that location indicates that it is unallocated, and VALUEB indicates that it is allocated and not initialized. The write tags can be set to indicate that the corresponding memory location contains written data. The program so equipped can monitor each memory access, including, e.g., allocation, write, read, and memory freeing operations, using the combination of the location contents and the write tag table to determine valid memory operations and to signal memory access violations. Counters can be provided to track the number of valid accesses of particular types and/or of valid accesses to particular locations.

REFERENCES:
patent: 4104718 (1978-08-01), Poublan et al.
patent: 4104721 (1978-08-01), Willy et al.
patent: 4276594 (1981-06-01), Morley
patent: 4476522 (1984-10-01), Bushaw et al.
patent: 4533997 (1985-08-01), Furgerson
patent: 4545016 (1985-10-01), Berger
patent: 4775932 (1988-10-01), Oxley
patent: 4802165 (1989-01-01), Ream
patent: 4811347 (1989-03-01), Bolt
patent: 4825360 (1989-04-01), Knight
patent: 4942541 (1990-07-01), Hoel et al.
patent: 4953084 (1990-08-01), Meloy et al.
patent: 4992935 (1991-02-01), Comerford et al.
patent: 5029078 (1991-07-01), Iwai
patent: 5132972 (1992-07-01), Hansen
patent: 5193180 (1993-03-01), Hastings
patent: 5274811 (1993-12-01), Borg et al.
patent: 5335344 (1994-08-01), Hastings
Chow et al., "Engineering a Risc Compiler System", MIPS Computer Systems, pp. 132-137.
Austin, et al, "Efficient Detection of All Pointer and Array Access Errors," Computer Sciences Department, University of Wisconsin-Madison, Dec. 1, 1993, pp. 1-29.
Larus, et al, "Rewriting Executable Files to Measure Program Behavior," Computer Science Department, University of Wisconsin-Madison, Mar. 25, 1992, pp. 1-17.
Calliss, et al, "Dynamic Data Flow Analysis of C Programs," Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences, vol. II, IEEE, Jan. 5-8, 1988, pp. 514-523.
Murray Egan, "Achieving Supercomputer Performance in a Lw Pain Environment," COMPCON, Spring 1990, Mar. 2, 1990, IEEE, pp. 205-207.
"Saber-C Reference," Saber Software, Inc., Cambridge, Massachusetts 20138.
Graham, et al, "Practical Data Breakpoints: Design and Implementation," Computer Science Division, University of California-Berkeley, Berkeley, California, Jun. 1993, pp. 1-13.
Wahbe, Robert, et al, "Low Latency RPC Via Software-Enforced Protection Domains," Computer Science Division, 571 Evans Hall, University of California-Berkeley, Berkeley, California 94720, 1993 (C00595).
Wahbe, Robert, "Efficient Data Breakpoints," Computer Science Division, 571 Evans Hall, University of California-Berkeley, Berkeley, California 94720, ACM 1992 (C0001), pp. 200-209.
Wall, David, "Systems For Late Code Modification", Western Research Laboratory, Palo Alto, California, May 1992 (C00093).
Wall, David, "Post-Compiler Transformation," Western Research Laboratory, Palo Alto, California, May 29, 1992 (C00011).
Hastings, et al, "Purify: Fast Detection of Memory Leaks and Access Errors," Proceedings of the Winter USENIX Conference, Jan. 1992, pp. 125-136.
"The Safe C Runtime Analyzer", Product Description and Manual Pages, Blossom/Catalytix, Cambridge, Massachusetts, prior to Feb. 1991.
Feuer, "si-An Interpreter for the C Language," USENIX Conference Proceedings, Summer 1985, pp. 47-55.
Ferrari, "Computer Systems Performance Evaluation," Englewood Cliffs, New Jersey, 1978, pp. 44-56.
Evans, et al, "DEBUG-An Extension to Current Online Debugging Techniques," Communications of the ACM, vol. 8, No. 5, May 1965, pp. 321-326.
Smith, "Tracing With Pixie," Standford, California, pixie UNIX man pages, pp. 1-2.
May, "MIMIC: A Fast Sysstem/370 Simulator," St. Paul, Minnesota, ACM SIGPLAN Notices, vol. 22, No. 7, 1987, pp. 1-13.
Boothe, "Fast accurate Simulation of Large Shared Memory Multiprocessors," University of California-Berkeley, Berkeley, California, EECS Report No. UCB/CDS 92/682, Apr. 1992.
Ward, "Wierd C BUggs," Computer Language, Apr. 1988, pp. 63-66.
Merilatt, "C Dynamic Memory Use," Dr. Dobbs' Journal, Aug. 1989, pp. 62, 64, 66-67, 125.
Anderson, "C Customized Memory Allocators,", Dr. Dobb's C Sourcebook, Winter 1898/90, pp. 62-66, 94.
Kempton, et al, "Run-Time Detection Of Undefined Variables Considered Essential," Software-Practice and Experience, vol. 20(4), Apr. 1990, pp. 391-402.
Johnson, "An Annotated Software Debugging Bibliography," Hewlett-Packard CSL 82-4, Mar. 1992, Palo Alto, California.
Fox, "Dynamic Memory Management in C," BYTE, Jun. 1988, pp. 313-314, 316, 318.
Heller, "Just Add Water," BYTE, Jun. 1990, p. 188.
Pearson, "Array Bounds Checking With Turbo C," Dr. Dobb's Journal, May 1991, pp. 72-74, 78-82, 104.
Thompson, "Error Checking, Tracing, and Dumping In An ALGOL 68 Checkout Compiler," SIGPLAN Notices, Jul. 1977, pp. 106-111.
Steffen, "Adding Run-Time Checking To The Poartable C Compiler," Software-Practice and Experience, vol. 22(4), Apr. 1992, pp. 305-316.
Welsh, "Economic Range Checks In Pascal," Software-Practice and Experience, vol. 8, 1978, pp. 85-97.
Zelkowitz, et al, "Error Checking With Pointer Variables," Proceedings of the ACM 1976 National Conference, 1976, pp. 391-395.
Delisle, et al, "Viewing a Programming Environment As A Single Tool," ACM SIGPLAN Notices, vol. 19(5), 1984, pp. 49-56.
Ross, "Integral C--A Practical Environment for C Programming," ACM SIGPLAN Notices, vol. 22(1), 1986, pp. 42-48.
Winner, "Unassigned Objects," ACM Transactions on Programming Languages and Systems, vol. 6, No. 4, Oct. 1984, pp. 449-467.
Chase, et al, "Selective Interpretation as a Technique For Debugging Computationally Intensive Programs," ACM SIGPLAN Notices, vol. 22(7), 1987, pp. 113-124.
Grossman, "Debugging With The 80386," Dr. Dibb's Journal, Feb. 1988, pp. 18, 20, 24, 26, 28.
Sato, et al, "Run-Time Checking in LISP By Integrating Memory Addressing And Range Checking," ACM Publication No. 0884-7495/89/000/0290, 1989, pp. 290-297.
Stucki, "A Prototype Automatic Program Testing Tool," AFIPS Fall Joint Computer Conference, 1972, pp. 829-836.
Stucki, et al, "New Assertion Concepts For Self-Metric Software Validation," SIGPLAN Notices, vol. 10(6), 1975, pp. 59-65.
Goldberg, "Reducing Overhead in Counter-Based Execution Profiling," Stanford Technical Report No. CSL-TR-91-495.
Mahmood, et al, "Concurrent Error Detection Using Watchdog Processors--A Survey," IEEE Transactions on Computers, vol. 37, No. 2, Feb. 1988, pp. 160-174.
Feustel, "On The Advantages Of Tagged Architecture," IEEE Transactions on Computers, vol. C-22, No. 7, Jul. 1973, pp. 664-656.
Deutsch, et al, "A Flexible Measurement Tool For Software Systems," Proceesings of IFIP Congress 1971, pp. TA-3-7 to TA-3-12.
Osterweil, L.J., et al, "Dave--A Validation Error Detection and Documentation System For Fortran Programs," Software-Practice and Experience, vol. 6, No. 4, Oct.-Dec. 1976, pp. 473-486.
Huang, J.C., "Detection of Data Flow Anomaly Through Program Instrumentation," IEEE Transactions on Software Engineering, vol. SE-5, No. 3, May 1979, pp. 226-236.
Wilson, C., et al, "OMEGA--A Data Flow Analysis KTool For The C Programming Language," IEEE Transactions on Software Engineering, vol. SE-11, No. 9, Sep. 1985, pp. 832-838.
Huang, J.C., "Program Instrumentation and Software Testing," Computer, vol. 11, Apr. 1978, pp. 25-32.
Srivastava, A., Wall, David W., "A Practical System for Intermodule Code Optimization at Link-Time", Dec. 1992.
Chow, et al, "Practical Data Breakpoints: Design and Implementation," Computer Science Division, University of California-Berkeley, Jun. 1993, pp. 1-13.
Borg, Anita, et al, "Long Address Traces From RISC Machines: Generation and Analysis," Western Research Laboratory, Palo Alto, California,

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for checking validity of memory operations 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 checking validity of memory operations, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for checking validity of memory operations will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-1712423

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.