SAT based predicate abstraction for hardware verification

被引:0
|
作者
Clarke, E [1 ]
Talupur, M
Veith, H
Wang, D
机构
[1] Carnegie Mellon Univ, Sch Comp Sci, Pittsburgh, PA 15213 USA
[2] Vienna Univ Technol, Inst Informat Syst, Vienna, Austria
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Predicate abstraction is an important technique for extracting compact finite state models from large or infinite state systems. Predicate abstraction uses decision procedures to compute a model which is amenable to model checking, and has been used successfully for software verification. Little work however has been done on applying predicate abstraction to large scale finite state systems, most notably, hardware, where the decision procedures are SAT solvers. We consider predicate abstraction for hardware in the framework of Counterexample-Guided Abstraction Refinement where in the course of verification, the abstract model has to be repeatedly refined. The goal of the refinement is to eliminate spurious behavior in the abstract model which is not present in the original model, and gives rise to false negatives (spurious counterexamples). In this paper, we present two efficient SAT-based algorithms to refine abstract hardware models which deal with spurious transitions and spurious counterexamples respectively. Both algorithms make use of the conflict graphs generated by SAT solvers. The first algorithm extracts constraints from the conflict graphs which are used to make the abstract model more accurate. Once an abstract transition is determined to be spurious, our algorithm does not need to make any additional calls to SAT solver. Our second algorithm generates a compact predicate which eliminates a spurious counterexample. This algorithm uses the conflict graphs to identify the important concrete variables that render the counterexample spurious, creates an additional predicate over these concrete variables, and adds it to the abstract model. Experiments over hardware designs with several thousands of registers demonstrate the effectiveness of our methods.
引用
收藏
页码:78 / 92
页数:15
相关论文
共 50 条
  • [1] Predicate abstraction in protocol verification
    Pek, E
    Bogunovic, N
    [J]. CONTEL 2005: PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON TELECOMMUNICATIONS, VOLS 1 AND 2, 2005, : 627 - 632
  • [2] Predicate abstraction for software verification
    Flanagan, C
    Qadeer, S
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (01) : 191 - 202
  • [3] Software Safety Verification Framework based on Predicate Abstraction
    Liang Haowei
    Hou Chunyan
    Wang Jinsong
    Chen Chen
    [J]. 2021 IEEE 45TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2021), 2021, : 1327 - 1332
  • [4] SATABS: SAT-based predicate abstraction for ANSI-C
    Clarke, E
    Kroening, D
    Sharygina, N
    Yorav, K
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2005, 3440 : 570 - 574
  • [5] Verification of SpecC using predicate abstraction
    Clarke, Edmund
    Jain, Himanshu
    Kroening, Daniel
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2007, 30 (01) : 5 - 28
  • [6] Effective predicate abstraction for program verification
    Li, Li
    Gu, Ming
    Song, Xiaoyu
    Wang, Jianmin
    [J]. TASE 2008: SECOND IFIP/IEEE INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2008, : 129 - +
  • [7] Verification of SpecC using predicate abstraction
    Jain, H
    Kroening, D
    Clarke, E
    [J]. SECOND ACM AND IEEE INTERNATIONAL CONFERENCE ON FORMAL METHODS AND MODELS FOR CO-DESIGN, PROCEEDINGS, 2004, : 7 - 16
  • [8] Predicate Pairing with Abstraction for Relational Verification
    De Angelis, Emanuele
    Fioravanti, Fabio
    Pettorossi, Alberto
    Proietti, Maurizio
    [J]. LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2017), 2018, 10855 : 289 - 305
  • [9] SAT-based verification methods and applications in hardware verification
    Gupta, Aarti
    Ganai, Malay K.
    Wang, Chao
    [J]. FORMAL METHODS FOR HARDWARE VERIFICATION, 2006, 3965 : 108 - 143
  • [10] Verification of SpecC using predicate abstraction
    Edmund Clarke
    Himanshu Jain
    Daniel Kroening
    [J]. Formal Methods in System Design, 2007, 30 : 5 - 28