Abstraction in model checking is the most effective method to overcome the state explosion problem, the most serious problem in model checking when the size and the complexity of the system-under-check are increasing. Unfortunately, when the abstraction goes wrong, the answer must be validated with the concrete system, so it faces the state explosion problem again. Moreover, the techniques in checking the abstraction and in validating must not be obstructions in the checking process. Research recently has shown that, the way to abstract a model and the approach to use abstraction are the main concerns in abstraction model checking.
In this work, we report our study on both two questions: (1) a model analyzing method to find a way of abstraction effectively, and (2) an error refinement approach using multiple abstraction in symbolic model checking. The experimentation shows that the new approach has a great performance in checking both ‘buggy‘ and ‘correct‘ models.