错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Teaching with Logika: Conceiving and Constructing Correct Software

  • Stefan Hallerstede,
  • John Hatcliff,
  • Robby

摘要

Slang is a subset of Scala designed for coding high assurance software. It is supported by a highly automated verification tool called Logika that incorporates multiple forms of formal methods, presented in terms of programming-oriented notations and activities. In this paper, we describe our teaching approach for how to conceive and construct correct software using Slang and Logika. A key feature of our approach includes presenting specification, coding, testing, and verification as an integrated engineering methodology. We further motivate students by illustrating Slang/Logika’s use in broader contexts of model-based development and assurance of critical embedded systems. We describe our experience in using Logika for teaching at both the undergraduate and graduate level. A variety of pedagogical materials are available including the open source Slang/Logika implementation, lecture slides, and course notes.