Method and apparatus for run-time error checking using dynamic p

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

G01R 3128, G06F 1100

Patent

active

055816975

ABSTRACT:
The invention provides a method and apparatus for dynamic patching for run-time error checking. With the present invention, a program to be error checked is read into memory where a debugging module resides. Such in-memory copy of the program is scanned for load objects. The load objects comprise libraries used by the program being error checked, as well as the main routines of such program. Next, a list of patch sites in the load objects is created and these patch sites corresponds to address locations in the load objects to be patched. Address space is then allocated for sections of the patch area where calls to real checking code resides. Finally, patches are written out to the in-memory copy of the program to be error checked. The original instruction in a patch site is replaced with branch to patch area instruction and the original instruction displaced is stored in the patch site's corresponding section of the patch area. The call to real checking code in this section of the patch area calls an error checking code. After the error checking is complete, the process transfers from the patch area to the next instruction in the segment of load object that was patched. In addition, the present invention is able to load new load objects. Such new load objects are scanned and the aforementioned patching process is repeated for patching the new load objects.

REFERENCES:
patent: 5029078 (1991-07-01), Iwai
patent: 5193180 (1993-03-01), Hastings
patent: 5243603 (1993-09-01), Broeren
patent: 5335344 (1994-08-01), Hastings
patent: 5404499 (1995-04-01), Nichols et al.
"Adding Run-Time Checking to the Portable C Compiler," Steffen, Joseph L., AT & T Laboratories, Software--Practice and Experience, vol. 22(4), Apr. 1992, pp. 305-316.
"A Flexible Measurement Tool for Software Systems," Deutsch, et al., Information Processing 71, North-Holland Publishing Company, 1972, pp. 320-326.
"A Practical System for Intermodule Code Optimization at Link-Time," Srivastava, et al., Digital Equipment Corporation Western Research Laboratory, Dec. 1992, pp. 1-23.
"Bcc: Runtime Checking for C Programs," Kendall, Samuel C., Delf Consulting Corporation, USENIX Toronto Conference Proceedings, Summer 1983, Software Tools, pp. 6-16.
"Debugging with Lightweight Instrumentation," Chase, et al., Rice University, Supercomputer Debugging Workshop Proceedings, Nov. 1991, pp. 1-8.
"Design and Implementation of a Diagnostic Compiler for PL/I," Conway, et al., Cornell University, Communications of the ACM, vol. 17, No. 3, Mar. 1973, pp. 169-179.
"Efficient Debugging Primitives for Multiprocessors," Aral et al., Encore Computer Corporation, Marlborough, MA 01752-3004, pp. 87-93.
"Error Checking, Tracing, and Dumping in an ALGOL 68 Checkout Compiler," Thompson, C. M., University of Alberta, Edmonton, Canada, SIGPLAN Notices, Jul. 1977, pp. 106-111.
"Experience with a Software-Defined Machine Architecture," Wall, David W., Digital Equipment Corporation, ACM Transactions on Programming Languages and Systems, vol. 14, No. 3, Jul. 1992, pp. 299-338.
"Fast Breakpoints: Design and Implementation" Kessler, Peter B., Xerox PARC, ACM SIGPLAN Conference Proceedings on Programming Language Design and Implementation, Jun. 1990, pp. 78-84.
"Integral C-A Practical Environment for C Programming," Ross, Graham, CASE Division, Tektronix, Inc., ACM SIGPLAN, Jul. 1986, pp. 42-48.
"Global Register Allocation at Link Time," Wall, David W., Digital Equipment Corporation Western Research Laboratory, 1986, pp. 264-275.
"Link-Time Code Modification," Wall, David W., Digital Equipment Corporation Western Research Laboratory, WRL Research Report 89/17, Sep. 1989, pp. 1-17.
"MTOOL: A Method For Detecting Memory Bottlenecks," Goldberg et al., Digital Equipment Corporation Western Research Laboratory, Dec. 1990, pp. 1-15.
"On-Line Debugging Techniques: A Survey," Evans et al., Air Force Cambridge Research Laboratories, Fall Joint Computer Conference Proceedings, 1966, pp.37-50.
"Postloading for Fun and Profit," Johnson, S. C., Stardent Computer Corporation, USENIX, Winter, 1990, pp. 325-330.
Pure Software Purify 2, User's Guide.
"Rewriting Executable Files to Measure Program Behavior," Ball et al., Computer of Sciences-Department, University of Wisconsin-Madison, Computer Sciences Department, Mar. 1992, pp. 1-17.
"Runtime Checking for ISO Standard Pascal," Eggert, Paul R., IEEE Transactions on Software Engineering, vol. SE-7, No. 4, Jul. 1981, p. 447.
"Run-time Detection of Undefined Variables Considered Essential," Kempton et al., Software-Practice and Experience, vol. 20(4), Apr. 1990, pp. 391-402.
"Saber-C: An Interpreter-based Programming Environment for the C Language," Kaufer, et al., Saber Software, Inc., USENIX Conference Proceedings, Summer 1988, pp. 161-171.
"Some Requirements for Architectural Support of Software Debugging," Johnson, Mark Scott, Hewlett-Packard Laboratories, 1982, pp. 140-148.
"Systems for Late Code Modification," Wall, David W., Digital Equipment Corporation Western Research Laboratory, WRL Research Report 92/3, May 1992, pp. 1-19.
"The Bug Stops Here," Nichols, John L., Logical Services, Inc., Electronic Design, Jan. 1989, pp. 84, 86, 88 & 90.
"The Compatible Time-Sharing System," Crisman, P. A., The M.I.T. Computation Center, CTSS Programmer's Guide, Section AH.8.02, 1965, pp. 1-14.
"The diagnosis of mistakes in programmes on the EDSAC," Gill, S., Mathematical Laboratory, University of Cambridge, vol. 206, No. 1087, Dec. 1950, pp. 538-554.
"The Implementation of Run-Time Diagnostics in Pascal," Fischer et al., IEEE Transactions on Software Engineering, vol. SE-6, No. 4, Jul. 1980, pp. 313-319.
"Unassigned Objects," Winner, Robert I., Vanderbilt University, ACM Transactions on Programming Languages and Systems, vol. 6, No. 4, Oct. 1984, pp. 449-467.
"Purify: Fast Detection of Memory leaks and Access Errors", by Reed Hastings and Bob Joyce, Pure Software Inc. Proceedings of the Winter Usenix Conference, Jan., 1992.

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 run-time error checking using dynamic p 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 run-time error checking using dynamic p, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for run-time error checking using dynamic p will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-793640

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