SandMark version 3.0


sandmark.util.opaquepredicatelib
Class RuntimeIsNullOPLib

java.lang.Object
  |
  +--sandmark.util.opaquepredicatelib.Predicatelib
        |
        +--sandmark.util.opaquepredicatelib.RuntimeIsNullOPLib

public class RuntimeIsNullOPLib
extends Predicatelib

RuntimeIsNullOPLib 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)

Field Summary
(package private)  int cur_mtd
           
 
Fields inherited from class sandmark.util.opaquepredicatelib.Predicatelib
cfc, insertPositionIndex, opaqueType, targetMethodGen
 
Constructor Summary
RuntimeIsNullOPLib(ClassFileCollection cfc, de.fub.bytecode.generic.MethodGen methodgen)
          Constructor
 
Method Summary
 void applyOpaquePredicate(int sp, int ep, java.util.ArrayList al, boolean SingleBasicBlock)
          The main function that coordinates the calls to all other functions which actually do the algorithm
 de.fub.bytecode.generic.MethodGen getMethodGen()
           
 int initialize(java.lang.String classname)
          Gets all the BCEL bytecode editing class objects up and running
 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 sandmark.util.opaquepredicatelib.Predicatelib
getOpaqueType, setStartPosition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cur_mtd

int cur_mtd
Constructor Detail

RuntimeIsNullOPLib

public RuntimeIsNullOPLib(ClassFileCollection cfc,
                          de.fub.bytecode.generic.MethodGen methodgen)
Constructor

Method Detail

initialize

public int initialize(java.lang.String classname)
Gets all the BCEL bytecode editing class objects up and running

Parameters:
classname -

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,
                                 java.util.ArrayList al,
                                 boolean SingleBasicBlock)
The main function that coordinates the calls to all other functions which actually do the algorithm


getMethodGen

public de.fub.bytecode.generic.MethodGen getMethodGen()

SandMark version 3.0

Wed Jan 29 10:30:05 MST 2003