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.
This package contains definitions of common domains that can be used for the implementation of analyses.
Common utility functionality.