DATE | TOPIC | PRESENTER | ASSIGNED READING | OTHER RESOURCES; GUIDANCE |
---|---|---|---|---|
Wed, Jan 27 | The SPIN Model Checker | Leif Andersen | Gerard Holzmann: The Model Checker SPIN. IEEE TOSE, 1997 |
Presenter: start at the
main SPIN
website. Discuss principal features, and give a demo. Everyone: focus on the pragmatic aspects of the paper: expressiveness of input and specification language, feedback given, etc. At this stage of the class you may mostly skip the algorithmic details (Section 3). |
Wed, Jan 27 | Formal Methods at POPL 2016 | Max New | POPL 2016 |
Presenter:
Nonetheless, look at the POPL 2016 page and see what is out there, so that we can have a meaningful discussion. |
Wed, Feb 10 | Stateless Search in Verisoft | Sam Caldwell | Patrice Godefroid: Model Checking for Programming Languages using Verisoft. POPL, 1997 |
Presenter:
|
Thu, Feb 11 | Proving Termination | Konstantinos Athanasiou | Byron Cook, Andreas Podelski, Andrey Rybalchenko: Termination Proofs for Systems Code. PLDI, 2006 |
Presenter:
|
Wed, Feb 17 | Lazy Abstraction | Kevin Clancy | Tom Henzinger, Ranjit Jhala, Rupak Majumdar, Gregoire Sutre: Lazy Abstraction. POPL, 2002 | |
Mon, Feb 22 | Predicate Abstraction for the C Language | Yijia Gu | Thomas Ball, Rupak Majumdar, Todd D. Millstein, Sriram K. Rajamani: Automatic Predicate Abstraction of C Programs. PLDI, 2001 | |
Mon, Feb 29 | Craig Interpolation in Model Checking | Ben Greenman |
Kenneth McMillan: Applications of Craig Interpolants in Model Checking. TACAS, 2005 Kenneth McMillan: Lazy Abstraction with Interpolants. CAV, 2006 |
Presenter:
|
Wed, Mar 02 | Decision Procedures Overview | Peizun Liu | Daniel Kroening, Ofer Strichman: Decision Procedures – An Algorithmic Point of View. Springer-Verlag Berlin/Heidelberg, 2008 (You can get this book in the library.) |
Presenter: you should cover:
Everyone: no one-page reading report required for this tutorial! |
Wed, Mar 02 | Separation Logic | Benjamin Chung | John C. Reynolds: Separation Logic: A Logic for Shared Mutable Data Structures. LICS, 2002 | See also: An Overview of Separation Logic |
Wed, Mar 16 | Probabilistic Model Checking | Andrew Cobb | Vicky Hartonas-Garmhausen, Sergio Campos, Edmund Clarke: ProbVerus: Probabilistic Symbolic Model Checking. ARTS, 1999 | This is very sketchy, but gives a breadth-first overview. We will likely look at timed temporal logics more in future sessions. |
Mon+Wed, Mar 21+23 | Timed and Hybrid Systems Overview | Thomas Wahl | Oded Maler, Zohar Manna, Amir Pnueli: From timed to hybrid systems. REX Workshop, 1991 |
A good overview/survey. More technicalities (but less breadth) in: Thomas A. Henzinger, Zohar Manna, Amir Pnueli: Temporal Proof Methodologies for Real-time Systems. POPL, 1991. We will also look at timed automata this week (no reading assignment on that part). |
Mon, Mar 28 | Concurrency | Thomas Wahl | Sarita Adve, Hans-J. Boehm: Memory Models: A Case for Rethinking Parallel Languages and Hardware. CACM, 2010 |
We will discuss: (a) Foundational Results in (Reordering-Free) Concurrency; (b) Memory Models in Software and Hardware. No reading is required for (a). The assigned reading gives a good and relatively light overview on (b). |
DATE | TITLE | PRESENTER | ARTWORK |
---|---|---|---|
Wed, Mar 30 | Verifying an Optimization Phase of the Nanopass Compiler | Leif Andersen | ![]() |
Wed, Mar 30 | KodKod^2: Porting Kodkod from Java to Racket | Ben Greenman | ![]() |
Mon, Apr 04 | Abstract Interpretation for Tracking Numerical Error | Kevin Clancy | ![]() |
Mon, Apr 04 | Dynamic Analysis of the Stability of Floating-Point Programs | Yijia Gu | ![]() |
Wed, Apr 06 | On Masking Countermeasures against FP-based Timing Attacks | Konstantinos Athanasiou | ![]() |
Mon, Apr 11 | Towards Optimizing Broadcast Preimage Computation | Peizun Liu | ![]() |
Wed, Apr 13 | A model checker for Network Calculus | Sam Caldwell | |
Wed, Apr 25 | Gradual Typing as Abstract Interpretation | Max New | |
Mon, Apr 25 | Formal Verification of C components of dynamic programming languages | Ben Chung |