Package de.uzl.its.swat.instrument
package de.uzl.its.swat.instrument
This package contains all classes required for the instrumentation of the Java bytecode. The
instrumentation relies on ASM for bytecode manipulation.
Instrumentation logic is split into three core components: - The
InstructionTransformer
is responsible for adding
instrumentation that tracks each executed instruction that is in scope. - The SymbolicWrapperTransformer
provides wrapping for the
symbolic scope and is responsible for adding calls that initiate and terminate the symbolic
tracking. The last group of Transformers is responsible for adding handling that marks the
correct values as symbolic. Currently, two types are supported: - The SVCompTransformer
is responsible for adding instrumentation
that is compatible with the SV-Comp format. -
The ParameterTransformer
makes all method parameters
symbolic that match the pattern specified in the configuration.-
ClassDescriptionRepresents the different data types that can be encountered in method descriptors.An object to keep track of (classId, methodId, instructionId) tuples during instrumentation.A ClassWriter that computes the common super class of two classes without actually loading them with a ClassLoader.This class runs all the different transformers.Author: Koushik Sen (ksen@cs.berkeley.edu) Date: 7/1/12 Time: 10:50 PM