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