WIP: An Engaging Undergraduate Intro to Model Checking in Software Engineering Using TLA+
Konstantin L\"aufer, Gunda Mertin, George K. Thiruvathukal

TL;DR
This paper explores integrating TLA+ model checking into undergraduate CS education to improve understanding of formal methods, using progressively complex examples to engage students and demonstrate practical safety and liveness properties.
Contribution
It introduces a curriculum framework for teaching formal methods with TLA+ to undergraduates, including example progression and initial positive student feedback.
Findings
84% of students had a positive experience
Progressive example complexity aids understanding
Curriculum design can foster formal methods proficiency
Abstract
Background: In this paper, we present our initial efforts to integrate formal methods, with a focus on model-checking specifications written in Temporal Logic of Actions (TLA+), into computer science education, targeting undergraduate juniors/seniors and graduate students. Formal methods can play a key role in ensuring correct behavior of safety-critical systems, yet remain underutilized in educational and industry contexts. Aims: We aim to (1) qualitatively assess the state of formal methods in computer science programs, (2) construct level-appropriate examples that could be included midway into one's undergraduate studies, (3) demonstrate how to address successive "failures" through progressively stringent safety and liveness requirements, and (4) establish an ongoing framework for assessing interest and relevance among students. Methods: After starting with a refresher on…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Experimental Learning in Engineering · Software Testing and Debugging Techniques
