skip to main content
research-article

Evolution of a course on model checking for practical applications

Published: 25 June 2009 Publication History

Abstract

Although model checking is expected as a practical formal verification approach for its automatic nature, it still suffers from difficulties in writing the formal descriptions to be verified and applying model checking tools to them effectively. The difficulties are found mainly in grasping the exact system behaviors, representing them in formal languages, and using model checking tools that fit the best to the verification problems. Even capable software developers need extensive education to overcome the difficulties. In this paper, we report our education course of practical applications of model checking in our education project called Top SE. Our approach consists of the following two features. First, we adopt UML as the design specification language and create the descriptions for each specific model checking tool from the UML diagrams, to enable easy practical application of model checking. Second, we build taxonomies of system behaviors, in particular behaviors of concurrent systems that are main targets of model checking. We can organize the knowledge and the techniques of practical model checking according to the taxonomies. The taxonomies are based on several aspects of system behaviors such as synchronization of transitions, synchronization of communications, and modeling of system environments. In addition, we make clear which model checking tools fit which types of systems. We treat the three different model checking tools: SPIN, SMV, and LTSA. Each tool has its specific features that make the tool easier or more difficult to be applied to specific problems than others. In our education course, we explain the taxonomies, the knowledge, and the techniques using very simple examples. We also assign the students exercises to apply the knowledge and the techniques to more complicated problems such as the dining philosopher problem, data copying between a DVD recorder and a hard disk recorder, and the alternating bit protocol.

References

[1]
Honiden, S., Tahara, Y., Yoshioka, N., Taguchi, K., H.Washizaki: Top SE: Educating superarchitects who can apply software engineering tools to practical development in Japan. In: Proc. of ICSE 2007. (2007) 708--717.
[2]
Holzmann, G.J.: The SPIN model checker: Primer and reference manual. Addison Wesley (2004).
[3]
McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Norwell, MA, USA (1993).
[4]
Magee, J., Kramer, J.: Concurrency: State Models & Java Programs, Second Edition. John Wiley & Sons (2006).
[5]
Carver, R.H., Tai, K.C.: Modern Multithreading : Implementing, Testing, and Debugging Multithreaded Java and C++/Pthreads/Win32 Programs. Wiley-Interscience (2006).
[6]
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proc. of ICSE'99. (1999) 411--420.
[7]
Atlee, J.: Automated analysis of specifications. http://se.uwaterloo.ca/~jmatlee/746/ (2000) Lectures in University of Waterloo, School of Computer Science.
[8]
Chechik, M.: Automated verification. http://www.cs.toronto.edu/~chechik/courses07/csc2108/index.html (2007) Lectures in University of Toronto, Department of Computer Science.
[9]
Magee, J., Kramer, J.: Concurrency: State models & java programs slides. http://www.doc.ic.ac.uk/~jnm/book /slides.html (2006) A set of lecture notes for Chapters 1-10 of the book.
[10]
Mitchell, J.: Security protocols. http://www.stanford.edu/class/cs259/index.html (2006) Lectures in Stanford University, Department of Computer Science.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGCSE Bulletin
ACM SIGCSE Bulletin  Volume 41, Issue 2
June 2009
166 pages
ISSN:0097-8418
DOI:10.1145/1595453
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 June 2009
Published in SIGCSE Volume 41, Issue 2

Check for updates

Author Tags

  1. education
  2. formal methods
  3. model checking

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media