Data processing: software development – installation – and managem – Software program development tool
Reexamination Certificate
2007-04-24
2007-04-24
Zhen, Wei (Department: 2191)
Data processing: software development, installation, and managem
Software program development tool
C717S127000, C717S130000
Reexamination Certificate
active
10613516
ABSTRACT:
An object code expansion program inserts new instructions and data between preexisting instructions and data of an object code file; offsets are modified to reflect new positions of the preexisting instructions and data. For each item of preexisting object code (instructions or data), the following steps are performed: making a new code block comprising any desired new instructions and the item, and storing it as new object code; tracking the location of the item and the new code block within the new object code; and tracking items that contain inter-item offsets. Then, each inter-item offset is updated using the new location of the item or new code block, as required. Finally, offsets in symbol tables and relocation structures are updated with the new location of the item.This expansion program is used to add instructions to object code files of a second program, to monitor substantially all of the memory accesses of the second program. The added instructions establish and maintain a memory status array with entries for memory locations that are validly accessible by the second program; entries indicate the status of corresponding memory locations. The memory status array is used to check for the errors of writing to unallocated memory and reading from unallocated or uninitialized memory. Also, the data section of the object code files are expanded with extra dummy entries to aid in the detection of array bounds violations and similar data errors. Furthermore, watchpoints can be established for more comprehensive monitoring.
REFERENCES:
patent: 3815103 (1974-06-01), Holtley et al.
patent: 4104718 (1978-08-01), Poublan et al.
patent: 4394731 (1983-07-01), Flusche et al.
patent: 4533997 (1985-08-01), Furgerson
patent: 4589068 (1986-05-01), Heinen, Jr.
patent: 4802165 (1989-01-01), Ream
patent: 4811347 (1989-03-01), Bolt
patent: 4815025 (1989-03-01), Ossfeldt et al.
patent: 4903194 (1990-02-01), Houdek et al.
patent: 4937736 (1990-06-01), Chang et al.
patent: 4953084 (1990-08-01), Meloy et al.
patent: 4964065 (1990-10-01), Hicks et al.
patent: 5025366 (1991-06-01), Baror
patent: 5029078 (1991-07-01), Iwai
patent: 5075842 (1991-12-01), Lai
patent: 5115499 (1992-05-01), Stiffler et al.
patent: 5132972 (1992-07-01), Hansen
patent: 5175837 (1992-12-01), Arnold et al.
patent: 5175856 (1992-12-01), Van Dyke et al.
patent: 5193180 (1993-03-01), Hastings
patent: 5230070 (1993-07-01), Liu
patent: 5237691 (1993-08-01), Robinson et al.
patent: 5287453 (1994-02-01), Roberts
patent: 5313616 (1994-05-01), Cline et al.
patent: 5325430 (1994-06-01), Mohrmann
patent: 5335344 (1994-08-01), Hastings
patent: 5375206 (1994-12-01), Hunter et al.
patent: 5388268 (1995-02-01), Beach et al.
patent: 5404499 (1995-04-01), Nichols
patent: 5412788 (1995-05-01), Collins et al.
patent: 5438670 (1995-08-01), Baror et al.
patent: 5528753 (1996-06-01), Fortin
patent: 5541911 (1996-07-01), Nilakantan et al.
patent: 5557780 (1996-09-01), Edwards et al.
patent: 5602729 (1997-02-01), Krueger et al.
patent: 5625823 (1997-04-01), Debenedictis et al.
patent: 5632022 (1997-05-01), Warren et al.
patent: 5636376 (1997-06-01), Chang
patent: 5647056 (1997-07-01), Barrett et al.
patent: 5675798 (1997-10-01), Chang
patent: 5696902 (1997-12-01), Leclercq et al.
patent: 5701427 (1997-12-01), Lathrop
patent: 5835701 (1998-11-01), Hastings
patent: 6206584 (2001-03-01), Hastings
patent: 6618824 (2003-09-01), Hastings
patent: 0496494 (1992-07-01), None
Anderson, “C customized memory allocators”, Winter 1989/1990, Dr. Dobb's C Sourcebook, pp. 62-66, 94.
Aral et al., “Efficient debugging primitives for multiprocessors”, 1989, Encor Computer Corporation, ASPLOS III Proceedings, SIGPLAN Notices, vol. 24, pp. 87-93.
Austin et al., “Efficient detection of all pointer and array access errors” 1993, Computer Sciences Dept., Univ. of Wisconsin-Madison, pp. 1-29.
Bishop, “Profiling under UNIX by patching”, 1987, Software Practice and Experience, vol. 17, No. 10, pp. 729-739.
Boothe, “Fast accurate simulation of large shared memory multi-processors”, 1988, US Berkeley EECS Rpt. No. UCB/CDS 92/682.
Borg et al., “Long address traces from RISC machines: Generation and analysis”, 1989, Western Research Laboratory.
Calliss et al., “Dynamic data flow analysis of C programs” 1988, Proc. Of 21stAnn. Hawaii Inter. Conf. On Sys. Sci., vol. II, IEEE, pp. 514-523.
Caplinger, “A memory allocator with garbage collection for C”, 1988, USENIX Winter Conf., pp. 325-330.
Chase et al., “Selective interpretation as a technique for de-bugging computationally intensive programs” 1987, ACM SIGPLAN Notices, vol. 22(7), pp. 113-124.
Chow et al., “Engineering a RISC compiler system”, 1986, MIPS Computer Systems, IEEE., pp. 132-137.
Delisle et al., “Viewing a programming environment as a single tool”, 1984, ACM SIGPLAN Notices, vol. 19(5), pp. 49-56.
Deutsch et al., “A flexible measurement tool for software systems”, 1971, Proc. Of IFIP Congress, pp. TA-3-7 to TA-3-12.
Egan, “Achieving supercomputer performance in a low pain environment”, 1990, COMPCON Spring '90, IEEE, pp. 205-207.
Eggers et al., “Techniques for efficient inline tracing on a shared-memory multiprocessor”, 1989, Univ. of Washington at Seattle, pp. 1-19.
Evans et al., “Debug-an extension to current on-line debugging techniques”, 1965, Comm. Of ACM, vol. 8, No. 5. pp. 321-326.
Evans et al., “On-line debugging techniques: A survey”, 1966, Proceedings—Fall Joint Computer Conference, pp. 37-50.
Fabry, “MADBUG—A mad debugging system”, 1965, Compatible Time-Sharing System, A Programmer's Guide, 2d Ed., MIT, pp. 1-14.
Ferrari, “Computer systems performance evaluation”, 1978, Englewood Cliffs, New Jersey, pp. 44-56.
Feuer, “SI-AN Interpreter for the C language”, 1985, USE-NIX Conference Proceedings, pp. 47-55.
Feustel, “On the advantages of tagged architecture”, 1973, IEEE Transactions on Computers, vol. C-22, No. 7, pp. 644-656.
Fischer, “The implementation of run-time diagnostics in PASCAL”1980, IEEE Transactions on Software Engineering, vol. SE-6, No. 4, pp. 313-319.
Fischer et al., “Efficient implementation and optimization of run-time checking in PASCAL”, 1976, Computer Science Dept., Univ. of Wisconsin, pp. 19-24.
Fox, “Dynamic memory management in C”, 1988, BYTE, pp. 313-314, 316, 318.
Gill, “The diagnosis of mistakes in programmes on the EDSAC”, 1951, Proceedings of the Royal Society, Series A Math and Physical Sci., No. 1087, vol. 206, pp. 538-554.
Graham et al., “Practical data breakpoints: Design and implementation” 1993, Computer Science Div., UC Berkeley, pp. 1-13.
Goldberg et al., “MTOOL: A method for detecting memory bottle-necks”, 1990, Western Research Laboratory.
Goldberg, “Reducing overhead in counter-based execution profiling”, Stanford Technical Report No. CSL-TR-91 -495.
Grossman, “Debugging with the 80386”, 1988, Dr. Dobb's Journal, pp. 18, 20, 24, 26, 28.
Hastings et al., “Purify: Fast Detection of memory leaks and access errors”, 1992, Proceedings of the Winter USENIX Conference, pp. 125-136.
Heller, “Just add water”1990, BYTE, pp. 180, 190, 314, 316, 318.
Huang, “Program instrumentation and software testing”, 1978, Computer, vol. 11, pp. 25-32.
Huang, “Detection of data flow anomaly through program instrumentation”, 1979, IEEE Transactions on Software Engineering, vol. SE-5, No. 3, pp. 226-236.
Johnson, “Postloading for fun and profit”, 1990, USENIX, pp. 325-330.
Johnson, “An annotated software debugging bibliography”, 1982, Hewlett-Packard CSL 82-4.
Kaufer et al., “Saber C, an interpreter-based programming environment for the C language”, 1988, Summer USENEX—San Francisco, CA, pp. 4
Wang Philip
Zhen Wei
LandOfFree
Method and apparatus for modifying relocatable object code... 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 modifying relocatable object code..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for modifying relocatable object code... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3773271