ProBe Side-Effect Information Data Format
Specification
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.