Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A primer on model checking

Published: 01 March 2010 Publication History

Abstract

Model checking is a widely used formal method for the verification of concurrent programs. This article starts with an introduction to the concepts of model checking, followed by a description of Spin, one of the foremost model checkers. Software tools for teaching concurrency and nondeterminism using model checking are described: Erigone, a model checker for teaching; jSpin, a development environment; VN, a visualization of nondeterminism.

References

[1]
Michal Armoni and Mordechai Ben-Ari. The concept of nondeterminism: Its development and implications for education. Science & Education, 18(8):1005--1030, 2009. Reprinted in: SIGCSE Bull. 41(2), 2009, 141--160.
[2]
Mordechai Ben-Ari. Principles of Concurrent and Distributed Programming (Second Edition). Addison-Wesley, Harlow, UK, 2006.
[3]
Mordechai Ben-Ari. Principles of the Spin Model Checker. Springer, London, 2008.
[4]
Mordechai Ben-Ari. Tool presentation: Teaching concurrency and model checking. In Proceedings of the 16th International SPIN Workshop on Model Checking Software, pages 6--11, Berlin, Heidelberg, 2009. Springer-Verlag.
[5]
Mordechai Ben-Ari and Alan Burns. Extreme interleavings. IEEE Concurrency, 6(3):90--91, 1998.
[6]
Bill Bynum and Tracy Camp. After you, Alfonse: A mutual exclusion toolkit. SIGCSE Bull., 28(1):170--174, 1996.
[7]
Alessandro Cimatti, Edmund M. Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. NuSMV 2: An opensource tool for symbolic model checking. In CAV '02: Proceedings of the 14th International Conference on Computer Aided Verification, pages 359--364, London, UK, 2002. Springer-Verlag.
[8]
C.A.R. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12(10):576--580, 1969.
[9]
Gerard J. Holzmann. The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Boston MA, 2004.
[10]
Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Michael Norrish, Rafal Kolanski, Thomas Sewell, Harvey Tuch, and Simon Winwood. seL4: Formal verification of an OS kernel. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, Big Sky, MT, 2009, 207--220.
[11]
Kim G. Larsen, Paul Pettersson, and Wang Yi. UPPAAL in a nutshell. International Journal on Software Tools for Technology Transfer, 1(1-2):134--152, 1998.
[12]
Zohar Manna and Amir Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Volume I: Specification. Springer-Verlag, New York, 1992.
[13]
Zohar Manna and Amir Pnueli. The Temporal Verification of Reactive Systems. Volume II: Safety. Springer-Verlag, New York, 1995.
[14]
Hideaki Nishihara, Koichi Shinozaki, Koji Hayamizu, Toshiaki Aoki, Kenji Taguchi, and Fumihiro Kumeno. Model checking education for software engineers in Japan. SIGCSE Bull., 41(2):45--50, 2009.
[15]
Michael O. Rabin and Dana Scott. Finite automata and their decision problems. IBM Journal of Research and Development, 3(2):636--644, 1959.
[16]
Philip E. Ross. The exterminators. IEEE Spectrum, pages 36--41, September 2005.
[17]
Yasuyuki Tahara, Nobukazu Yoshioka, Kenji Taguchi, Toshiaki Aoki, and Shinichi Honiden. Evolution of a course on model checking for practical applications. SIGCSE Bull., 41(2):38--44, 2009.
[18]
Willem Visser, Klaus Havelund, Guillaume Brat, and SeungJoon Park. Model checking programs. In ASE '00: Proceedings of the 15th IEEE International Conference on Automated Software Engineering, page 1--36, Washington, DC, USA, 2000. IEEE Computer Society.

Cited By

View all
  • (2024)Fast and Adaptive Multi-Agent Planning under Collaborative Temporal Logic Tasks via Poset ProductsResearch10.34133/research.03377Online publication date: 22-Mar-2024
  • (2024)An automated qualitative analysis of real-time systems using Timed Petri net and SPINCogent Engineering10.1080/23311916.2024.237510011:1Online publication date: 14-Jul-2024
  • (2024)Hard‐state Protocol Independent Multicast—Source‐Specific Multicast (HPIM‐SSM)IET Networks10.1049/ntw2.1213313:5-6(486-512)Online publication date: 21-Nov-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Inroads
ACM Inroads  Volume 1, Issue 1
March 2010
69 pages
ISSN:2153-2184
EISSN:2153-2192
DOI:10.1145/1721933
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2010
Published in INROADS Volume 1, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Erigone
  2. Spin
  3. concurrent programming
  4. model checking
  5. verification

Qualifiers

  • Research-article
  • Popular
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Fast and Adaptive Multi-Agent Planning under Collaborative Temporal Logic Tasks via Poset ProductsResearch10.34133/research.03377Online publication date: 22-Mar-2024
  • (2024)An automated qualitative analysis of real-time systems using Timed Petri net and SPINCogent Engineering10.1080/23311916.2024.237510011:1Online publication date: 14-Jul-2024
  • (2024)Hard‐state Protocol Independent Multicast—Source‐Specific Multicast (HPIM‐SSM)IET Networks10.1049/ntw2.1213313:5-6(486-512)Online publication date: 21-Nov-2024
  • (2024)Novel abstraction methods for TDMA based MAC protocols: Case of IIoT MAC Wireless HART VerificationTelecommunications Systems10.1007/s11235-023-01069-385:1(125-150)Online publication date: 1-Jan-2024
  • (2023)HPIM‐DMIET Networks10.1049/ntw2.1208112:3(122-151)Online publication date: 4-Jan-2023
  • (2023)Abstracting IoT protocols using timed process algebra and SPIN model checkerCluster Computing10.1007/s10586-022-03963-y26:2(1611-1629)Online publication date: 16-Jan-2023
  • (2022)Model Checking Autonomous Components within Electric Power Systems Specified by Interpreted Petri NetsSensors10.3390/s2218693622:18(6936)Online publication date: 14-Sep-2022
  • (2022)Combining Model-Based Testing and Automated Analysis of Behavioural Models using GraphWalker and UPPAAL2022 29th Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC57359.2022.00061(452-456)Online publication date: Dec-2022
  • (2021)The Overview of SPIN in Software Model Checking2021 IEEE Sixth International Conference on Data Science in Cyberspace (DSC)10.1109/DSC53577.2021.00104(654-661)Online publication date: Oct-2021
  • (2019)Formal reliability analysis of redundancy architecturesFormal Aspects of Computing10.1007/s00165-018-0475-131:1(59-94)Online publication date: 1-Feb-2019
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Magazine Site

View this article on the magazine site (external)

Magazine Site

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media