System and method of automatically modifying source code for marshaling, unmarshaling and marking modified data objects
First Claim
1. A method for automatically, modifying source code operable in a computer network having two or more interconnected processors, the method comprising the steps of:
- storing information sufficient to identify source code used to modify data objects in one or more programming languages;
loading source code of an application into storage memory of a computer;
storing code modification segments in a library of code modification segments;
based upon the programming language of the source code, automatically selecting the appropriate code modification segment or segments from the library without requiring operator input;
based on the programming language of the source code, automatically analyzing the loaded source code to identify lines of code that modify data objects and automatically modifying the source code to mark objects dirty; and
based on the programming language of the source code, automatically and without requiring operator input modifying the loaded source code to enable the source code to marshal data objects associated with the application into a buffer, and to unmarshal the marshaled data objects from the buffer.
12 Assignments
0 Petitions
Accused Products
Abstract
A computer (100) and a method (200) are provided for automatically generating source code (132) readily operable in a fault-tolerant system or a distributed system, from source code (130) non-operable in either a fault-tolerant system or a distributed system. The computer (100) preferably includes a programmer'"'"'s computer system including a CPU (104), storage media (108-118), I/O interface 142, input device (144), output device (146). The computer (100) analyzes the source code (130), and automatically generates source code (132), which is then stored in the storage medium (132). The source code (132) contains additional lines of code for marshaling, unmarshaling, and marking modified data objects.
-
Citations
22 Claims
-
1. A method for automatically, modifying source code operable in a computer network having two or more interconnected processors, the method comprising the steps of:
-
storing information sufficient to identify source code used to modify data objects in one or more programming languages;
loading source code of an application into storage memory of a computer;
storing code modification segments in a library of code modification segments;
based upon the programming language of the source code, automatically selecting the appropriate code modification segment or segments from the library without requiring operator input;
based on the programming language of the source code, automatically analyzing the loaded source code to identify lines of code that modify data objects and automatically modifying the source code to mark objects dirty; and
based on the programming language of the source code, automatically and without requiring operator input modifying the loaded source code to enable the source code to marshal data objects associated with the application into a buffer, and to unmarshal the marshaled data objects from the buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
locating the data objects associated with the application; and
determining appropriate places in the source code in which to insert additional lines of code for marshaling data objects associated with the application, and for unmarshaling the marshaled data objects.
-
-
9. The method of claim 1 wherein the step of analyzing comprises the steps of:
-
locating the data objects associated with the application; and
determining appropriate places in the source code in which to insert additional lines of code for marshaling data objects associated with the application, for unmarshaling the marshaled data objects, and for marking modified data objects.
-
-
10. A computer for automatically modifying source code operable in a computer network having two or more interconnected processors, the computer comprising:
-
a storage medium for storing information used to identify the source code used to modify a data object in one or more programming languages, for storing code modification segments in a library of code modification segments and for storing a code instrumenter, the code instrumenter comprising object code executable in the programming language of the source code to automatically and without requiring operator input, select the appropriate code modification segment or segments from the library and to modify source code to marshal data objects associated with the application into a buffer, and to unmarshal the marshaled data objects from the network buffer; and
a processor coupled to the storage medium, the processor capable of executing the code instrumenter. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product for use in a computer system having a memory, a processor and an input/output system, the computer program product comprising a computer usable storage medium wherein object code is recorded, the object code comprising:
-
program logic for loading source code into the memory of the computer system;
program logic for storing information regarding a source code in one or more programming languages sufficient to identify the source code used to modify data objects;
program logic for storing a library of code modifications into the memory of the computer system;
program logic for automatically and without requiring operator decision-making selecting the appropriate code modification segment or segments from the library and automatically analyzing the source code based on the programming language of the source code to identify lines of code that modify data objects and automatically and without requiring operator input modifying the source code to mark objects dirty; and
program logic for automatically modifying source code to marshal data objects associated with the application into a buffer, source code for unmarshaling the marshaled data objects. - View Dependent Claims (20, 21, 22)
program logic for locating data objects associated with the application; and
program logic for determining appropriate places in the source code in which to insert code for marshaling data objects associated with the application, and for unmarshaling the marshaled data objects.
-
-
22. The computer program product of claim 19, wherein the program logic for analyzing further comprises:
-
program logic for locating data objects associated with the application; and
program logic for determining appropriate places in the source code in which to insert code for marshaling data objects associated with the application, for unmarshaling the marshaled data objects, and for marking modified data objects.
-
Specification