Computer system and method for verifying functional equivalence
First Claim
Patent Images
1. A method for verifying functional equivalence of source codes, comprising:
- providing a source code;
modifying the source code to produce a modified source code; and
verifying the functional equivalence between the source code and the modified source code.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system and method are provided for the verification of functional equivalence between at least two source codes residing on at least one computer. A comparison is carried out between a source code and a modified version of the source code. The comparison is performed to determine the functional equivalence between the two source codes. The functional equivalence is determined on the basis of type, scope and linkage of identifiers of the source codes. The identifiers are extracted from the assembly codes of the source codes.
27 Citations
23 Claims
-
1. A method for verifying functional equivalence of source codes, comprising:
-
providing a source code;
modifying the source code to produce a modified source code; and
verifying the functional equivalence between the source code and the modified source code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for verifying the functional equivalence between a source code and a modified source code in a computer, comprising
identifying the assembly code structure for the computer; -
generating assembly codes for the source code and the modified source code based on the assembly code structure for the computer;
parsing the assembly codes for obtaining identifiers in the source code and the modified source code;
extracting relationships between corresponding identifiers in the assembly codes, the relationships being extracted on the basis of type, scope and linkage of the identifiers;
comparing the assembly codes for the functional equivalence on the basis of the extracted relationships; and
reporting the reasons for functional inequality between the source code and the modified source code.
-
-
17. A system for verifying functional equivalence between at least two source codes residing in at least one computer, comprising:
-
at least one CPU templates for identifying the assembly code structure for the computer on which the source codes reside;
a generator for generating an assembly code for each of the source codes based on the identified assembly code structure;
a parser for parsing the assembly codes for each of the source codes for obtaining identifiers in the source codes;
an extractor for extracting relationships between corresponding identifiers in the assembly codes, the relationships being extracted on the basis of type, scope and linkage of the identifiers; and
a comparator for comparing the assembly codes on the basis of the extracted relationships. - View Dependent Claims (18)
-
-
19. A system for verifying functional equivalence between at least two source codes in a computer, comprising:
a processor;
a machine-readable medium stored in the computer, the machine-readable medium capable of performing the steps of;
modifying a source code to produce a modified source code; and
verifying the functional equivalence between the source code and the modified source code.
-
20. A machine-readable medium having stored thereon instructions for:
-
modifying a source code to produce a modified source code; and
verifying the functional equivalence between the source code and the modified source code.
-
-
21. A method for verifying functional equivalence of a system comprising:
-
providing a system;
modifying the system to produce a modified system; and
verifying if the modified system is a functional equivalence of the system. - View Dependent Claims (22)
-
-
23. A computer assembly for verifying functional equivalence of systems comprising:
-
means for modifying a system to produce a modified system; and
means for verifying if the modified system is a functional equivalence of the system.
-
Specification