Hybrid code modification in intermediate language for software application
First Claim
1. A computer program product comprising a non-transitory computer-readable medium containing an executable set of instructions for code modification of a programming language platform and a software application in a bytecode language, the set of instructions configured to:
- modify an execution engine of the programming language platform in the bytecode language when the execution engine is converted from source code into code in the bytecode language to alter a functionality of or add a new functionality to the programming language platform, wherein the modification of the execution engine is performed by at least one of a compiler and an interpreter;
modify the software application in the bytecode language at runtime of the software application, wherein the software application is modified to include a runtime analysis rule that uses the altered or added new functionality of the programming language platform, wherein the software application is modified by;
i) after startup of the software application, loading a class of the software application into the execution engine;
ii) inserting a first bytecode to methods of the loaded class based on the runtime analysis rule that uses the new functionality of the programming language platform;
iii) after the class is loaded and the first bytecode is inserted into the methods of the loaded class, loading another class of the software application and repeating processes i)-iii) until all the classes of the software application are loaded and the first bytecode inserted into the classes; and
execute the modified software application on the modified execution engine.
1 Assignment
0 Petitions
Accused Products
Abstract
Computer program, methods, and systems for code modification of a programming language platform and a software application in an intermediate language at different times are disclosed. The methods and system may modify a portion of the programming language platform in the intermediate language at a first time to alter a functionality of or add a new functionality to the programming language platform; and may modify the software application in the intermediate language at a second time different from the first time, where the software application may be modified based on a runtime analysis rule that uses the altered or added new functionality of the programming language platform. The modified programming language platform may be included in a first package, and the modified software application may be included in a second package, and executed on the modified programming language platform.
-
Citations
22 Claims
-
1. A computer program product comprising a non-transitory computer-readable medium containing an executable set of instructions for code modification of a programming language platform and a software application in a bytecode language, the set of instructions configured to:
-
modify an execution engine of the programming language platform in the bytecode language when the execution engine is converted from source code into code in the bytecode language to alter a functionality of or add a new functionality to the programming language platform, wherein the modification of the execution engine is performed by at least one of a compiler and an interpreter; modify the software application in the bytecode language at runtime of the software application, wherein the software application is modified to include a runtime analysis rule that uses the altered or added new functionality of the programming language platform, wherein the software application is modified by; i) after startup of the software application, loading a class of the software application into the execution engine; ii) inserting a first bytecode to methods of the loaded class based on the runtime analysis rule that uses the new functionality of the programming language platform; iii) after the class is loaded and the first bytecode is inserted into the methods of the loaded class, loading another class of the software application and repeating processes i)-iii) until all the classes of the software application are loaded and the first bytecode inserted into the classes; and execute the modified software application on the modified execution engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for code modification in a bytecode language, comprising:
-
a hardware processor; and memory storing one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of; modifying an execution engine of a programming language platform in the bytecode language when the execution engine is converted from source code into code in the bytecode language to alter a functionality of or add a new functionality to the programming language platform, wherein the modification of the execution engine is performed by at least one of a compiler and an interpreter; and modifying a software application in the bytecode language at runtime of the software application, wherein the software application is modified to include a runtime analysis rule that uses the altered or the added new functionality of the programming language platform, wherein the software application is modified by; i) after startup of the software application, loading a class of the software application into the execution engine; ii) inserting a first bytecode to methods of the loaded class based on the runtime analysis rule that uses the new functionality of the programming language platform; iii) after the class is loaded and the first bytecode is inserted into the methods of the loaded class, loading another class of the software application and repeating processes i)-iii) until all the classes of the software application are loaded and the first bytecode inserted into the classes. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for code modification in a bytecode language for a software application in a database system, comprising:
-
adding a new functionality to an execution engine of a programming language platform after the execution engine is converted from source code into code in the bytecode language, wherein the new functionality is a string tracking function, a stream tracking function, or an array tracking function, wherein the modification of the execution engine by the adding is performed by at least one of a compiler and an interpreter; modifying a software application after the software application receives a request from a user system, wherein the software application is modified to include a runtime analysis rule that uses the added functionality of the programming language platform, wherein the software application is modified by; i) after startup of the software application, loading a class of the software application into the execution engine; ii) inserting a first bytecode to methods of the loaded class based on the runtime analysis rule that uses the new functionality of the programming language platform; iii) after the class is loaded and the first bytecode is inserted into the methods of the loaded class, loading another class of the software application and repeating processes i)-iii) until all the classes of the software application are loaded and the first bytecode inserted into the classes; and executing the modified software application on the modified execution engine with the new functionality to generate a hypertext transfer protocol (HTTP) response to the received request. - View Dependent Claims (20, 21, 22)
-
Specification