Class JvmDefaultReduceOperator<StateT extends LatticeAbstractState<StateT>>

    • Constructor Detail

      • JvmDefaultReduceOperator

        public JvmDefaultReduceOperator()
        Create the default reduce operator for the JVM.
      • JvmDefaultReduceOperator

        public JvmDefaultReduceOperator​(boolean reduceHeap)
        Create the default reduce operator for the JVM.
        Parameters:
        reduceHeap - whether reduction of the heap is performed
    • Method Detail

      • reduceImpl

        public JvmAbstractState<StateT> reduceImpl​(AbstractState expandedInitialState,
                                                   JvmCfaNode blockEntryNode,
                                                   Call call)
        Description copied from interface: ReduceOperator
        Creates the initial state of the called procedure discarding the useless information from the state of the caller.
        Specified by:
        reduceImpl in interface ReduceOperator<JvmCfaNode,​JvmCfaEdge,​MethodSignature>
        Parameters:
        expandedInitialState - the entry state of the called procedure before any reduction
        blockEntryNode - the entry node of the called procedure
        call - the information of the call to the procedure
        Returns:
        The entry state of the called procedure
      • reduceStaticFields

        protected void reduceStaticFields​(MapAbstractState<java.lang.String,​StateT> staticFields)
        Reduces the static fields. The default implementation doesn't perform any reduction.
        Parameters:
        staticFields - the static fields map that is modified by this method by performing reduction
      • reduceHeap

        protected void reduceHeap​(JvmHeapAbstractState<StateT> heap,
                                  JvmFrameAbstractState<StateT> reducedFrame,
                                  MapAbstractState<java.lang.String,​StateT> reducedStaticFields)
        Reduces the heap state. The default implementation doesn't perform any reduction.
        Parameters:
        heap - the heap that is modified by this method by performing reduction
        reducedFrame - the frame after reduction has been performed on it
        reducedStaticFields - the static fields after reduction has been performed on them