Improving Ariadne's Bundle by Following Multiple Threads in Abstraction Refinement

The authors propose a scalable abstraction-refinement method for model checking invariant properties on large sequential circuits, which is based on fine-grain abstraction and simultaneous analysis of all abstract counterexamples of the shortest length. Abstraction efficiency is introduced to measure for a given abstraction-refinement algorithm how much of the concrete model is required to make the decision. The fully automatic techniques presented in this paper can efficiently reach or come near to the maximal abstraction efficiency. First, a fine-grain abstraction approach is given to keep the abstraction granularity small by breaking down large combinational logic cones with Boolean network variables (BNVs) and then treating both state variables and BNVs as atoms in abstraction. Second, a refinement algorithm is proposed based on an improved Ariadne's bundle In the legend of Theseus, Ariadne's bundle contained one ball of thread to help Theseus navigate the labyrinth. In this paper, we work with multiple threads-hence, the "improved." of synchronous onion rings on the abstract model, through which the transitions contain all shortest abstract counterexamples. The synchronous onion rings are exploited in two distinct ways to provide global guidance to the abstraction refinement process. The scalability of our algorithm is ensured in the sense that all the analysis and computation required in our refinement algorithm are conducted on the abstract model. Finally, we derive sequential don't cares from the invisible variables and use them to constrain the behavior of the abstract model. We conducted experimental comparisons of our new method with various existing techniques. The results show that our method outperforms other counterexample-guided methods in terms of both run time and abstraction efficiency

[1]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[2]  Robert P. Kurshan,et al.  An Analysis of SAT-Based Model Checking Techniques in an Industrial Environment , 2005, CHARME.

[3]  Michael S. Hsiao,et al.  Dynamic abstraction using SAT-based BMC , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[4]  Aarti Gupta,et al.  Lazy constraints and SAT heuristics for proof-based abstraction , 2005, 18th International Conference on VLSI Design held jointly with 4th International Conference on Embedded Systems Design.

[5]  Chao Wang,et al.  Abstraction refinement in symbolic model checking using satisfiability as the only decision procedure , 2005, International Journal on Software Tools for Technology Transfer.

[6]  Kenneth L. McMillan,et al.  A Hybrid of Counterexample-Based and Proof-Based Abstraction , 2004, FMCAD.

[7]  Michael S. Hsiao,et al.  Incremental deductive & inductive reasoning for SAT-based bounded model checking , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[8]  F. Somenzi,et al.  Efficient computation of small abstraction refinements , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[9]  Chao Wang,et al.  Fine-grain abstraction and sequential do not cares for large scale model checking , 2004, IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings..

[10]  Kavita Ravi,et al.  Fate and free will in error traces , 2004, International Journal on Software Tools for Technology Transfer.

[11]  Pei-Hsin Ho,et al.  Abstraction refinement by controllability and cooperativeness analysis , 2004, Proceedings. 41st Design Automation Conference, 2004..

[12]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[13]  Chao Wang,et al.  Abstraction and BDDs Complement SAT-Based BMC in DiVer , 2003, CAV.

[14]  Chao Wang,et al.  Learning from BDDs in SAT-based bounded model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[15]  Moshe Y. Vardi,et al.  Multiple-Counterexample Guided Iterative Abstraction Refinement: An Industrial Evaluation , 2003, TACAS.

[16]  Kenneth L. McMillan,et al.  Automatic Abstraction without Counterexamples , 2003, TACAS.

[17]  Sharad Malik,et al.  Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[18]  Gianpiero Cabodi,et al.  Improving SAT-based bounded model checking by means of BDD-based approximate traversals , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[19]  Bing Li,et al.  Improving Ariadne's Bundle by following multiple threads in abstraction refinement , 2003, ICCAD-2003. International Conference on Computer Aided Design (IEEE Cat. No.03CH37486).

[20]  Chao Wang,et al.  A satisfiability-based approach to abstraction refinement in model checking , 2003, BMC@CAV.

[21]  Helmut Veith,et al.  Automated Abstraction Refinement for Model Checking Large State Spaces Using SAT Based Conflict Analysis , 2002, FMCAD.

[22]  Daniel Geist,et al.  Symbolic Localization Reduction with Reconstruction Layering and Backtracking , 2002, CAV.

[23]  Ofer Strichman,et al.  SAT Based Abstraction-Refinement Using ILP and Machine Learning Techniques , 2002, CAV.

[24]  Jiang Long,et al.  Formal property verification by abstraction refinement with formal, simulation and hybrid engines , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[25]  M. Moskewicz,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[26]  F. Somenzi,et al.  To split or to conjoin: the question in image computation , 2000, Proceedings 37th Design Automation Conference.

[27]  G. Hachtel,et al.  Iterative abstraction-based CTL model checking , 2000, Proceedings Design, Automation and Test in Europe Conference and Exhibition 2000 (Cat. No. PR00537).

[28]  In-Ho Moon,et al.  Least fixpoint approximations for reachability analysis , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[29]  Kathi Fisler,et al.  Bisimulation and Model Checking , 1999, CHARME.

[30]  Henrik Reif Andersen,et al.  Stepwise CTL Model Checking of State/Event Systems , 1999, CAV.

[31]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[32]  Abelardo Pardo,et al.  Incremental CTL model checking using BDD subsetting , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[33]  Abelardo Pardo,et al.  Automatic Abstraction Techniques for Propositional µ-calculus Model Checking , 1997, CAV.

[34]  Enrico Macii,et al.  Algorithms for approximate FSM traversal based on state space decomposition , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[35]  Abelardo Pardo,et al.  Tearing based automatic abstraction for CTL model checking , 1996, Proceedings of International Conference on Computer Aided Design.

[36]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[37]  Jae-Young Jang,et al.  Tearing based abstraction for CTL model checking , 1996, ICCAD 1996.

[38]  Dennis Dams,et al.  Practical symbolic model checking of the full µ-calculus using compositional abstractions , 1995 .

[39]  R. Brayton,et al.  Efficient BDD Algorithms for FSM Synthesis and Verification , 1995 .

[40]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[41]  Alberto L. Sangiovanni-Vincentelli,et al.  An Iterative Approach to Language Containment , 1993, CAV.

[42]  Edmund M. Clarke,et al.  Model checking, abstraction, and compositional verification , 1993 .

[43]  E. Allen Emerson,et al.  Tree automata, mu-calculus and determinacy , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[44]  Olivier Coudert,et al.  Formal Boolean manipulations for the verification of sequential machines , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[45]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[46]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[47]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[48]  Dexter Kozen,et al.  Results on the Propositional µ-Calculus , 1982, ICALP.

[49]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[50]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.