Javascript must be enabled to continue!
Evolution of a course on model checking for practical applications
View through CrossRef
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.
Association for Computing Machinery (ACM)
Title: Evolution of a course on model checking for practical applications
Description:
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.
Related Results
Model-checking ecological state-transition graphs
Model-checking ecological state-transition graphs
Abstract
Model-checking is a methodology developed in computer science to automatically assess the dynamics of discrete systems, by checking if a system modelled as...
Clock monitoring is associated with age-related decline in time-based prospective memory
Clock monitoring is associated with age-related decline in time-based prospective memory
AbstractIn laboratory time-based prospective memory tasks, older adults typically perform worse than younger adults do. It has been suggested that less frequent clock checking due ...
A Layered and Parallelized Method of Eventual Model Checking
A Layered and Parallelized Method of Eventual Model Checking
Termination or halting is an important system requirement that many systems should satisfy and can be expressed in linear temporal logic as eventual properties. We devised a divide...
Between Testing and Verification: Dynamic Software Model Checking
Between Testing and Verification: Dynamic Software Model Checking
Dynamic software model checking consists of adapting model checking into a form of systematic testing that is applicable to industrial-size software. Over the last two decades, doz...
Probabilistic Model Checking for Biology
Probabilistic Model Checking for Biology
Probabilistic model checking is an automated method for verifying the correctness and performance of probabilistic models. Property specifications are expressed in probabilistic te...
A Divide and Conquer Approach to Eventual Model Checking
A Divide and Conquer Approach to Eventual Model Checking
The paper proposes a new technique to mitigate the state of explosion in model checking. The technique is called a divide and conquer approach to eventual model checking. As indica...
Formal Methods for Security Protocol Verification: Model Checking and Theorem Proving Approaches
Formal Methods for Security Protocol Verification: Model Checking and Theorem Proving Approaches
Formal methods are a key part of making sure that cryptographic systems are safe and reliable. For the purpose of checking security protocols, this paper looks into two well-known ...
A distributed model to expand the reach of drug checking
A distributed model to expand the reach of drug checking
Purpose
While there is increasing interest in implementing drug checking within overdose prevention, we must also consider how to scale-up these responses so that they have signifi...

