Subscribe to this calendar (Google, iCal, etc.)
September | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
25 | 26 | 27 | 28 | 29 |
October | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
02 | 03
11:30-12:50 Lecture
ECE 031 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
23:59 HW1: Development difficulties; submit via Canvas
|
04
Read HW1 submissions
|
05
00:01 Exercises 4 and 5 from the notes; submit via Canvas
|
06 |
09 | 10
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
ECE 031 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. |
11 | 12
11:30-12:50 Lecture
ECE 031 Abstract interpretation wrapup & demo
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)
|
13 |
16
00:01 Exercise 29 (divide by zero design) from the notes; submit via Canvas
|
17
11:30-12:50 Lecture
ECE 031 Dynamic analysis: testing, paths. Read notes sections 3.0 - 3.6; "DART: Directed automated random testing".
23:59 Project proposals due; submit via Canvas
|
18 | 19
11:30-12:50 Lecture
ECE 031 Test generation. Read Feedback-directed Random Test Generation, EvoSuite: Automatic Test Suite Generation for Object-Oriented Software |
20 |
23 | 24
11:30-12:50 Lecture
ECE 031 Program repair. Read "A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each" |
25 | 26
11:30-12:50 Lecture
ECE 031 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 |
30 | 31
11:30-12:50 Lecture
ECE 031 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" |
01 | 02
11:30-12:50 Lecture
ECE 031 Static slicing. Read "Program slicing" by Mark Weiser. Read "Thin slicing", by Manu Sridharan, Stephen J. Fink and Ras Bodik, in PLDI 2007. |
03 |
November | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
06 | 07
11:30-12:50 Lecture
ECE 031 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. |
08 | 09
11:30-12:50 Lecture
ECE 031 No Class. Work on your projects: initial results due Sunday. |
10
Veteran's Day*
|
13 | 14
11:30-12:50 Lecture
ECE 031 ML for SE. Read Neural software analysis, code2vec: learning distributed representations of code; visit the code2vec website. |
15 | 16
11:30-12:50 Lecture
ECE 031 15-minute project presentations about your project status. |
17 |
20 | 21 | 22 | 23
Thanksgiving
|
24
Native American Heritage Day
|
27 | 28
11:30-12:50 Lecture
ECE 031 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". |
29 | 30
11:30-12:50 Lecture
ECE 031 Model checking. Read "The Model Checker SPIN", "Using predicate abstraction to reduce object-oriented programs for model checking", and "Counterexample-Guided Abstraction Refinement". |
01 |
December | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
04 | 05
11:30-12:50 Lecture
ECE 031 Typestate. Read Typestate: A Programming Language Concept for Enhancing Software Reliability and Effective Typestate Verification in the Presence of Aliasing. |
06 | 07
11:30-12:50 Lecture
ECE 031 Accumulation analysis. Read Chapter 3 of Lightweight Verification via Specialized Typecheckers, titled "Lightweight Verification via Accumulation Analysis." |
08 |