Magic-Sets Transformation for the Analysis of Java Bytecode