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.
- Announcements will be posted on the course web page. Check the news section regularly for updates.
may be used for preparing the various project reports.
- Some readings will 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 -- A website about history, events, resources, and leadership in the broader runtime verification community.
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: