Class Negation

    • Constructor Detail

      • Negation

        public Negation​(CFG cfg,
                        CodeLocation location,
                        Expression expression)
        Builds the numerical negation.
        Parameters:
        cfg - the CFG where this operation lies
        location - the location where this literal is defined
        expression - the operand of this operation
    • Method Detail

      • unarySemantics

        public <A extends AbstractState<A,​H,​V,​T>,​H extends HeapDomain<H>,​V extends ValueDomain<V>,​T extends TypeDomain<T>> AnalysisState<A,​H,​V,​T> unarySemantics​(InterproceduralAnalysis<A,​H,​V,​T> interprocedural,
                                                                                                                                                                                                                       AnalysisState<A,​H,​V,​T> state,
                                                                                                                                                                                                                       SymbolicExpression expr,
                                                                                                                                                                                                                       StatementStore<A,​H,​V,​T> expressions)
                                                                                                                                                                                                                throws SemanticException
        Description copied from class: UnaryExpression
        Computes the semantics of the expression, after the semantics of the sub-expression has been computed. Meta variables from the sub-expression will be forgotten after this expression returns.
        Specified by:
        unarySemantics in class UnaryExpression
        Type Parameters:
        A - the type of AbstractState
        H - the type of the HeapDomain
        V - the type of the ValueDomain
        T - the type of TypeDomain
        Parameters:
        interprocedural - the interprocedural analysis of the program to analyze
        state - the state where the expression is to be evaluated
        expr - the symbolic expressions representing the computed value of the sub-expression of this expression
        expressions - the cache where analysis states of intermediate expressions are stored and that can be accessed to query for post-states of parameters expressions
        Returns:
        the AnalysisState representing the abstract result of the execution of this expression
        Throws:
        SemanticException - if something goes wrong during the computation