U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Method for detecting computer memory access errors

Patent 5644709 Issued on July 1, 1997. Estimated Expiration Date: Icon_subject July 1, 2014. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Storage addressing error detection circuitry
Patent #: 4903194
Issued on: 02/20/1990
Inventor: Houdek, et al.

System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
Patent #: 5193180
Issued on: 03/09/1993
Inventor: Hastings

Method for inserting new machine instructions into preexisting machine code to monitor preexisting machine access to memory
Patent #: 5335344
Issued on: 08/02/1994
Inventor: Hastings

Method and means for limiting duration of input/output (I/O) requests Patent #: 5388254
Issued on: 02/07/1995
Inventor: Betz, et al.

Inventor

Assignee

Application

No. 237041 filed on 04/21/1994

US Classes:

714/53, Address error711/154, Control technique714/55Timing error (e.g., watchdog timer time-out)

Examiners

Primary: Beausoliel, Robert W. Jr.
Assistant: Palys, Joseph E.

Attorney, Agent or Firm

International Class

G06F 011/00

Abstract

A method for detecting memory access errors which occur while executing a computer program. Spatial and temporal attributes are provided for a data object and these attributes are associated with each pointer to that data object. On a dereference to a pointer, a memory access check is performed which determines (a) whether the dereference falls outside the address range within which valid accesses may be made to the data object, and (b) whether the dereference falls outside the time period within which valid accesses may be made to the data object. If the dereference falls outside the valid address range, a spatial error is flagged. If the dereference falls outside the valid time period, a temporal error is flagged. In addition, a method is described for converting a preexisting source-language program file into a safe program and a method is described for optimizing memory-access checks.

Other References

  • Austin et al., "Efficient Detection of All Pointer and Array Access Errors", Sigplan 94, vol. 29, No.5, pp.290-301. Jun. 1994
  • Andrew Ginter, "Design Alternatives for a Cooperative Garbage Collector for the C++ Programming Language," Research Report No. 91/417/1, Department of Computer Science, University of Calgary, Jan. 1991
  • A.V. Aho, et al. Compilers: Principles, Techniques and Tools, Sec. 5.4, pp. 296-297, Addison-Wesley, Reading, MA 1986
  • Jonathan M. Asuru, "Optimization of Array Subscript Range Checks," pp. 109-118, ACM Letters on Programming Languages and Systems, Jun., 1992
  • Bowen Alpern, et al., "Detecting Equality of Variables in Programs," In Conference Record of the 15th Annual ACM Symposium on Principles of Programming Languages, pp. 1-11, San Diego, CA, Jan. 1988
  • Hans-Juergen Boehm, "Space Efficient Conservation Garbage Collection," Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, 28(6):197-204, Jun., 1993
  • Hans-Juergen Boehm, et al., "Garbage Collection in an Uncooperative Environment" Software-Pracitce and Experience, 18(9):807-820, Sep., 1988
  • MIPS Computer Corporation. MIPS Fortrann 77 Compiler (f77) User's Guide, 1987
  • John R. Ellis, et al. "Safe, Efficient Garbage Collection for C++," Report 102, DEC Systems Research Center, Jun., 1993
  • D.R. Edelson, et al. "Smart Pointers: They're Smart, but They're Not Pointers," Proceedings of the 1991 Usenix C+ Conference, Apr., 1991
  • Anthony J. Field, et al., "Memoization," Functional Programming, Chapter 19, pp. 505-506, Addison-Wesley Publishing Company, 1988
  • Charles N. Fischer, et al., "The Implementation of Run-Time Diagnostics in Pascal," IEEE Transactions on Software Engineering, SE-6(4):313-319, 1980
  • Andrew Ginter, Abstract, "Design Alternatives for a Cooperative Garbage Collector for the C++ Programming Language," Technical Report 91/417/01, Dept. of Computer Science, University of Calgary, 1992
  • Rajiv Gupta, "A Fresh Look at Optimization Array Bound Checking," Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, pp. 272-282, Jun., 1990
  • William H. Harrison, "Compiler Analysis of the Value Ranges for Variables," IEEE Transactions on Software Engineering, 3:(3):243-250, 1977
  • Reed Hastings, et al. "Purify:Fast Detection of Memory Leaks and Access Errors," Proceedings of the Winter Usenix Conference, 1992
  • Stephen Kaufer, et al., "Saber-C: An Interpreter-based Programming Environment for the C Language," Proceedings of the Summer Usenix Conference, pp.161-171, 1988
  • James R. Larus, "Efficient Program Tracing," IEEE Computer, 26(5):52-61, May, 1993
  • Peter A. Steenkiste, "The Impliementation of Tags and Run-Time Checking," Topics in Advanced Language Implementation, The MIT Press, Cambridge, MA 1991
  • Barton P. Miller, et al., "An Empirical Study of the Reliability of UNIX Utilities," Communications of the ACM, 33(12):32-44, Dec., 1990
  • Graham Ross, "Integral C--A Practical Environment for C Programming," Proceedings of the ACM SIG-Sof/SIGPLAN Software Engineering Symposium on Practical Software Development Environments(SIGPLAN Notices), pp. 42-48, Association for Computing Machinery, Jan., 1987
  • Barry K. Rosen, et al., "Global Value Numbers and Redundant Computations," Conference Record of the 15th Annual ACM Symposium on Practical Software Development Environments (SIGPLAN Notices), pp. 12-27, San Diego, CA, Jan. 1988
  • Mark Sullivan, et al., "Software Defects and Their Impact on System Availability--A Study of Field Failures in Operating Systems," Digest of the 21st International Symposium on Fault Tolerant Computing, pp. 2-9, Jun. 1991
  • Joseph L. Steffen, "Adding Run-time Checking to the Portable C Compiler," Software--Practice and Experience, 22(4):305-316, 1992
  • Benjamin Zorn, et al., "A Memory Allocation Profile for C and Lisp Programs," Proceedings of the Summer Usenix Conference, pp. 223-237, 1988
  • Samuel C. Kendall, "Bcc: Runtime Checking for C Programs," USENIX Software Tool
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$16.95more info
 
Sign InRegister
Username  
Password   
forgot password?