Package boomerang
Class DefaultBoomerangOptions
- java.lang.Object
-
- boomerang.DefaultBoomerangOptions
-
- All Implemented Interfaces:
BoomerangOptions
- Direct Known Subclasses:
IntAndStringBoomerangOptions
public class DefaultBoomerangOptions extends Object implements BoomerangOptions
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface boomerang.BoomerangOptions
BoomerangOptions.ArrayStrategy, BoomerangOptions.StaticFieldStrategy
-
-
Constructor Summary
Constructors Constructor Description DefaultBoomerangOptions()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface boomerang.BoomerangOptions
getResolutionStrategy
-
-
-
-
Method Detail
-
isAllocationVal
public boolean isAllocationVal(Val val)
-
getStaticFieldStrategy
public BoomerangOptions.StaticFieldStrategy getStaticFieldStrategy()
- Specified by:
getStaticFieldStrategyin interfaceBoomerangOptions
-
getArrayStrategy
public BoomerangOptions.ArrayStrategy getArrayStrategy()
- Specified by:
getArrayStrategyin interfaceBoomerangOptions
-
typeCheck
public boolean typeCheck()
- Specified by:
typeCheckin interfaceBoomerangOptions
-
trackReturnOfInstanceOf
public boolean trackReturnOfInstanceOf()
- Specified by:
trackReturnOfInstanceOfin interfaceBoomerangOptions
-
onTheFlyCallGraph
public boolean onTheFlyCallGraph()
- Specified by:
onTheFlyCallGraphin interfaceBoomerangOptions
-
throwFlows
public boolean throwFlows()
- Specified by:
throwFlowsin interfaceBoomerangOptions
-
callSummaries
public boolean callSummaries()
- Specified by:
callSummariesin interfaceBoomerangOptions
-
fieldSummaries
public boolean fieldSummaries()
- Specified by:
fieldSummariesin interfaceBoomerangOptions
-
trackAnySubclassOfThrowable
public boolean trackAnySubclassOfThrowable()
-
trackStrings
public boolean trackStrings()
-
trackNullAssignments
public boolean trackNullAssignments()
-
getAllocationVal
public Optional<AllocVal> getAllocationVal(Method m, Statement stmt, Val fact)
- Specified by:
getAllocationValin interfaceBoomerangOptions
-
analysisTimeoutMS
public int analysisTimeoutMS()
- Specified by:
analysisTimeoutMSin interfaceBoomerangOptions
-
statsFactory
public IBoomerangStats statsFactory()
- Specified by:
statsFactoryin interfaceBoomerangOptions
-
aliasing
public boolean aliasing()
- Specified by:
aliasingin interfaceBoomerangOptions
-
killNullAtCast
public boolean killNullAtCast()
Description copied from interface:BoomerangOptionsAssume we propagate an object of soot.NullType in variable y and the propagation reaches a statement x = (Object) y.- Specified by:
killNullAtCastin interfaceBoomerangOptions- Returns:
- If set to true, the propagation will NOT continue in x. This does not match the runtime semantics. At runtime, null can be cast to any RefType! Though a check (null instanceof Object) returns false.
-
trackStaticFieldAtEntryPointToClinit
public boolean trackStaticFieldAtEntryPointToClinit()
- Specified by:
trackStaticFieldAtEntryPointToClinitin interfaceBoomerangOptions
-
trackFields
public boolean trackFields()
- Specified by:
trackFieldsin interfaceBoomerangOptions
-
maxCallDepth
public int maxCallDepth()
- Specified by:
maxCallDepthin interfaceBoomerangOptions
-
maxUnbalancedCallDepth
public int maxUnbalancedCallDepth()
- Specified by:
maxUnbalancedCallDepthin interfaceBoomerangOptions
-
maxFieldDepth
public int maxFieldDepth()
- Specified by:
maxFieldDepthin interfaceBoomerangOptions
-
onTheFlyControlFlow
public boolean onTheFlyControlFlow()
- Specified by:
onTheFlyControlFlowin interfaceBoomerangOptions
-
ignoreInnerClassFields
public boolean ignoreInnerClassFields()
- Specified by:
ignoreInnerClassFieldsin interfaceBoomerangOptions
-
trackPathConditions
public boolean trackPathConditions()
- Specified by:
trackPathConditionsin interfaceBoomerangOptions
-
prunePathConditions
public boolean prunePathConditions()
- Specified by:
prunePathConditionsin interfaceBoomerangOptions
-
trackDataFlowPath
public boolean trackDataFlowPath()
- Specified by:
trackDataFlowPathin interfaceBoomerangOptions
-
trackImplicitFlows
public boolean trackImplicitFlows()
- Specified by:
trackImplicitFlowsin interfaceBoomerangOptions
-
allowMultipleQueries
public boolean allowMultipleQueries()
- Specified by:
allowMultipleQueriesin interfaceBoomerangOptions
-
getSparsificationStrategy
public SparseCFGCache.SparsificationStrategy getSparsificationStrategy()
- Specified by:
getSparsificationStrategyin interfaceBoomerangOptions
-
handleSpecialInvokeAsNormalPropagation
public boolean handleSpecialInvokeAsNormalPropagation()
- Specified by:
handleSpecialInvokeAsNormalPropagationin interfaceBoomerangOptions
-
ignoreSparsificationAfterQuery
public boolean ignoreSparsificationAfterQuery()
- Specified by:
ignoreSparsificationAfterQueryin interfaceBoomerangOptions
-
checkValid
public void checkValid()
- Specified by:
checkValidin interfaceBoomerangOptions
-
handleMaps
public boolean handleMaps()
- Specified by:
handleMapsin interfaceBoomerangOptions
-
getForwardFlowFunctions
public IForwardFlowFunction getForwardFlowFunctions()
- Specified by:
getForwardFlowFunctionsin interfaceBoomerangOptions
-
getBackwardFlowFunction
public IBackwardFlowFunction getBackwardFlowFunction()
- Specified by:
getBackwardFlowFunctionin interfaceBoomerangOptions
-
-