Lecture 07: Abstract Interpretation Basics
Continuing Lecture 06
We have seen in exercises Products of Lattices
Abstract Interpretation of Transition System
Using Galois Connection in Abstraction Interpretation
References
- Lecture notes on static analysis by Michael Schwartzbach (sections 4,5,6,7 in particular), and pdf file
- Tiger book, chapters 10, 17
- Abstract Interpretation in a Nutshell by Patrick Cousot (also a course at MIT)
Scala sources illustrating basic concepts of Abstract Interpretation:
- DiGraphs.scala - graphs
- SimpleCFG.scala - simple control-flow graphs
- SimpleAST.scala - simple abstract syntax tre
- SimpleTranslate.scala - translation from AST to CFG
- Lattices.scala - lattices with some examples, and definition of product
- DataFlowAnalysis.scala - simplest fixpoint iteration algorithm parameterized by transfer functions i.e. by sp#
- ConcreteAnalysis.scala - transfer functions for Collecting Semantics
- SignAnalysis.scala - transfer functions for sign analysis