ALLVM

https://publish.illinois.edu/allvm-project/

An ‘ALLVM system’ is one in which all software components — except a small set needed for bootstrapping — are represented in a virtual instruction set instead of native machine code. The goal of the approach is to enable sophisticated compiler analyses and transformations to be applied across arbitrary software boundaries — not just caller-callee boundaries analyzed using traditional interprocedural techniques, but also several others: between applications and third-party libraries; applications and the underlying operating system; and between communicating processes in a distributed system.