| Date |
Slides |
Topic | Readings |
Due |
| 04/01/08 |
PDF |
Overview |
(required) none (optional) Winskel Ch 1 |
|
| 04/03/08 |
PDF |
Operational Semantics (I) |
(required) Winskel Ch 2 (recommended) Hoare: Hints for Programming Language Design (optional) Wegner: Programming Languages - The First 25 Years (optional) Wirth: On the Design of Programming Languages (optional) Naur: Report on the Algorithmic Language ALGOL 60 |
|
| 04/08/08 |
PDF |
Operational Semantics (II) |
(required) Winskel Ch 3 |
|
| 04/10/08 |
PDF |
Denotational Semantics (I) |
(required) Winskel Ch 5, Ch 8 |
|
| 04/15/08 |
PDF |
Denotational Semantics (II) |
(required) Winskel Ch 5, Ch 8 |
|
| 04/17/08 |
Guest speakers: Earl Barr Mark Gabel Gary Wassermann |
(required) none |
|
|
| 04/22/08 |
same |
Denotational Semantics (III) |
(required) Winskel Ch 5, Ch 8 |
|
| 04/24/08 |
same |
Denotational Semantics (IV) |
(required) Winskel Ch 5, Ch 8 |
|
| 04/29/08 |
PDF |
Axiomatic Semantics (I) |
(required) Winskel Ch 6 (required) Hoare: An Axiomatic Basis for Computer Programming (optional) Floyd: Assigning Meaning to Programs (optional) Hoare: Proof of a program FIND |
|
| 05/01/08 |
same |
Axiomatic Semantics (II) |
(required) Winskel Ch 7 (required) Dijkstra: Guarded Commands |
|
| 05/06/08 |
PPT |
Axiomatic Semantics (III), ESC/Java |
(required)
Flanagan et al.: Extended Static Checking for Java (optional) Link to ESC/Java2 |
|
| 05/08/08 |
PDF |
Abstract Interpretation (I) |
(required)
Abramsky, Hankin: An Introduction to
Abstract Interpretation (recommended) Cousot, Cousot: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints (the original paper on abstract interpretation) (optional) Jones, Nielson: Abstract Interpretation: a Semantics-Based Tool for Program Analysis (pp1-30) |
|
| 05/13/08 |
N/A |
no lecture, work on project/homework |
||
| 05/15/08 |
N/A |
no lecture, work on project/homework |
||
| 05/20/08 |
same |
Abstract Interpretation (II) |
(optional) Link to PolySpace |
|
| 05/22/08 |
PDF |
Dataflow Analysis |
(required)
Kildall: A Unified
Approach to Global Program Optimization (POPL'73) |
|
| 05/27/08 |
PDF |
Introduction to Model Checking |
(optional) Clarke, Grumberg, Peled: Model
Checking, MIT Press, 2001 (optional) Clarke, Emerson, Sistla: Automatic verification of finite-state concurrent systems using temporal logic specifications (TOPLAS 1986;8(2):244--263) (optional) McMillan: Symbolic Model Checking, Kluwer Academic Publishers, 1993 (optional) Bryant: Graph-Based Algorithms for Boolean Function Manipulation (IEEE Transactions on Computers, Vol. C - 35, No. 8, August, 1986, pp. 677 - 691) |
|
| 05/29/08 |
PDF |
Lambda Calculus and Functional Programming |
(required) Pierce: Foundational Calculi for Programming Languages (pp 1-10) |
|
| 06/03/08 |
PDF |
Simply Typed Lambda Calculus (I) |
(required) Cardelli: Type Systems |
|
| 06/05/08 |
same |
Simply Typed Lambda Calculus (II) |
(recommended) Wright, Felleisen: A Syntatic Approach to Type Soundness |