Using Alloy in Introductory Courses of Formal Methods

Compact and easy-to-learn educational material of core ideas in formal methods is prepared for students in software engineering courses. Although mathematical logic is usually employed to explore the basic ideas precisely and concisely, some students with limited background are not able to follow the contents. We adapt Alloy to sugar wrap logic, which makes it possible for students to learn the core ideas by experimenting with the tool. The proposed material covers model-oriented specification notations and SAT-based automatic formal verification methods. These are important subfields of formal methods in view of both theory and practice for software engineering courses.

[1]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  Jean-Raymond Abrial,et al.  Formal methods in industry: achievements, problems, future , 2006, ICSE.

[4]  Daniel Jackson,et al.  Lightweight Formal Methods , 2001, FME.

[5]  Jeff Kramer,et al.  Is abstraction the key to computing? , 2007, CACM.

[6]  C. A. R. Hoare,et al.  Data Refinement Refined , 1986, ESOP.

[7]  Kaisa Sere,et al.  Superposition refinement of reactive systems , 2005, Formal Aspects of Computing.

[8]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[9]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[10]  Edsger W. Dijkstra,et al.  The humble programmer , 1972, CACM.

[11]  Armin Biere,et al.  A survey of recent advances in SAT-based formal verification , 2005, International Journal on Software Tools for Technology Transfer.

[12]  Cliff B. Jones,et al.  A Rigorous Approach to Formal Methods , 1996 .

[13]  Peter Csaba Ölveczky Teaching Formal Methods Based on Rewriting Logic and Maude , 2009, TFM.

[14]  Jeannette M. Wing A specifier's introduction to formal methods , 1990, Computer.

[15]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[16]  Shaoying Liu Formal Engineering for Industrial Software Development: Using the SOFL Method , 2004 .

[17]  Christie Bolton,et al.  Using the Alloy Analyzer to Verify Data Refinement in Z , 2005 .