Lecture Notes: Formal Methods in Software Engineering

COMP 335/435 | Department of Computer Science | Loyola University Chicago

You have reached the home of the Formal Methods in Software Engineering course (COMP 335/435) in the Computer Science Department of Loyola University Chicago.

Welcome! Willkumme! ¡Bienvenidos/as! Benvenuti/e!

Warning

These notes are still under construction for spring 2025, so expect a few rough edges. But we’re getting closer! Your contributions are highly welcome! Please submit issues and pull requests.

In this course, we study formal methods suitable for contemporary software engineering practice. This version of the course is normally taught by Konstantin Läufer.

Please get started by reading the Overview.

Latest version

v26sp.2

Build status
GitHub Pages and Release PDF

See github.com/lucformalmethodscourse/lucformalmethodscourse.github.io/actions

Repository

github.com/lucformalmethodscourse/lucformalmethodscourse.github.io

Releases

The current book (v26sp.2) in PDF is available at GitHub Releases

AI Disclosure

This text contains a mix of original writing and programming with strategic use of ChatGPT via intentional prompting. Some examples will be available in our repository with an appropriate build configurations and tests. We may also make some prompts and analyses available, similar to what my colleagues have done for their recent ongoing study of ChatGPT and Systems Programming. See also https://doi.org/10.6084/m9.figshare.22257274.

Todo

Indices and tables (put at end of TOC above)

Todo

add sample projects, activities, tests, and (tiered) master list for presentations