Abstract. We introduce XMLVM, a Turing complete XML-based programming language based on a stack-based, virtual machine. We show how XMLVM can automatically be created from Java class-files and .NET’s Intermediate Language. While the programmer is never directly exposed to XMLVM, we provide tools based on XMLVM for tasks such as cross-language functional testing or code migration. Overview XMLVM is a Turing complete, fine-granular XML-based programming language. XMLVM uses a generalized virtual machine model that allows us to translate Java byte code as well as .NET executables (which are also based on a virtual machine concept) to XMLVM. We therefore manage to embrace both the Java world as well as the .NET world with one XML-based language. Every instruction understood by the virtual machine, there is one XML-tag that represents this instruction. XMLVM is based on a fine-granular syntax which means that the complete syntax of XMLVM is accessible to an XML-parser. To facilitate th...