Efficient patching
First Claim
1. A method in a computing system for augmenting software, comprising:
- receiving in a target computer system an augmentation specification specifying (a) a programmatic function to be augmented, the specified programmatic function being among software existing in the computing system, (b) an argument of the specified programmatic function, (c) a test to apply to the specified argument, and (d) a modification to perform to the behavior of the specified programmatic function if the specified test is not satisfied by the specified argument; and
when the specified programmatic function is invoked on the target computer system, if the specified test is not satisfied by the specified argument, performing the specified modification to the behavior of the specified programmatic function.
4 Assignments
0 Petitions
Accused Products
Abstract
A facility for augmenting software in a target computer system is described. The facility receives and augmentation specification in the target computer system. The augmentations specification specifies: (a) a function to be augmented, (b) a parameter of the function to be tested, (c) a test to apply to the specified parameter, and (d) and modification to perform to the behavior of the function if the specified test is not satisfied by the specified parameter. When the specified function is invoked on the target computer system, if the specified tested is not satisfied by the specified parameter, the facility performs the specified modification to the behavior of the specified function.
-
Citations
42 Claims
-
1. A method in a computing system for augmenting software, comprising:
-
receiving in a target computer system an augmentation specification specifying (a) a programmatic function to be augmented, the specified programmatic function being among software existing in the computing system, (b) an argument of the specified programmatic function, (c) a test to apply to the specified argument, and (d) a modification to perform to the behavior of the specified programmatic function if the specified test is not satisfied by the specified argument; and when the specified programmatic function is invoked on the target computer system, if the specified test is not satisfied by the specified argument, performing the specified modification to the behavior of the specified programmatic function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computing system that enables augmentation of software present in the computing system, comprising:
-
a storage device containing software; a patch receiver that receives in the computing system a patch specifying (a) a point at which the software is to be augmented, (b) a value accessed by the software to be tested at the specified point, (c) a test to apply to the specified value, and (d) a modification to perform to the behavior of the software if the specified test is not satisfied by the specified value; and a patching agent that injects code into the software at the specified point such that, when execution of the software reaches the specified point on the target computer system, if the specified test is not satisfied by the specified value, the specified modification to the behavior of the software is performed.
-
-
29. A computer-readable storage medium containing computer-executable instructions that cause a target computing system to perform a method for adding value validation to software available in the target computing system, comprising:
-
receiving in the computing system an augmentation specification specifying (a) a programmatic function to which value validation is to be added, the specified programmatic function being among software available in the computing system, (b) data to be tested that exists in the target computing system during execution of the specified programmatic function, (c) a test to apply to the specified data, and (d) a modification to perform to the behavior of the function if the specified test is not satisfied by the specified data; and when the specified programmatic function is invoked on the target computer system, if the specified test is not satisfied by the specified data, performing the specified modification to the behavior of the specified programmatic function. - View Dependent Claims (30)
-
-
31. A computer-readable storage medium encoding a patch data structure, comprising:
-
information identifying a programmatic function to which value validation is to be added; information identifying data to be tested that exists in a target computer system during execution of the function; information identifying a test to apply to the identified data; and information identifying a modification to perform to the behavior of the identified programmatic function if the identified test is not satisfied by the identified data, such that, if the patch data structure is received on a target computer system on which the identified programmatic function is executed, the contents of the patch data structure may be used to perform the identified modification to the behavior of the identified programmatic function if the identified test is not satisfied by the identified data when the identified programmatic function is invoked on the target computer system. - View Dependent Claims (32, 33)
-
-
34. A method for adding value validation to software available in a target computing system, comprising:
-
receiving in the computing system an augmentation specification specifying (a) software to which value validation is to be added, (b) a point in the specified software at which value validation is to be added, (c) data to be tested that exists in the target computing system during execution of the specified software at the specified point, (d) a test to apply to the specified data, and (e) a modification to perform to the behavior of the software if the specified test is not satisfied by the specified data; enabling a user to configure an operational mode for the received augmentation specification; and when the specified software is executed at the specified point on the target computer system, applying the received augmentation specification in a manner consistent with the operational mode configured for the received augmentation specification. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42)
-
Specification