类 DefaultExpandOperator<ContentT extends AbstractState<ContentT>>

  • 类型参数:
    ContentT - The content of the jvm states. For example, this can be a SetAbstractState of taints for taint analysis or a ValueAbstractState for value analysis.
    所有已实现的接口:
    ExpandOperator<ContentT>
    直接已知子类:
    TaintExpandOperator, ValueExpandOperator

    public class DefaultExpandOperator<ContentT extends AbstractState<ContentT>>
    extends java.lang.Object
    implements ExpandOperator<ContentT>
    This ExpandOperator simulates the JVM behavior on a method exit.

    In case of exit with a return instruction it takes the heap and the frame from the exit state of the called function and the local variables of the caller. Then pops the arguments of the call from the stack, pushes the return value, and creates an abstract state at the target of the intra-procedural call edge.

    In case of exit with an exception besides performing the same reconstruction for local variables, heap, and static fields, it discards the operand stack of the caller and pushes the exception. The abstract successor location is either the first applicable catch node of the caller, if exists, or the exception exit node of the caller.

    • 构造器详细资料

      • DefaultExpandOperator

        public DefaultExpandOperator​(JvmCfa cfa)
        Create the default expand operator for the JVM.
        参数:
        cfa - the control flow automaton of the analyzed program
      • DefaultExpandOperator

        public DefaultExpandOperator​(JvmCfa cfa,
                                     boolean expandHeap)
        Create the default expand operator for the JVM.
        参数:
        cfa - the control flow automaton of the analyzed program
        expandHeap - whether expansion of the heap is performed