Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
sav07_lecture_24 [2007/07/01 18:29] kremena.diatchka |
sav07_lecture_24 [2008/05/21 10:48] vkuncak |
||
---|---|---|---|
Line 243: | Line 243: | ||
**References** | **References** | ||
* [[ftp://ftp.research.microsoft.com/users/rusa/popl96.ps|Points-to Analysis in Almost Linear Time]] | * [[ftp://ftp.research.microsoft.com/users/rusa/popl96.ps|Points-to Analysis in Almost Linear Time]] | ||
- | |||
- | |||
- | |||
===== Andersen's analysis ===== | ===== Andersen's analysis ===== | ||
Line 499: | Line 496: | ||
- [[http://www.brics.dk/PALE/|Pointer Assertion Logic Enginer]] - verification condition generation, MSOL over strings - no loop invariant inference | - [[http://www.brics.dk/PALE/|Pointer Assertion Logic Enginer]] - verification condition generation, MSOL over strings - no loop invariant inference | ||
- [[http://www.informatik.uni-freiburg.de/~wies/papers/verifying-complex-properties.pdf|Verifying Complex Properties using Symbolic Shape Analysis]] - loop invariant inference, wider class of structures | - [[http://www.informatik.uni-freiburg.de/~wies/papers/verifying-complex-properties.pdf|Verifying Complex Properties using Symbolic Shape Analysis]] - loop invariant inference, wider class of structures | ||
+ | |||
Line 529: | Line 527: | ||
== List example == | == List example == | ||
- | To prove properties about a list, sequences are used as abstract values. In the following example, $\alpha$ and $\beta$ denote sequences, and $\epsilon$ denotes an empty sequence. To describe the representation of a singly-linked list we write $\mbox{list}(\alpha,i,j)$ where where there is a list segment from //i// to //j// representing the sequence $\alpha$ | + | To prove properties about a list, sequences are used as abstract values. In the following example, $\alpha$ and $\beta$ denote sequences, and $\epsilon$ denotes an empty sequence. To describe the representation of a singly-linked list we write $\mbox{list}(\alpha,i,j)$ where where there is a list segment from //i// to //j// representing the sequence $\alpha$. |
+ | |||
+ | {{list_segments.png|}} | ||
Inductive definitions: | Inductive definitions: | ||
Line 562: | Line 562: | ||
* [[http://www.brics.dk/~mis/static.pdf|Lecture notes on static analysis by Michael Schwartzbach]] | * [[http://www.brics.dk/~mis/static.pdf|Lecture notes on static analysis by Michael Schwartzbach]] | ||
- | **NOTE:** Very relevant [[http://tresor.epfl.ch/dokuwiki/Seminars|talk by Hai Huu Nguyen]] (time TBD) | + |