CSE 503 Winter 2014
Course Calendar

Subscribe to this calendar (google, iCal, etc.)

 Show color key

January
MondayTuesdayWednesdayThursdayFriday
06 07
HW1 out
10:30-11:50 Lecture
CSE 403
Introduction; static and dynamic analysis; teaser for abstract interpretation
08 09
10:30-11:50 Lecture
CSE 403
Abstract interpretation; read abstract syntax tree, control flow graph, 3-address form, first two sections of Abstract Interpretation: a semantics-based tool for program analysis, by Neil Jones and Flemming Nielson
10
13 14 15 16
10:30-11:50 Lecture
CSE 403
Abstract interpretation; read Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints, by Patrick Cousot and Radhia Cousot, in POPL 1977.
17
20
Martin Luther King, Jr's Birthday
21
Proposal due
10:30-11:50 Lecture
CSE 403
Abstract interpretation wrapup
22 23
10:30-11:50 Lecture
CSE 403
Dynamic analysis; read "Simplifying and isolating failure-inducing input", by Andreas Zeller and Ralf Hildebrandt, in TSE 2002. (Optional related reading: "Locating causes of program failures", ICSE 2005.)
24
Proposal approval
27 28
10:30-11:50 Lecture
CSE 403
Type inference. Read lambda calculus. Read "Principal type-schemes for functional programs" by Luis Damas and Robin Milner, in POPL 1982. (There is a typo in Algorithm W part (ii): on the second line, e2 and t2 should be e1 and t1. "e2" and "t2" are correct on third line.) Read Chapter 30 (book pages 273-283, which are pages 289-299 in the PDF) of Programming Languages: Application and Interpretation by Shriram Krishnamurthi.
29 30
10:30-11:50 Lecture
CSE 403
Dynamic analysis. Read "Dynamically discovering likely program invariants to support program evolution" by Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin, in TSE 2001 (skim sections 5-8; read the rest more carefully). Presenter: James.
31

February
MondayTuesdayWednesdayThursdayFriday
03 04
10:30-11:50 Lecture
CSE 403
Non-standard type inference. Read "Lackwit: A Program Understanding Tool Based on Type Inference", by Robert O'Callahan and Daniel Jackson, in ICSE 1997. Presenter: Stuart Read "Dynamic inference of abstract types" by Philip J. Guo, Jeff H. Perkins, Stephen McCamant, and Michael D. Ernst, in ISSTA 2006. (The latter is essentially the Lackwit paper, implemented dynamically rather than statically.) Presenter: Shumo Read "Finding User/Kernel Pointer Bugs With Type Inference", by Robert T. Johnson and David Wagner, in USENIX Security, 2004.
05 06
10:30-11:50 Lecture
CSE 403
Slicing. Read "Program slicing" by Mark Weiser, in ICSE 1981. Presenter: Eric
07
Related work and methodology due
10 11
10:30-11:50 Lecture
CSE 403
Model checking. Read "The Model Checker SPIN", by Gerard J. Holzmann, in IEEE TSE 23(5), 1997. Presenter: Doug
12 13
10:30-11:50 Lecture
CSE 403
Slicing. Read Debugging Reinvented: Asking Why and Answering Why and Why Not Questions About Program Behavior by Andrew J. Ko and Brad A. Myers, in ICSE '08. Read Summarized Trace Indexing And Querying For Scalable Back-In-Time Debugging, by Guillaume Pothier and Éric Tanter, in ECOOP 2011. Presenters: Catherine & Lauren
14
17
Presidents' Day
18
10:30-11:50 Lecture
CSE 403
Slicing. Read "Cost Effective Dynamic Program Slicing", by Xiangyu Zhang and Rajiv Gupta, in PLDI 2004. Read "Thin slicing", by Manu Sridharan, Stephen J. Fink and Ras Bodik, in PLDI 2007. Presenters: Calvin & Dominic
19 20
10:30-11:50 Lecture
CSE 403
Model checking. Read "Using predicate abstraction to reduce object-oriented programs for model checking", by William Visser, SeungJoon Park, and John Penix, in Third Workshop on Formal Methods in Software Practice, 2000. Read "Counterexample-Guided Abstraction Refinement", by Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith, in CAV 2000. Presenter: Pingyang
21
24 25
10:30-11:50 Lecture
CSE 403
Class cancelled.
26 27
10:30-11:50 Lecture
CSE 403
Model checking. Read "CMC: a pragmatic approach to model checking real code" by Madanlal Musuvathi, David Y. W. Park, Andy Chou, Dawson R. Engler, and David L. Dill, in OSDI 2002. Read "Finding and Reproducing Heisenbugs in Concurrent Programs" by Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gerard Basler, Piramanayagam Arumuga Nainar, and Iulian Neamtiu, in OSDI 2008.
28
Initial results due

March
MondayTuesdayWednesdayThursdayFriday
03 04
10:30-11:50 Lecture
CSE 403
Verification. Read "Verification of object-oriented programs with invariants" by Mike Barnett, Robert DeLine, Manuel Fahndrich, K. Rustan M. Leino, and Wolfram Schulte, in JOT, 2004. Presenter: Konstantin
05 06
10:30-11:50 Lecture
CSE 403
Verification. Read "Automated deduction for verification" by Natarajan Shankar, in Computing Surveys, 2009. Presenter: Ravi
07
10 11
10:30-11:50 Lecture
CSE 403
TBA
12 13
10:30-11:50 Lecture
CSE 403
TBA
14
Final report due
17
10:30-12:20 Presentations
18 19 20 21