Week. Lab: Date | Lectures | Reading | Lab |
- T: Aug 20
|
|
|
- Course Overview
- Install Sireum IVE
- Set up private repos
|
- U: Aug 29
|
|
|
- Project M1: Scanner & Parser (due Sep 11)
- Demo: Sireum IVE & ANTLRv4 Plugin
|
- U: Sep 5
|
- Abstract Syntax Tree
- Eclipse JDT
|
|
- Exam 1: Scanners, Parsers & Top-Down Parsers
|
- U: Sep 12
|
- Symbol Table
- Type Checking
- Bottom-up Parsers
|
- Dragon Ch. 2.7 & Ch. 6.1 - 6.5
|
- Project M2: Abstract Syntax Tree (due Sep 25)
- Exam 1 Discussion
- Demo: JDT AstView Plugin
|
- U: Sep 19
|
- Virtual Machine
- Code Generation: Eclipse JDT to Java bytecode using ASM
|
|
- Exam 2: AST, Symbol Table, and Type Checking
|
- U: Sep 26
|
|
|
- Project M3: Type Checking (due Oct 9)
- Exam 2 Discussion
|
- U: Oct 3
|
|
|
- 706 Presentation Topics
- 801 Final Project (due Dec 16)
|
- U: Oct 10
|
- Static Analysis – Overview
- Static Analysis – Control Flow Graph (CFG)
- Static Analysis – Reaching Definition
|
- Nielson-Nielson-Hankin Ch. 1
- Dragon Ch. 9
|
- Project M4: Bytecode Generation (due Oct 23)
- Project M5: Static Analysis (due Nov 6)
- Demo: ASM Bytecode Viewer Plugin
|
- U: Oct 17
|
- Static Analysis – Classic Problems
- Static Analysis – Monotone Dataflow Framework
|
- Nielson-Nielson-Hankin Ch. 2
- Dragon Ch. 9
|
- Exam 3: Virtual Machine, Bytecode Generation, and Bytecode Optimization
|
- No Lab
|
- U: Oct 31
|
|
|
- Exam 4: Static Analysis – CFG, Reaching Definition, Classic Problems, and Monotone Dataflow Framework
|
- U: Nov 7
|
|
|
|
- No Lab
|
- No lab
|
- Thanksgiving Break
|
- T U: Dec 3 & 5
|
|
|
|