Rethinking Open Source: The Challenges Behind Establishing a Modern Emulator
emucross.com
emucross.com
Then the fact that very complex software, such as an unaltered app, runs as it was intended to, on top of your emulator is verification that your emulation is indeed correct.
Emulating an app is trivial compared with emulating the underlying structures. Actually, emulating an app is just doing a 'clean-room' rewrite.