Method, apparatus, and product for dynamic software code transla

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

G06N 945

Patent

active

061648418

ABSTRACT:
A method and apparatus for improving the process of software development by a dynamic software development tool. The present invention efficiently executes in a user process and provides software developers with a high performance tool for software optimization. The present invention may augment the user process code instructions at runtime and, for every series of machine instructions that the original user source code would have executed, a series of instructions may be executed that are semantically equivalent to the user process code instructions and are altered to optimize the user process code instructions. The present invention may use emulation or translation to alter the user process code instructions. The resulting process is executed in the user process space and advantageously maintains the original flow of instruction execution. The present invention employs a technique of dynamically translating code at runtime and may operate on a virtual machine or a hardware machine. Further, the present invention may operate on various types of code segments and is not, for instance, limited to manipulating only code modules and may operate on a basic code block. Therefore, the present invention enables efficient optimized user process code instruction debugging, instrumentation, and simulation by preserving the original flow of user process code instructions while enabling emulation and translation on the original user process code instructions.

REFERENCES:
patent: 4071744 (1978-01-01), Pollock
patent: 5133072 (1992-07-01), Buzbee
patent: 5193180 (1993-03-01), Hastings
patent: 5212794 (1993-05-01), Pettis et al.
patent: 5335344 (1994-08-01), Hastings
patent: 5355491 (1994-10-01), Lawlor et al.
patent: 5367685 (1994-11-01), Gosling
patent: 5369766 (1994-11-01), Nakano et al.
patent: 5381534 (1995-01-01), Shi
patent: 5414855 (1995-05-01), West
patent: 5442790 (1995-08-01), Nosenchuck
patent: 5450586 (1995-09-01), Kuzara et al.
patent: 5452457 (1995-09-01), Alpert et al.
patent: 5487158 (1996-01-01), Amelina et al.
patent: 5504914 (1996-04-01), Lai
patent: 5519866 (1996-05-01), Lawrence et al.
patent: 5522036 (1996-05-01), Shapiro
patent: 5522072 (1996-05-01), De Bruler
patent: 5535329 (1996-07-01), Hastings
patent: 5548794 (1996-08-01), Yishay et al.
patent: 5581697 (1996-12-01), Gramlich et al.
patent: 5583988 (1996-12-01), Crank et al.
patent: 5590331 (1996-12-01), Lewis et al.
patent: 5606697 (1997-02-01), Ono
patent: 5625832 (1997-04-01), Ohsawa et al.
patent: 5627981 (1997-05-01), Adler et al.
patent: 5628016 (1997-05-01), Kukol
patent: 5644742 (1997-07-01), Shen et al.
patent: 5652884 (1997-07-01), Palevich
patent: 5655121 (1997-08-01), Delagi et al.
patent: 5713010 (1998-01-01), Buzbee et al.
patent: 5732210 (1998-03-01), Buzbee
patent: 5751985 (1998-05-01), Shen et al.
patent: 5764962 (1998-06-01), Buzbee
patent: 5778245 (1998-07-01), Papworth et al.
patent: 5815720 (1998-09-01), Buzbee
patent: 5838978 (1998-11-01), Buzbee
patent: 5854928 (1998-12-01), Buzbee
patent: 5857103 (1999-01-01), Grove
patent: 5909578 (1999-06-01), Buzbee
patent: 5911073 (1999-06-01), Mattson Jr. et al.
patent: 5933622 (1999-08-01), Buzbee
patent: 6052530 (2000-04-01), Buzbee et al.
Bob Cmelik & David Keppel, "Shade: A Fast Instruction-Set Simulator For Execution Profiling", Sigmetrics 94, May 1994, Santa Clara, Ca USA 1994, pp. 128-137.
"Daisy: Dynamically Architected Instruction Set From Yorktown", IBM Corporation, 1996, 2 pages.
"Digital FX!32", Digital Semiconductor, 3 pages.
Matt Pietrek, "Learn System--Level Win32 Coding Techniques By Writing An API Spy Program", Systems Journal, Dec. 94', pp. 17-44.
R. Sites, et al., "Binary Translation", Communications Of The ACM, Feb. 93', vol. 36, No. 2, pp. 69-81.
Eric Traut, "Core-Building The Virtual PC", Byte, Nov. 97', pp. 51-52.
Harry J. Saal & Zui Weiss, "A Software High Performance APL Interpreter", IEIE-IEIE, vol. 9, Issue 4, 1979, pp. 74-81.
Ronald L. Johnston, "The Dynamic Incremental Compiler Of APL/3000", IEIE-IEIE, vol. 9, Issue 4, 1979, pp. 82-87.
Kemal Ebcioglu & Erik R. Altman, "DAISY: Dynamic Compilation For 100% Architectural Compatibility", IBM Research Report, RC 20538, Aug. 5, 1996, Computer Science, pp. 1-82.
Reed Hastings & Bob Joyce (Pure Software, Inc.), "Purify: Fast Detection Of Memory Leaks And Access Errors", USENIX--Winter 92', pp. 125-136.
Title: Techniques for Efficient Inline Tracing on a Shared-Memory Multiprocessor, author: Eggers et al, ACM, 1990.
Title: TRAPEDS: Producing Traces for Multicomputers via Execution Driven Simulation, author: Stunkel et al, ACM, 1989.
Title: A Review of Automated Debugging System: Knowledge, Strategies and Techniques, author: Ducase et al., IEEE, 1988.
Title: Optimally Profiling and Tracing Programs, author: Ball et al, 1992 ACM.
Title: Efficient Program Tracing, author: Larus, May 1993, Computer.

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, apparatus, and product for dynamic software code transla 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, apparatus, and product for dynamic software code transla, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method, apparatus, and product for dynamic software code transla will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-987958

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