ProBe Side-Effect Information Data Format

Specification

Schema

Side-Effect Information Schema

Abstract Node

Member

A Member abstract node can be either a Method or a Field node, and has an outgoing declaredIn edge to a Class node.

Concrete Nodes

Stmt

Each Stmt node represents a bytecode instruction in the program. The offset attribute is the bytecode offset of the instruction in the method in which it appears.

Method

Each Method node represents a method in the program. The name attribute specifies the name of the method. The signature attribute specifies the parameters and return type (but not the name) of the method in the same format as they are stored in the a Method Descriptor in the Java class file format (see The Java Virtual Machine Specification, section 4.3.3).

Field

Each Field node represents a field in the program. The name attribute specifies the name of the field.

Class

Each Class node represents a class in the program. The name attribute specifies the name of the class, not including the package. For inner classes, the name is determined as in the Java class file (i.e. the name may contain $ signs). The package attribute specifies the package in which the class is defined, with subpackages separated by a period.

FieldSet

A FieldSet node represents a unique set of fields in the program that are accessed by some instruction. inSet edges lead from each FieldSet node to the Field nodes representing the fields contained in the set.

Edges

declaredIn

Each Member (Method or Field) node has exactly one declaredIn edge to the Class node corresponding to the class in which the method or field is declared.

inBody

Each Stmt node has exactly one inBody edge to the Method node corresponding to the method in whose body the corresponding bytecode instruction appears.

reads

A reads edge connects the Stmt node representing each bytecode instruction to the FieldSet node representing the set of fields that may be read during execution of the bytecode instruction. Included in the set are not only fields read by the bytecode instruction itself, but also fields read in methods invoked from the instruction.

writes

A writes edge connects the Stmt node representing each bytecode instruction to the FieldSet node representing the set of fields that may be written to during execution of the bytecode instruction. Included in the set are not only fields written to by the bytecode instruction itself, but also fields written to in methods invoked from the instruction.

inSet

Each FieldSet node has outgoing inSet edges to the Field nodes representing the fields contained in the set.

Valid HTML 4.01!