类 JvmTransferRelation<ContentT extends AbstractState<ContentT>>
java.lang.Object
proguard.analysis.cpa.jvm.transfer.JvmTransferRelation<ContentT>
- 类型参数:
ContentT- The content of the jvm states. For example, this can be aSetAbstractStateof taints for taint analysis or aValueAbstractStatefor value analysis.
- 所有已实现的接口:
ProgramLocationDependentForwardTransferRelation<ContentT>,ProgramLocationDependentTransferRelation<ContentT>,TransferRelation<JvmAbstractState<ContentT>>
public abstract class JvmTransferRelation<ContentT extends AbstractState<ContentT>>
extends Object
implements ProgramLocationDependentForwardTransferRelation<ContentT>
The
JvmTransferRelation computes the successors of an JvmAbstractState for a
given instruction. It stores category 2 computational types as tuples of the abstract state
containing the information about the value in the most significant bits and a default abstract
state in the least significant bits of the big-endian notation.-
嵌套类概要
嵌套类修饰符和类型类说明protected classThisInstructionVisitorperforms generic operations (e.g., loads, stores) parametrized by the specific behavior ofJvmTransferRelationfor instruction applications, method invocations, and constructing literals. -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected ContentTcalculateArithmeticInstruction(Instruction instruction, List<ContentT> operands) Calculates the result of the instruction application.protected ContentTcomputeIncrement(ContentT state, int value) Returns the abstract state of the incremented inputstatebyvalue.generateEdgeAbstractSuccessor(JvmAbstractState<ContentT> abstractState, JvmCfaEdge edge, Precision precision) generateEdgeAbstractSuccessors(JvmAbstractState<ContentT> abstractState, JvmCfaEdge edge, Precision precision) Computes the successor states for the CFAedge.getAbstractByteConstant(byte b) Returns an abstract representation of a byte constantb.abstract ContentTReturns a default abstract state.getAbstractDoubleConstant(double d) Returns an abstract representation of a double constantd.getAbstractFloatConstant(float f) Returns an abstract representation of a float constantf.getAbstractIntegerConstant(int i) Returns an abstract representation of an integer constanti.getAbstractLongConstant(long l) Returns an abstract representation of a long constantl.Returns an abstract representation of a null reference.getAbstractReferenceValue(String className, Clazz referencedClazz, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, Object value) Returns an abstract representation of a reference valueobject.getAbstractShortConstant(short s) Returns an abstract representation of a short constants.protected JvmAbstractState<ContentT>getAbstractSuccessorForInstruction(JvmAbstractState<ContentT> abstractState, Instruction instruction, Clazz clazz, Precision precision) Returns the result of applyinginstructionto theabstractState.protected ContentThandleCheckCast(ContentT state, String typeName) Returns an abstract state representing the result of thecheckcastoperation.voidinvokeMethod(JvmAbstractState<ContentT> state, Call call, List<ContentT> operands) The default implementation computes join over its arguments.protected ContentTisInstanceOf(ContentT state, String type) Returns an abstract state representing the result of theinstanceofoperation.protected voidprocessCall(JvmAbstractState<ContentT> state, Call call) Pops the arguments from the operand stack and passes them toinvokeMethod.从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 proguard.analysis.cpa.interfaces.ProgramLocationDependentForwardTransferRelation
getEdges从接口继承的方法 proguard.analysis.cpa.interfaces.ProgramLocationDependentTransferRelation
generateAbstractSuccessors, wrapAbstractSuccessorInCollection
-
构造器详细资料
-
JvmTransferRelation
public JvmTransferRelation()
-
-
方法详细资料
-
generateEdgeAbstractSuccessors
public Collection<JvmAbstractState<ContentT>> generateEdgeAbstractSuccessors(JvmAbstractState<ContentT> abstractState, JvmCfaEdge edge, Precision precision) 从接口复制的说明:ProgramLocationDependentTransferRelationComputes the successor states for the CFAedge. -
generateEdgeAbstractSuccessor
public JvmAbstractState<ContentT> generateEdgeAbstractSuccessor(JvmAbstractState<ContentT> abstractState, JvmCfaEdge edge, Precision precision) -
getAbstractSuccessorForInstruction
protected JvmAbstractState<ContentT> getAbstractSuccessorForInstruction(JvmAbstractState<ContentT> abstractState, Instruction instruction, Clazz clazz, Precision precision) Returns the result of applyinginstructionto theabstractState. -
calculateArithmeticInstruction
Calculates the result of the instruction application. The default implementation computes join over its arguments. -
computeIncrement
Returns the abstract state of the incremented inputstatebyvalue. The default implementation computes the join. -
getAbstractByteConstant
Returns an abstract representation of a byte constantb. -
getAbstractDefault
Returns a default abstract state. In case of lattice abstract domains, it should be the bottom element. -
getAbstractDoubleConstant
Returns an abstract representation of a double constantd. -
getAbstractFloatConstant
Returns an abstract representation of a float constantf. -
getAbstractIntegerConstant
Returns an abstract representation of an integer constanti. -
getAbstractLongConstant
Returns an abstract representation of a long constantl. -
getAbstractNull
Returns an abstract representation of a null reference. -
getAbstractShortConstant
Returns an abstract representation of a short constants. -
getAbstractReferenceValue
public ContentT getAbstractReferenceValue(String className, Clazz referencedClazz, boolean mayBeExtension, boolean mayBeNull, Clazz creationClass, Method creationMethod, int creationOffset, Object value) Returns an abstract representation of a reference valueobject. -
processCall
Pops the arguments from the operand stack and passes them toinvokeMethod. -
invokeMethod
The default implementation computes join over its arguments. -
isInstanceOf
Returns an abstract state representing the result of theinstanceofoperation. -
handleCheckCast
Returns an abstract state representing the result of thecheckcastoperation.
-