Methods for comparing versions of a program
First Claim
Patent Images
1. A system for reusing profile information of a program, comprising:
- a comparator to define a match when a first value equals a second value;
a propagator to propagate profile information when a match is defined; and
a processing engine that processes a portion of a first version of the program to produce the first value and a portion of a second version of the program to produce the second value, wherein the processing engine uses a set of information at a desired fuzziness level to produce the first value and the second value.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are discussed that allow profile information to be reused by various versions of a program. One illustrative aspect includes a method for comparing versions of a program in binary format. The method includes finding equivalent contents in portions of two versions of the program, finding equivalent structure in the portions of the two versions, and forming a match when a portion of one of the two versions is an equivalence of a portion of the other of the two versions.
-
Citations
8 Claims
-
1. A system for reusing profile information of a program, comprising:
-
a comparator to define a match when a first value equals a second value; a propagator to propagate profile information when a match is defined; and a processing engine that processes a portion of a first version of the program to produce the first value and a portion of a second version of the program to produce the second value, wherein the processing engine uses a set of information at a desired fuzziness level to produce the first value and the second value. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for comparing versions of a program in binary format, comprising:
-
finding equivalent contents in portions of two versions of the program; finding equivalent structure in the portions of the two versions; and forming a match when a portion one of the two versions is an equivalence to a portion of the other two versions, wherein the act of forming a match includes forming a match based on a fuzzy match for portions of the two versions that include small differences.
-
-
7. A computer readable medium having instructions stored thereon for causing a computer to perform a method for comparing versions of a program in binary format, the method comprising:
-
finding equivalent contents in portions of two versions of the program; finding equivalent structure in the portions of the two versions; and forming a match when a portion of one of the two versions is an equivalence to a portion of the other two versions, wherein the act of forming a match includes forming a match based on a fuzzy match for portions of the two versions that include small differences.
-
-
8. A method for comparing versions of a program in binary format, comprising:
-
finding equivalent procedures in a first version and a second version; finding equivalent portions of data in equivalent procedures; and finding equivalent portions of code in equivalent procedures, wherein the act of finding equivalent portions of code includes finding equivalent portions of code based on a hash value, which is calculated from the instructions in the portions of code and the ordering of the instructions, wherein the act of finding equivalent portions of code based on a hash value includes iterating the act of finding with different levels of matching fuzziness so as to enhance the act of finding equivalent portions of code.
-
Specification