Method and system for correcting portion of software application
First Claim
1. A method for correcting a portion of an application, comprising:
- determining, in a computer, a fingerprint, which is a single fingerprint that indicates plural different classes that collectively comprise the application, the fingerprint being a universal fingerprint from a component normalized to reduce the data introduced by a programmer and to retain a semantic character of component content;
referring, in the computer, to the plural different classes, indicated in the fingerprint, that collectively comprise the application, and looking up whether any of the plural different classes that comprise the application is a broken class;
for each of the plural different classes in the application which is determined to be the broken class;
substituting a fixed class for the broken class, when the broken class is loaded at class load time for the application, orsubstituting a fixed class method into the broken class, when the broken class is loaded in the computer at class load time for the application, orsubstituting fixed byte code for broken byte code corresponding to the broken class, when the broken class is loaded in the computer at class load time for the application, orreplacing the broken class inside the static application with the fixed class, without replacing classes which are not broken, when the application is not running;
wherein the fingerprint for the application is obtained on a just-in-time basis at class load time; and
scanning, at run time with a byte code interpreting virtual machine running the application, classes before they are being loaded to determine the classes that comprise the application.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system, method, or computer-readable medium corrects a broken portion of an application. A fingerprint indicates classes that comprise the application. The classes indicated in the fingerprint are looked up to determine whether any is broken. For a broken class, a fixed class is substituted when the broken class is loaded at class load time for the application; a fixed class method is substituted into the broken class, when the broken class is loaded at class load time; fixed byte code is substituted for broken byte code corresponding to the broken class, when the broken class is loaded at class load time; the broken class is unloaded and the fixed class is loaded instead, when the application is running; or the broken class is replaced inside the static application with the fixed class; all without replacing classes which are not broken.
-
Citations
21 Claims
-
1. A method for correcting a portion of an application, comprising:
-
determining, in a computer, a fingerprint, which is a single fingerprint that indicates plural different classes that collectively comprise the application, the fingerprint being a universal fingerprint from a component normalized to reduce the data introduced by a programmer and to retain a semantic character of component content; referring, in the computer, to the plural different classes, indicated in the fingerprint, that collectively comprise the application, and looking up whether any of the plural different classes that comprise the application is a broken class; for each of the plural different classes in the application which is determined to be the broken class; substituting a fixed class for the broken class, when the broken class is loaded at class load time for the application, or substituting a fixed class method into the broken class, when the broken class is loaded in the computer at class load time for the application, or substituting fixed byte code for broken byte code corresponding to the broken class, when the broken class is loaded in the computer at class load time for the application, or replacing the broken class inside the static application with the fixed class, without replacing classes which are not broken, when the application is not running; wherein the fingerprint for the application is obtained on a just-in-time basis at class load time; and scanning, at run time with a byte code interpreting virtual machine running the application, classes before they are being loaded to determine the classes that comprise the application. - View Dependent Claims (2, 3, 4, 5, 6, 19)
-
-
7. A computer that corrects a portion of an application, comprising:
-
an i/o interface operable to transmit and receive communications over at least a portion of a communication network; and a processor cooperatively operable with the i/o interface, and configured to facilitate; determining a fingerprint, which is a single fingerprint that indicates plural different classes that collectively comprise the application, the fingerprint being a universal fingerprint from a component normalized to reduce the data introduced by a programmer and to retain a semantic character of component content; referring to the plural different classes, indicated in the fingerprint, which collectively comprise the application, and looking up whether any of the plural different classes that comprise the application is a broken class; for each of the plural different classes in the application which is determined to be the broken class; substituting a fixed class for the broken class, when the broken class is loaded at class load time for the application, or substituting a fixed class method into the broken class, when the broken class is loaded at class load time for the application, or substituting fixed byte code for broken byte code corresponding to the broken class, when the broken class is loaded at class load time for the application, or replacing the broken class inside the static application with the fixed class, without replacing classes which are not broken, when the application is not running; wherein the fingerprint for the application is obtained on a just-in-time basis at class load time; and scanning, at run time with a byte code interpreting virtual machine running the application in the processor, classes before they are being loaded to determine the classes that comprise the application. - View Dependent Claims (8, 9, 10, 11, 12, 20)
-
-
13. A non-transitory computer-readable medium comprising instructions for execution by a computer, the instructions including a computer-implemented method for correcting a portion of an application, the instructions for implementing:
-
determining, in a computer, a fingerprint which is a fingerprint that indicates plural different classes that collectively comprise the application, the fingerprint being a universal fingerprint from a component normalized to reduce the data introduced by a programmer and to retain a semantic character of component content; referring, in the computer, to the plural different classes, indicated in the fingerprint, that collectively comprise the application, and looking up whether any of the plural different classes that comprise the application is a broken class; for each of the plural different classes in the application which is determined to be the broken class; substituting a fixed class for the broken class, when the broken class is loaded at class load time for the application, or substituting a fixed class method into the broken class, when the broken class is loaded in the computer at class load time for the application, or substituting fixed byte code for broken byte code corresponding to the broken class, when the broken class is loaded in the computer at class load time for the application, or replacing the broken class inside the static application with the fixed class, without replacing classes which are not broken, when the application is not running; wherein the fingerprint for the application is obtained on a just-in-time basis at class load time; and scanning, at run time with a byte code interpreting virtual machine running the application, classes before they are being loaded to determine the classes that comprise the application. - View Dependent Claims (14, 15, 16, 17, 18, 21)
-
Specification