Fall 2020
Runtime Verification is a lightweight formal method for checking program executions against specifications. Foundations, algorithms, and tools for major approaches to runtime verification will be covered, including monitor synthesis, specification languages, parametric monitoring, monitorability, instrumentation, and static analysis for reducing runtime verification overhead. Students will become familiar with recent research results and challenges in runtime verification, gain experience with runtime verification tools, and conduct a research project.
Prerequisites. Graduate standing (Ph.D, MS, or MEng) in CS or CS majors with CS 3110 grade of B+ or better. Experience with Java programming will be helpful for programming assignments.
This course is in Beta. CS 6156 is a brand new course. Everything might change. Nothing is certain.
12/08/2020: Homework-3 is assigned.
11/09/2020: Homework-2 is assigned.
10/27/2020: Homework-1 is assigned.
9/8/2020: Homework-0 is assigned.
9/2/2020: Piazza for the class is set up.
8/31/2020: The website is up!
This is a research-oriented software engineering course. It will include lectures, reading research papers, homeworks, in-class discussions, and a research project. Final course grades are based on the following:
Activity | Grade | Details |
---|---|---|
Homeworks | 20% |
|
Readings | 20% |
|
Presentations | 10% |
|
Project | 50% |
|
Date | Topic | Leader | Reading | Notes |
---|---|---|---|---|
9/3 | Introduction |
Owolabi slides |
||
9/8 | Events, traces, and properties |
Owolabi slides, demo |
|
Homework-0 is assigned |
9/10 | Safety properties and monitoring |
Owolabi slides |
|
|
9/15 | Program instrumentation |
Owolabi slides, examples |
|
Homework-0 is due |
9/17 | Course project discussion |
Owolabi slides |
|
Optional reading: Halle+17 |
9/22 | Past-time LTL monitor synthesis |
BL |
|
|
9/24 | LTL monitor synthesis |
Owolabi slides |
|
|
9/29 | ERE monitor synthesis |
VHA |
|
|
10/1 | CFG monitor synthesis |
CE |
|
|
10/6 | Parametric trace slicing and monitoring |
BG |
|
Project proposal is due |
10/8 | Efficient parametric monitoring |
WK |
|
|
10/13 | Garbage collection of monitors |
DP |
|
|
10/15 | Simultaneous monitoring of multiple specifications |
TD |
|
|
10/20 | Specification mining |
NR |
|
|
10/22 | Specification quality |
ZB |
|
|
10/27 | Improving specification quality |
YA |
|
Project phase 1 report is due. Homework-1 is assigned. |
10/29 | Scaling RV using static analysis |
SG |
|
|
11/3 | Scaling RV using evolution awareness |
LA & DF |
|
|
11/5 | Guest Lecture |
Grigore Rosu |
|
Homework-1 is due. |
11/10 | Scaling RV using program transformations |
SY |
|
Homework-2 has been assigned. |
11/12 | FPGA-assisted RV |
LYH |
|
|
11/17 | No class (Semi-Finals week) |
Homework-2 is due. Reading 21 is assigned. | ||
11/19 | No class (Semi-Finals week) |
Project phase 2 report is due | ||
11/24 | No class (Semi-Finals week) |
Reading 21 response is due. | ||
11/26 | No class (Thanksgiving) |
|||
12/1 | Project presentations (1) |
|
||
12/3 | Project presentations (2) |
|
||
12/8 | Project presentations (3) |
|
Homework-3 has been assigned. | |
12/10 | Project presentations (4) |
|
||
12/15 | Course wrap-up |
|
Homework-3 is due. | |
12/17 | No class (Finals Week) |
Project final report is due |