“…For example, the original Java Pathfinder [19,20] translated Java programs into Promela, the input language for the SPIN model checker [23,24], while MAGIC starts by analyzing C programs to build a control flow graph [7]. Java Pathfinder 2 [5,30,36] instead starts from Java byte codes, essentially a binary representation, while the Bandera system [9,10,13] uses both the source and the byte code representation.…”