sandmark.util.opaquepredicatelib
Class RuntimeStrOPLib
java.lang.Object
|
+--sandmark.util.opaquepredicatelib.Predicatelib
|
+--sandmark.util.opaquepredicatelib.RuntimeStrOPLib
- public class RuntimeStrOPLib
- extends Predicatelib
RuntimeStrOPLib creates run time deterministic predicates
at the requested byte code position of a node within the
CFG of a method.
- Author:
- Ashok Purushotham Ramasamy Venkatraj (ashok@cs.arizona.edu)
Method Summary |
void |
applyOpaquePredicate(int sp,
int ep,
de.fub.bytecode.generic.ConstantPoolGen cpg1,
java.util.ArrayList al)
The main function that insert the opaque predicate at the specific bytecode index |
de.fub.bytecode.generic.MethodGen |
getMethodGen()
|
boolean |
satisfyMethodConstraint()
This method can be something which analyzes the method to check whether its
feasible to construct the particular predicate; for example we can consider
constraints such as a lower threshold to method size, number of local variables
existing in the method, etc etc |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RuntimeStrOPLib
public RuntimeStrOPLib(ClassFileCollection cfc,
de.fub.bytecode.generic.MethodGen methodgen)
- Constructor
satisfyMethodConstraint
public boolean satisfyMethodConstraint()
- This method can be something which analyzes the method to check whether its
feasible to construct the particular predicate; for example we can consider
constraints such as a lower threshold to method size, number of local variables
existing in the method, etc etc
- Specified by:
satisfyMethodConstraint
in class Predicatelib
applyOpaquePredicate
public void applyOpaquePredicate(int sp,
int ep,
de.fub.bytecode.generic.ConstantPoolGen cpg1,
java.util.ArrayList al)
- The main function that insert the opaque predicate at the specific bytecode index
- Parameters:
sp
- The insert position index (start of a basic block)ep
- The end byte code position of the basic blockcpg1
- ConstantPoolGenal
- The InstructionList of the BasicBlock
getMethodGen
public de.fub.bytecode.generic.MethodGen getMethodGen()