Interpreter-guided differential JIT compiler unit testing
Guillermo Polito, Sté́phane Ducasse, Pablo Tesone · 2022
Modern language implementations using Virtual Machines feature diverse execution engines such as byte-code interpreters and machine-code dynamic translators, a.k.a. JIT compilers. Validating such engines requires not only validating each in isolation, but also that they are functionally equivalent. Tests should be duplicated for each execution engine, exercising the same execution paths on each of them.