Title :
Word-Level Sequential Memory Abstraction for Model Checking
Abstract :
Many designs intermingle large memories with wide data paths and nontrivial control. Verifying such systems is challenging, and users often get little traction when applying model checking to decide full or partial end-to-end correctness of such designs. Interestingly, a subclass of these systems can be proven correct by reasoning only about a small number of the memory entries at a limited number of time points. In this paper, we leverage this fact to abstract certain memories in a sound way, and we demonstrate how our memory abstraction coupled with an abstraction refinement algorithm can be used to prove correctness properties for three challenging designs from industry and academia. Key features of our approach are that we operate on standard safety property verification problems, that we proceed completely automatically without any need for abstraction hints, that we can use any bit-level model checker as a back-end decision procedure, and that our algorithms fit seamlessly into a standard transformational verification paradigm.
Keywords :
formal verification; safety; storage management; abstraction refinement algorithm; back-end decision procedure; bit-level model checker; model checking; safety property verification problems; transformational verification paradigm; word-level sequential memory abstraction; Algorithm design and analysis; Boolean functions; Computer bugs; Data structures; Hardware; Information analysis; Logic design; Refining; Safety; Surges;
Conference_Titel :
Formal Methods in Computer-Aided Design, 2008. FMCAD '08
Conference_Location :
Portland, OR
Print_ISBN :
978-1-4244-2735-2
Electronic_ISBN :
978-1-4244-2736-9
DOI :
10.1109/FMCAD.2008.ECP.20