Your workload will consist of completing an assigned weekly reading BEFORE class (I am guestimating, it will take about 6 hours a week to do well). You may be also assigned some small exercises, to enhance your understanding of the material. Those are not to be handed in but can be discussed in class. Bring to class questions, comments, suggestion for going over some aspects in more detail, as well as be prepared to step in to explain some material to your fellow classmates.
You are also responsible for leading the discussion during at least one lecture in the semester. In addition, you might be called to present an algorithm or a concept in class (15-20 minutes).
How to choose which week you should lead the discussion? Read the tentative schedule below and choose two topics you are interested in. In any given week, I reserve the right to "volunteer" people at random if no one else agrees to take on this material.
What does "leading the discussion" entail? Suppose you are responsible for the material for week N. During week N-1, skim through the assigned chapter and look for 2-3 automated verification papers (if appropriate) to supplement the theoretical exposition. At the end of the class of week N-1, give a 5-minute summary of the proposed readings, both coming from the textbook and from the papers. Discuss with me the best form of presenting this material.
Whether you are taking the course for credit or just sitting in, leading a discussion is fun and does not actually take all that much work! And, more importantly, I will be after you, so please volunteer!
Class participation | 50% |
Discussion leading, "presentation" | 50% |
Week | Date | Topics | Readings | Leader | Homework |
1 | Sep. 12 | Introduction, course organization, setup [PPT] [PDF] | NONE | Marsha | NONE |
2 | Sept. 19 | Data-flow analysis.[PPT][PDF] | NNH Ch. 1, NNH Ch. 2.1-2.2 | Marsha | HW1 Sols |
3 | Sept. 26 | Interprocedural data-flow analysis (RHS95) and applications: ESP and Metal. | NNH Ch. 2.5, [RHS95], [CFRWZ91], [HCXE02], [DLS02]. Read NNH 2.3-2.4 if you have time | Tom | HW2 Sols |
4 | Oct. 3 | Lambda calculus, Type systems | [PCh5], [C04] | Justin | HW3 Sols |
5 | Oct. 10 | Finish prev. lecture and Applications of type analysis | [NCW02], [FTA02], [DF01] | Kelvin | HW4 Sols |
6 | Oct. 17 | NO CLASS (CASCON) | |||
7 | Oct. 24 | Finish previous lecture and Shape analysis. | NNH Ch. 2.6, [SRW02] | Yuan Yong | HW5 Sols |
8 | Oct. 31 | Finish previous lecture and Program semantics | [Sch96], [Sch98], | Torsten | HW6 Sols |
9 | Nov. 7 | Finish previous lecture and Slicing | [Tip95], [RABDH05], [ZGG06] | Mihaela | TBA |
11 | Nov. 14 | Abstract interpretation | [C00], part 2 of [SchNotes], [C05] | Anya | TBA |
12 | Nov. 21 | Interprocedural analysis, cont'd | [JS04] [RHS95], [BR00], [BR01] | Ou | TBA |
13 | Nov. 28 | Abstract interpretation: widening | [NNH Ch. 4.2], [Hal06], [BRP02] | Shiva | TBA |
13 | Nov. 30 (additional lecture) | Axiomatic semantics, weakest precondition | [D75], [H69], [NN Section 6.2], [Necula07] | Jocelyn + Ramy | HW9 |
14 | Dec. 5 | Abstract Interpretation tools, Spec#, ESC/Java | [BCCFMMMR03], [Sch06], etc. | Ramy + Tom | TBA |
15 | Dec. 12 | Applications (bddbddb + testing + others) + course summary | [J04], etc. | Yuan Gan | TBA |