The VM has a lot of lines of code that can interact and break in a lot of ways, but most of it is broken down into very simple individual functionalities. Unit tests for individual methods and integration tests in the form of bytecode programs to run would be great addition. Running these should become standard before every commit.