Interface RebuildOperator

All Known Implementing Classes:
NoOpRebuildOperator

public interface RebuildOperator
This operator is used to avoid collision of program identifiers when returning from a procedure call. This operator does not compute any abstraction, but just performs simple operations as renaming variables, depending on the domain.
  • Method Details

    • rebuild

      <ContentT extends AbstractState<ContentT>> JvmAbstractState<ContentT> rebuild(JvmAbstractState<ContentT> predecessorCallState, JvmAbstractState<ContentT> expandedOutputState)
      Performs the rebuilding of the return state.
      Type Parameters:
      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.
      Parameters:
      predecessorCallState - the state of the caller at the moment of the procedure call
      expandedOutputState - the output of ExpandOperator
      Returns:
      The state of the caller after the procedure call