Bytecode Local Consistency Checks
Check that for every possible execution sequence
- stack is type-correct
- variables are set before use
- objects are initialized before use
- referenced local variables are type-correct
- no stack overflow or underflow
JVM is a weakly-typed language
- The type of a local variable or stack position varies during execution