Functionality Equivalence Verification
From Wikipedia, the free encyclopedia
Functionality Equivalence Verification is a technique used to prove that code modifications like code optimization, code restructure and dead code removal will not cause for any functionality change. This heuristic approach to testing functionality differs from both regression tests and sanity tests. This verification is done at the assembly code level.
The related term functional equivalence, introduced by ArtinSoft experts to refer to software migration efforts regarding legacy transformations, is used as a yardstick to measure when an application's legacy code has been successfully migrated to a more modern code and the application's functionality has been preserved.
When functional equivalence has been reached and properly verified, the migrated application functions exactly in the same manner that the original application behaved--with the same functionalities, properties, and under the same conditions. Usually, reaching functional equivalence is a critical first step of a software modernization project. After an application's code has been successfully converted, generally using automated techniques, developers can proceed to add more functionality, and take advantage of the new code's characteristics to further improve upon and streamline the migrated application's existing functionality.

