Model Checking and the State Explosion Problem
نویسندگان
چکیده
Model checking is an automatic verification technique for hardware and software systems that are finite state or have finite state abstractions. It has been used successfully to verify computer hardware, and it is beginning to be used to verify computer software as well. As the number of state variables in the system increases, the size of the system state space grows exponentially. This is called the “state explosion problem”. Much of the research in model checking over the past 30 years has involved developing techniques for dealing with this problem. In these lecture notes, we will explain how the basic model checking algorithms work and describe some recent approaches to the state explosion problem, with an emphasis on Bounded Model Checking.
منابع مشابه
A Hybrid Meta-heuristic Approach to Cope with State Space Explosion in Model Checking Technique for Deadlock Freeness
Model checking is an automatic technique for software verification through which all reachable states are generated from an initial state to finding errors and desirable patterns. In the model checking approach, the behavior and structure of system should be modeled. Graph transformation system is a graphical formal modeling language to specify and model the system. However, modeling of large s...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملStepwise Flattening for Model Checking
Model checking complex systems always suffers from the state explosion problem. Over the last 10 years there has been lots of researches on how to mitigate the state explosion problem. As a result, many techniques have been emerged such as absiraction, compositional reasoning, and exploiting symmetry. In line with these efforts, this paper proposes stepwise model checking which exploits hierarc...
متن کاملSlicing and reduction techniques for model checking Petri nets
Model checking is a method to validate the correct functioning of a piece of hardor software. Specifications are expressed in temporal logic. A model checking algorithm determines automatically whether or not the checked model satisfies a given specification by examining the model’s state space. In their basic form model checking algorithms explore the state space exhaustively. As the number of...
متن کاملPartial Model Checking
A major obstacle in applying nite-state model checking to the veriication of large systems is the com-binatorial explosion of the state space arising when many loosely coupled parallel processes are considered. The problem also known as the state-explosion problem has been attacked from various sides. This paper presents a new approach based on partial model checking: Parts of the concurrent sy...
متن کامل