Class Subtraction

    • Constructor Detail

      • Subtraction

        public Subtraction​(CFG cfg,
                           CodeLocation location,
                           Expression left,
                           Expression right)
        Builds the subtraction.
        Parameters:
        cfg - the CFG where this operation lies
        location - the location where this literal is defined
        left - the left-hand side of this operation
        right - the right-hand side of this operation
    • Method Detail

      • binarySemantics

        protected <A extends AbstractState<A,​H,​V>,​H extends HeapDomain<H>,​V extends ValueDomain<V>> AnalysisState<A,​H,​V> binarySemantics​(AnalysisState<A,​H,​V> entryState,
                                                                                                                                                                             InterproceduralAnalysis<A,​H,​V> interprocedural,
                                                                                                                                                                             AnalysisState<A,​H,​V> leftState,
                                                                                                                                                                             SymbolicExpression left,
                                                                                                                                                                             AnalysisState<A,​H,​V> rightState,
                                                                                                                                                                             SymbolicExpression right)
                                                                                                                                                                      throws SemanticException
        Description copied from class: BinaryNativeCall
        Computes the semantics of the call, after the semantics of the parameters have been computed. Meta variables from the parameters will be forgotten after this call returns.
        Specified by:
        binarySemantics in class BinaryNativeCall
        Type Parameters:
        A - the type of AbstractState
        H - the type of the HeapDomain
        V - the type of the ValueDomain
        Parameters:
        entryState - the entry state of this binary call
        interprocedural - the interprocedural analysis of the program to analyze
        leftState - the state obtained by evaluating left in entryState
        left - the symbolic expression representing the computed value of the first parameter of this call
        rightState - the state obtained by evaluating right in leftState
        right - the symbolic expression representing the computed value of the second parameter of this call
        Returns:
        the AnalysisState representing the abstract result of the execution of this call
        Throws:
        SemanticException - if something goes wrong during the computation