Article

Integrating Evolutionary Computation with Abstraction Refinement for Model Checking

IEEE Transactions on Computers (Impact Factor: 1.66). 02/2010; 59(1):116 - 126. DOI: 10.1109/TC.2009.105
Source: IEEE Xplore

ABSTRACT

Model checking for large-scale systems is extremely difficult due to the state explosion problem. Creating useful abstractions for model checking task is a challenging problem, often involving many iterations of refinement. In this paper we consider techniques for model checking in the counter example-guided abstraction refinement. The state separation problem is one popular approach in counterexample-guided abstraction refinement, and it poses the main hurdle during the refinement process. To achieve effective minimization of the separation set, we present a novel probabilistic learning approach based on the sample learning technique, evolutionary algorithm, and effective heuristics. We integrate it with the abstraction refinement framework in the VIS model checker. We include experimental results on model checking to compare our new approach to recently published techniques. The benchmark results show that our approach has overall speedup of more than 56 percent against previous techniques. Our work is the first successful integration of evolutionary algorithm and abstraction refinement for model checking.

0 Followers
 · 
7 Reads
  • Source
    • "[4] [5], a spurious counterexample is informally defined by: a counterexample in the abstract model which does not exist in the concrete model. In this section, we give a formal definition for spurious counterexamples based on the the formal definition of failure states. "
    [Show abstract] [Hide abstract]
    ABSTRACT: Abstraction is one of the most important strategies for dealing with the state space explosion problem in model checking. In the abstract model, the state space is largely reduced, however, a counterexample found in such a model may not be a real counterexample in the concrete model. Accordingly, the abstract model needs to be further refined. How to check whether or not a reported counterexample is spurious is a key problem in the abstraction-refinement loop. In this paper, a formal definition for spurious path is given. Based on it, efficient algorithms for detecting spurious counterexamples are proposed.
    Preview · Article · Sep 2011 · Proceedings - International Conference on Software Engineering
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Abstraction is one of the most important strategies for dealing with the state space explosion problem in model checking. In the abstract model, although the state space is largely reduced, however, a counterexample found in such a model may not be a real counterexample. And the abstract model needs to be further refined where an NP-hard state separation problem is often involved. In this paper, a novel method is presented by adding extra variables to the abstract model for the refinement. With this method, not only the NP-hard state separation problem is avoided, but also a smaller refined abstract model is obtained. Comment: 14 pages, 10 figures
    Preview · Article · Jul 2010
  • Youngsul Shin · Woo Jin Lee
    [Show abstract] [Hide abstract]
    ABSTRACT: This letter proposes a reuse method of unit test cases, which characterize internal behaviors of a called function, for enhancing capability of automatic generation of test cases. Existing test case generation tools have limits in finding solutions to the deep call structure of the source code. In our approach, the complex call structure is simplified by reusing unit test cases of called functions. As unit test cases represent the characteristics of the called function, the internal behaviors of called functions are replaced by the test cases. This approach can be applicable to existing test tools for simplifying the process of generation and enhancing their capabilities.
    No preview · Article · Sep 2012 · IEICE Transactions on Information and Systems
Show more