This class is about formal design of software using model-checking. Model-checking is a formal method that consists in building a model of the system under study, then in automatically proving the correctness of the model. This class focuses on modeling, formal specifications in Linear Temporal Logic (LTL), and model-checking algorithms. It combines theoretical aspects as well as practical applications with TLA+.

Lectures