Text this: Dynamic Java program analysis using virtual machine modification