| Version 2 (modified by , 7 years ago) ( diff ) |
|---|
Points-To Analysis
The Flow-Insensitive Representation
AssignmentIF: A flow-insensitive representation of a program is a set ofAssignmentIF. AnAssignmentIFinstance represents an assignment in the program which is one of the following forms:- Base:
lhs = &rhs - Simple:
lhs = rhs - Complex 1:
*lhs = rhs - Complex 2:
lhs = *rhs
- Base:
For the case of
*lhs = *rhs, an auxiliary variabletmpis introduced:tmp = *rhs,*rhs = tmp.
For now, structs and array elements are all invisible for the flow-insensitive representation: so
expr.idis abstracted toexpr;expr->idis abstracted to*expr;a[I]is abstracted toa;*(p + i), whereIis an integer, is abstracted to*p.
For the case of
lhs = a op b(or*lhs = a op b), it is abstracted tolhs = a(or*lhs = a) andlhs = b(or*lhs = b)
Read / Write Analysis
Note:
See TracWiki
for help on using the wiki.
