DocumentCode :
58224
Title :
Using Abstraction to Guide the Search for Long Error Traces
Author :
Nanshi, K. ; Somenzi, Fabio
Author_Institution :
Western Digital Technol., Irvine, CA, USA
Volume :
32
Issue :
3
fYear :
2013
fDate :
Mar-13
Firstpage :
453
Lastpage :
466
Abstract :
Model checking is a formal method for verifying whether the system satisfies a user-defined specification. Compared to simulation, model checking is restricted in capacity. On the other hand, simulation is weak in detecting bugs that require long and complex sequences of events to be exposed. This paper combines model checking and simulation in an abstraction-refinement scheme to mitigate the problems of both methods. Abstraction refinement iteratively constructs a simplified model to verify the original model. While a simplified model mitigates the weakness of model checking, the set of simplified error traces model helps guide simulation toward deep bugs. In abstraction refinement, concretization-a process of deriving an error trace in the original model from the abstract ones-is used to invalidate spurious abstract error traces or to refute a property. In this paper, we describe a novel concretization algorithm that combines simulation with satisfiability to efficiently refute properties with very long error traces.
Keywords :
formal specification; formal verification; program debugging; abstraction-refinement scheme; concretization algorithm; deep bugs; formal method; long error traces; model checking; spurious abstract error traces; user-defined specification; Abstracts; Analytical models; Computational modeling; Concrete; Integrated circuit modeling; Model checking; Vectors; Abstraction refinement; algorithms; concretization; satisfiability (SAT); simulation; verification;
fLanguage :
English
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
0278-0070
Type :
jour
DOI :
10.1109/TCAD.2012.2228266
Filename :
6461986
Link To Document :
بازگشت