Runtime Verification

Spring 2023

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.

Lectures:
 Tue/Thur, 2:45 -- 4:00pm
 Hollister Hall 206

Instructor:
 Owolabi Legunsen
 legunsen@cornell.edu

 Office Hours:
 Wed/Fri, 4:00 -- 5:00pm
 Gates Hall 442A

Assessment  

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 10%
  • There will be 2 -- 3 homework assignments.
  • Students must work individually on each homework and submit on Canvas by the due date.
Paper Reading 10%
  • Readings to complement in-class discussions will be noted in the schedule.
  • Students will review assigned readings and add 2 -- 3 unique questions to a shared document.
  • Questions will be due by 11:59pm AOE the day before class, on the shared document.
  • Students may skip or submit questions late for up to 3 times without penalty. After that, each skip or late submission will result in a 0 grade for that reading.
In-class participation 5%
  • There will be occassional in-class activities.
  • In-class participation activities will NOT be announced in advance.
  • Students may miss one in-class participation activity without penalty.
Presentations and discussion lead 15%
  • Students will lead the discussion of one research paper.
  • Schedule a meeting with Owolabi a week before you are due to lead a paper discussion.
  • Discussion leads do not have to submit questions for the paper that they are in charge of.
Project 60%
  • To be completed individually or in self-selected groups.
  • We will discuss possible projects early in the semester.
  • Project grade will be based on the quality of the progress made, rather than on the length of the reports. Each project phase will attract the following proportions of the total course grade:
    • Project proposal and literature review (up to 2 pages): 10%
    • Intermediate Project Report (2 -- 4 pages): 15%
    • Project Presentation: 10%
    • Final Project Report (6 -- 10 pages): 25%

 

Tentative Schedule  


Date Topic Leader Reading Notes
1/24
Introduction
Owolabi
 slides
Texts: Griswold, Shaw03
1/26
JavaMOP Demo
Owolabi
 slides
URL: JavaMOP Online
1/31
The Basics: Events, Traces, Properties
Owolabi
 slides
Text: Bartocci+18
 

Course Resources  

Course Administration

  • We are using Canvas or CMS as course management systems. Announcements will be posted there.

Project Reports

This template may be used for preparing the various project reports.

Sources

  • Some readings may be assigned from a free, work-in-progress book on runtime verification and from publicly available research papers that will be linked in the schedule section.
  • There will be periodic homework assignments in Java. Instructions for installing Java and associated software can be found here.
  • Projects and homework will involve applying a runtime verification tool on open-source projects that use Maven as a build system. Brief introductions to Maven can be found here and here.
  • If you need to brush up on your Java skills, invest some time studying the following resources:

Runtime Verification

Community:
  • Runtime Verification -- A website about history, events, resources, and leadership in the broader runtime verification community.
(Our) Tools:  

General Resources  

Academic Integrity

Students are expected to know and abide by Cornell's policies on academic integrity, including: Academic integrity violations will be prosecuted aggressively. If you are not sure what constitutes an academic integrity violation, please ask.

Special Needs and Wellness

We provide accommodations for disabilities. Students with disabilities can contact Student Disability Services at 607-254-4545 or the instructor for a confidential discussion of their individual needs. If you experience personal or academic stress or need to talk to someone who can help, contact the instructor or: