The invention relates to a software system and method for automatically
verifying the correct execution of an application ported from one
instruction set architecture (ISA) to another ISA. In this method,
versions of the application are prepared for the two ISAs. Each version
is then executed in a simulator or emulator for the appropriate ISA and
the results of any change in memory made during the execution are
compared. If each memory change made during the execution of the target
version of the application is found to be equivalent to a memory change
made during the execution of the source version of the application, the
execution of the target (or ported) application is verifiably correct.