Changes between Version 1 and Version 2 of StaticAnalysis


Ignore:
Timestamp:
05/07/19 17:18:21 (7 years ago)
Author:
ziqing
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • StaticAnalysis

    v1 v2  
    11== Points-To Analysis==
    2 The Flow-Insensitive Representation
     2**The Flow-Insensitive Representation
    33* {{{AssignmentIF}}} :  A flow-insensitive representation of a program is a set of {{{AssignmentIF}}}.  An {{{AssignmentIF}}} instance represents an assignment in the program which is one of the following forms:
    44 * Base: {{{ lhs = &rhs }}}
     
    77 * Complex 2: {{{ lhs = *rhs }}}
    88
     9  For the case of {{{ *lhs = *rhs }}}, an auxiliary variable {{{tmp}}} is introduced: {{{ tmp = *rhs }}}, {{{ *rhs = tmp }}}.
     10
     11  For now, structs and array elements are all invisible for the flow-insensitive representation: so {{{ expr.id }}} is abstracted to {{{expr}}};   {{{expr->id}}} is abstracted to {{{*expr}}};  {{{a[I]}}} is abstracted to {{{a}}};   {{{*(p + i)}}}, where {{{I}}} is an integer, is abstracted to {{{*p}}}.
     12 
     13  For the case of {{{lhs =  a op b}}} (or `*lhs = a op b`), it is abstracted to `lhs = a` (or `*lhs = a`) and `lhs = b` (or `*lhs = b`)
     14
    915
    1016