public class JvmTaintExpandOperator extends JvmDefaultExpandOperator<TaintAbstractState>
ExpandOperator inherits all the functionalities of a JvmDefaultExpandOperator and in addition taints the return values if the called function
is a source.| Constructor and Description |
|---|
JvmTaintExpandOperator(JvmCfa cfa,
java.util.Map<java.lang.String,TaintSource> fqnToSources)
Create the operator specifying the taint sources.
|
| Modifier and Type | Method and Description |
|---|---|
protected java.util.List<TaintAbstractState> |
calculateReturnValues(AbstractState reducedExitState,
Instruction returnInstruction,
Call call) |
JvmAbstractState<TaintAbstractState> |
expand(AbstractState expandedInitialState,
AbstractState reducedExitState,
JvmCfaNode blockEntryNode,
Call call)
Reconstructs the state of the caller of a procedure using the information of the expanded initial state, the reduced exit state, the block entry node (that can be used to retrieve the CFA
subgraph of the function), and the call to the procedure.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateJvmAbstractStatepublic JvmTaintExpandOperator(JvmCfa cfa, java.util.Map<java.lang.String,TaintSource> fqnToSources)
cfa - the control flow automaton of the analyzed program.fqnToSources - a mapping from fully qualified names of methods to their TaintSourcepublic JvmAbstractState<TaintAbstractState> expand(AbstractState expandedInitialState, AbstractState reducedExitState, JvmCfaNode blockEntryNode, Call call)
ExpandOperatorexpand in interface ExpandOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>expand in class JvmDefaultExpandOperator<TaintAbstractState>expandedInitialState - the entry state of the called procedure before any reductionreducedExitState - the state of the called procedure in its exit nodeblockEntryNode - the entry node of the called procedurecall - the information of the call to the procedureRebuildOperator to be solvedprotected java.util.List<TaintAbstractState> calculateReturnValues(AbstractState reducedExitState, Instruction returnInstruction, Call call)
calculateReturnValues in class JvmDefaultExpandOperator<TaintAbstractState>