OPAL is a Scala-based framework for the static analysis, manipulation and creation of Java bytecode.
Implementation of an abstract interpretation (ai) framework – also referred to as OPAL.
This framework assumes that the analyzed bytecode is valid; i.e., the JVM's
bytecode verifier would be able to verify the code. Furthermore, load-time errors
LinkageErrors) are – by default – completely ignored to facilitate the
analysis of parts of a project. In general, if the presented bytecode is not valid,
the result is undefined (i.e., OPAL may report meaningless results, crash or run
org.opalj.ai.AI - Implements the abstract interpreter that processes a methods code and uses an analysis-specific domain to perform the abstract computations.
org.opalj.ai.Domain - The core interface between the abstract interpretation framework and the abstract domain that is responsible for performing the abstract computations.