Skip to main content
AA228V/CS238V Validation of Safety Critical Systems

Description

Before deploying autonomous decision-making systems in high-stakes applications, it is important to ensure that they will operate as intended. This course presents a variety of mathematical concepts and algorithms that can be used to validate their performance in simulation. The course first introduces a framework for setting up validation problems using topics from model fitting, model validation, and property specification. The course then covers sampling-based validation techniques for tasks such as falsification and probability of failure estimation. The course concludes with an overview of formal methods for tasks such as reachability analysis. Topics include but are not limited to: mathematical modeling, temporal logic specifications, optimization-based falsification, Markov chain Monte Carlo, importance sampling, reachability analysis, model checking, satisfiability, and explainability. Applications are drawn from air traffic control, autonomous systems, and self-driving cars.

Prerequisites: basic probability theory, multivariable calculus, and fluency in a high-level programming language.

In person attendance is not required for this course (including lectures – although I do very much appreciate having an audience 🙂 – and exams). There will be a mixture of in-person and online office hours.

Lectures

Lectures will be on Tuesdays and Thursdays, 1:30pm-2:50pm in Skilling Room 80 starting January 7, 2025. Students are welcome to attend in person live or watch recordings offline. Registered students taking another course that is offered at the same time is not an issue. Videos (both live stream and recorded) are available through Panopto, which is linked to within Canvas.

This course is also available to the public through the Stanford Center for Global and Online Education.

The textbook serves as the official lecture notes. Slides (PDFs and keynote including annotations from lecture) can be accessed here. I will do my best to post the slides before lecture. Lectures are not mandatory, but I will be doing my best to make them worth your time!

Video cameras located in the back of the room will capture the instructor presentations in this course. For your convenience, you can access these recordings by logging into the course Canvas site. These recordings might be reused in other Stanford courses, viewed by other Stanford students, faculty, or staff, or used for other education and research purposes. Note that while the cameras are positioned with the intention of recording only the instructor, occasionally a part of your image or voice might be incidentally captured. If you have questions, please contact a member of the teaching team.

Major Themes

  • Validation algorithms provide information about whether a system satisfies a specification.
  • We can use techniques from optimization and statistics to find and analyze the failures of system.
  • Formal methods allow us to provide guarantees on the behavior of a system under a set of assumptions.
  • It is important to apply a variety of validation algorithms to build a safety case for a system before deploying it in the real world.

Learning Outcomes

  • You will be able to formulate validation problems in a mathematically rigorous way
  • You will develop an understanding of the mathematical concepts behind the validation algorithms presented along with their advantages and limitations (exercises/quizzes)
  • You will be able to implement and extend a variety of validation algorithms (programming assignments)
  • You will gain deep understanding of a particular area of interest (final project)
  • You will be able to critique validation approaches (peer review)

Units

AA228V will be offered for 3 or 4 units for either a letter or credit/no credit grade. Students registering for the 4 unit version of the course will be required to spend at least 30 additional hours extending their course project and preparing the paper for a peer-reviewed conference submission (actual submission is not required). The grade breakdown listed in the “Grading” section is the same regardless of whether the class is taken for 3 or 4 units.

Please confirm that you are registered for the desired number of units and the desired grading basis. There are deadlines for making these changes set by the registrar.

Textbook

We will be using a preprint of the textbook titled Algorithms for Validation. You can find a PDF here.

Discussion

Class discussions are held on Ed. You should be automatically registered through Canvas.

Grading

Projects: 34%

  • 1% Project 0
  • 11% Project 1
  • 11% Project 2
  • 11% Project 3

Quizzes: 31%

  • 1% Quiz 0
  • 15% Quiz 1
  • 15% Quiz 2

Final Project: 35%

  • 5% Proposal
  • 5% Status update
  • 5% Lightning talk
  • 15% Final report
  • 5% Peer review

This course offered for  for either a letter or credit/no credit grade. If taking for credit/no credit, credit will be given to students who score a C- or higher (at least 70% in the course). We will use the standard breakdowns in the table below. We will round fractional percentages in your favor. A few students may be awarded an A+ after careful consideration for demonstrating mastery beyond what is expected in this class; it is not determined solely based on percentage.

Letter GradePercentage
A>93%
A-90-92%
B+87-89%
B83-86%
B-80-82%
C+77-79%
C73-76%
C-70-72%
D+67-69%
D63-66%
D-60-62%
F0-59%

Late Policy

All assignments are due at 5pm on Fridays.

Because of unexpected events, illnesses, work commitments, etc., there is a 0% penalty for 72 hours (no questions asked) after each assignment deadline (not quizzes!), after which you receive 0 credit. Note that late submissions will not qualify for the leaderboard for programming projects 1, 2, and 3.

Quizzes submitted past their deadlines will receive 0 credit.

Students with Disabilities

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is made. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 650-723-1066, URL: https://oae.stanford.edu/). Please submit OAE letters by Friday, 17 January to smkatz@stanford.edu.