Packages

package debug

Tools which help to debug OPAL as such.

E.g., it is possible to run the abstract interpreter for an arbitrary method to analyze the respective result.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. debug
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class ConfigurableXHTMLTracer extends XHTMLTracer

    The standard XHTML tracer which optionally generates some output.

  2. trait ConsoleEvaluationTracer extends AITracer

    A tracer that primarily prints out the evaluation order of the instructions on the console.

    A tracer that primarily prints out the evaluation order of the instructions on the console. This tracer is particularly useful to understand the handling of JSR/RET instructions.

    If you want to reuse this tracer to trace evaluations of different methods you should call the reset method between two calls.

    Thread Safety

    This tracer has internal state that is dependent on the state of the evaluation. Hence, this class is not thread safe and a new AI instance should be used per method that is analyzed.

  3. trait ConsoleTracer extends AITracer

    A tracer that prints out a trace's results on the console.

  4. case class FlowEntity(pc: Int, instruction: Instruction, operands: Operands[_ >: Null <: ai.Domain.DomainValue], locals: Locals[_ >: Null <: ai.Domain.DomainValue], properties: Option[String]) extends Product with Serializable
  5. class InterpretMethodsAnalysis[Source] extends Analysis[Source, BasicReport]

    An analysis that analyzes all methods of all class files of a project using a custom domain.

  6. trait XHTMLTracer extends AITracer

    A tracer that generates an HTML document.

Value Members

  1. object ClassHierarchyVisualizer

    Creates a dot (Graphviz) based representation of the class hierarchy of the specified jar file(s).

  2. object FlowEntity extends Serializable
  3. object InterpretMethod

    A small basic framework that facilitates the abstract interpretation of a specific method using a configurable domain.

  4. object InterpretMethods extends AnalysisApplication

    Performs an abstract interpretation of all methods of the given class file(s) using a configurable domain.

    Performs an abstract interpretation of all methods of the given class file(s) using a configurable domain.

    This class is meant to support the development and testing of new domains.

  5. object InterpretMethodsAnalysis
  6. object PrintBaseCFG

    Prints the CFG of a method using a data-flow independent analysis.

  7. object ShowConfiguration

    Prints the current explicit (application.conf/reference.conf files) and implicit configuration settings (java.security, environment).

    Prints the current explicit (application.conf/reference.conf files) and implicit configuration settings (java.security, environment). To show the explicit configuration use "-config" as a parameter.

    Information that is shown:

    • the set of restricted packages configured by the JRE if a SecurityManager is installed. Note that the package.definition property is by default not checked by any class loader. Hence, it is not safe to leverage this information.
    • packages with access restrictions (package.access property); a security exception will be thrown when a class is a respective package is accessed (checkPackageAccess) unless the corresponding RuntimePermission ("accessClassInPackage."+package) has been granted.

Inherited from AnyRef

Inherited from Any

Ungrouped