public class JvmTaintTransferRelation extends JvmTransferRelation<SetAbstractState<JvmTaintSource>>
JvmTaintTransferRelation
is parametrized by a set of TaintSource
methods.Modifier and Type | Class and Description |
---|---|
protected class |
JvmTaintTransferRelation.InstructionAbstractInterpreter |
Constructor and Description |
---|
JvmTaintTransferRelation(java.util.Map<Signature,java.util.Set<JvmTaintSource>> taintSources)
Create a taint transfer relation.
|
Modifier and Type | Method and Description |
---|---|
SetAbstractState<JvmTaintSource> |
getAbstractDefault()
Returns a default abstract state.
|
protected JvmAbstractState<SetAbstractState<JvmTaintSource>> |
getAbstractSuccessorForInstruction(JvmAbstractState<SetAbstractState<JvmTaintSource>> abstractState,
Instruction instruction,
Clazz clazz,
Precision precision)
Returns the result of applying
instruction to the abstractState . |
void |
invokeMethod(JvmAbstractState<SetAbstractState<JvmTaintSource>> state,
Call call,
java.util.List<SetAbstractState<JvmTaintSource>> operands)
The default implementation computes join over its arguments.
|
calculateArithmeticInstruction, computeIncrement, getAbstractByteConstant, getAbstractDoubleConstant, getAbstractFloatConstant, getAbstractIntegerConstant, getAbstractLongConstant, getAbstractNull, getAbstractReferenceValue, getAbstractReferenceValue, getAbstractReferenceValue, getAbstractShortConstant, getEdgeAbstractSuccessor, isInstanceOf, processCall
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEdges
getAbstractSuccessors
public JvmTaintTransferRelation(java.util.Map<Signature,java.util.Set<JvmTaintSource>> taintSources)
taintSources
- a mapping from fully qualified names to taint sourcespublic void invokeMethod(JvmAbstractState<SetAbstractState<JvmTaintSource>> state, Call call, java.util.List<SetAbstractState<JvmTaintSource>> operands)
JvmTransferRelation
invokeMethod
in class JvmTransferRelation<SetAbstractState<JvmTaintSource>>
public SetAbstractState<JvmTaintSource> getAbstractDefault()
JvmTransferRelation
getAbstractDefault
in class JvmTransferRelation<SetAbstractState<JvmTaintSource>>
protected JvmAbstractState<SetAbstractState<JvmTaintSource>> getAbstractSuccessorForInstruction(JvmAbstractState<SetAbstractState<JvmTaintSource>> abstractState, Instruction instruction, Clazz clazz, Precision precision)
JvmTransferRelation
instruction
to the abstractState
.getAbstractSuccessorForInstruction
in class JvmTransferRelation<SetAbstractState<JvmTaintSource>>