com.ibm.wala.demandpa.alg.refinepolicy
Class TunedRefinementPolicy

java.lang.Object
  extended by com.ibm.wala.demandpa.alg.refinepolicy.TunedRefinementPolicy
All Implemented Interfaces:
RefinementPolicy

public class TunedRefinementPolicy
extends java.lang.Object
implements RefinementPolicy

A refinement policy that iteratively adds more types to refine, based on which type was encountered first in each analysis pass.


Nested Class Summary
static class TunedRefinementPolicy.Factory
           
 
Constructor Summary
TunedRefinementPolicy(ClassHierarchy cha)
           
 
Method Summary
 int getBudgetForPass(int passNum)
           
 CallGraphRefinePolicy getCallGraphRefinePolicy()
           
 FieldRefinePolicy getFieldRefinePolicy()
           
 int getNumPasses()
           
 boolean nextPass()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TunedRefinementPolicy

public TunedRefinementPolicy(ClassHierarchy cha)
Method Detail

getBudgetForPass

public int getBudgetForPass(int passNum)
Specified by:
getBudgetForPass in interface RefinementPolicy
Returns:
the maximum number of nodes to traverse in pass passNum

getCallGraphRefinePolicy

public CallGraphRefinePolicy getCallGraphRefinePolicy()
Specified by:
getCallGraphRefinePolicy in interface RefinementPolicy
Returns:
the call graph refinement policy

getFieldRefinePolicy

public FieldRefinePolicy getFieldRefinePolicy()
Specified by:
getFieldRefinePolicy in interface RefinementPolicy
Returns:
the field refinement policy

getNumPasses

public int getNumPasses()
Specified by:
getNumPasses in interface RefinementPolicy
Returns:
the maximum number of refinement iterations for the query

nextPass

public boolean nextPass()
Specified by:
nextPass in interface RefinementPolicy
Returns:
true if more refinement can be done, and hence another pass can be attempted; false otherwise