Subscribe to this calendar (Google, iCal, etc.)
March | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
28 | 29 | 30 | 31
11:30-12:50 Lecture
LOW 105 Static and dynamic analysis. Read notes chapter 1 and section 2.24 (Notes on "Static and dynamic analysis: synergy and duality"); Static and dynamic analysis: synergy and duality; Lessons from building static analysis tools at Google |
01
23:59 HW1: Development difficulties; submit via Canvas
|
April | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
04
Read HW1 submissions.
|
05
00:01 Exercises 4 and 5 from the notes; submit via Canvas
23:59 Form groups for class project and inform the course staff; optional: read potential research projects (note 3 other lists of projects are linked from it)
|
06 | 07
00:01 Exercises 15 and 16 (monotonicicy) and 26 and 27 (Stein's algorithm) from the notes; submit via Canvas
11:30-12:50 Lecture
LOW 105 Abstract interpretation. Read notes rest of chapter 2; Abstract Interpretation: a semantics-based tool for program analysis sections 1.0-2.2; skim remainder of section 2. |
08
23:59 Project proposals due; submit via Canvas
|
11
Read project proposals.
|
12
00:01 Exercise 29 (divide by zero design) from the notes; submit via Canvas
11:30-12:50 Lecture
LOW 105 Abstract interpretation wrapup & demo |
13 | 14
00:01 Exercises 31-33 (first 3 DART exercises) from the notes; submit via Canvas
11:30-12:50 Lecture
LOW 105 Dynamic analysis: testing, paths. Read notes sections 3.0 - 3.6; "DART: Directed automated random testing". |
15
23:59 Re-submit project proposal, via Canvas; your project proposal should have received approval from the staff before submitting
|
18 | 19
11:30-12:50 Lecture
LOW 105 Test generation. Read Feedback-directed Random Test Generation, EvoSuite: Automatic Test Suite Generation for Object-Oriented Software
23:59 Exercise 30 (divide by zero implementation) from the notes; submit via Canvas
|
20 | 21
00:01 Reading questions on program repair (1); submit via Canvas
11:30-12:50 Lecture
LOW 105 Program repair. Read "A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each" |
22
23:59 Related work and methodology due (as part of your overall report); submit via Canvas
|
25 | 26
11:30-12:50 Lecture
LOW 105 15-minute project presentations about your proposal and methodology. Submit your slides on Canvas at least 1 hour before lecture, so that Mike and Martin can print copies on which to take notes (please also use a light background for your slides, for the same reason). |
27 | 28
00:01 Reading questions on program repair (2); submit via Canvas
11:30-12:50 Lecture
LOW 105 Program repair. Read "An Analysis of Patch Plausibility and Correctness for Generate-and-Validate Patch Generation Systems", "Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis" |
29 |
May | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
02 | 03
00:01 Reading questions on program slicing (1); submit via Canvas
11:30-12:50 Lecture
LOW 105 Static slicing. Read "Program slicing" by Mark Weiser. Read "Thin slicing", by Manu Sridharan, Stephen J. Fink and Ras Bodik, in PLDI 2007. |
04 | 05
00:01 Reading questions on program slicing (2); submit via Canvas
11:30-12:50 Lecture
LOW 105 Dynamic slicing. Read Debugging Reinvented: Asking and Answering Why and Why Not Questions About Program Behavior by Amy J. Ko and Brad A. Myers, in ICSE '08, "Cost Effective Dynamic Program Slicing", by Xiangyu Zhang and Rajiv Gupta, in PLDI 2004. |
06
23:59 Address feedback on related work and methodology due (as part of your overall report); submit via Canvas
|
09 | 10
11:30-12:50 Lecture
LOW 105 No Class. Work on your projects: initial results due Friday. |
11 | 12
00:01 Reading questions on ML4SE (1); submit via Canvas
11:30-12:50 Lecture
LOW 105 ML for SE. Read Neural software analysis, code2vec: learning distributed representations of code; visit the code2vec website. |
13
23:59 Initial results due; submit via Canvas
|
16 | 17 | 18 | 19
11:30-12:50 Lecture
LOW 105 15-minute project presentations about your project status. |
20 |
23 | 24
00:01 Reading questions on model checking (1); submit via Canvas
11:30-12:50 Lecture
LOW 105 Model checking. Review linear temporal logic and buchi automaton. Read "CMC: a pragmatic approach to model checking real code" and "Finding and Reproducing Heisenbugs in Concurrent Programs". |
25 | 26
00:01 Reading questions on model checking (2); submit via Canvas
11:30-12:50 Lecture
LOW 105 Model checking. Read "The Model Checker SPIN", "Using predicate abstraction to reduce object-oriented programs for model checking", and "Counterexample-Guided Abstraction Refinement". |
27 |
30
Memorial Day
|
31
00:01 Reading questions on typestate; submit via Canvas
11:30-12:50 Lecture
LOW 105 Typestate. Read Typestate: A Programming Language Concept for Enhancing Software Reliability and Effective Typestate Verification in the Presence of Aliasing. |
01 | 02
00:01 Reading questions on accumulation, which should be submitted via Canvas; class evaluations (in class; all you need to do is bring a laptop)
11:30-12:50 Lecture
LOW 105 Accumulation analysis. Read Chapter 3 of Lightweight Verification via Specialized Typecheckers, titled "Lightweight Verification via Accumulation Analysis." |
03
23:59 Final report due; submit via Canvas
|
June | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
06 | 07 | 08
00:01 Final presentation slides due; submit via Canvas
16:30-18:20 Final presentations
|
09 | 10
23:59 Revised final report; submit via Canvas
|