skip to main content
10.1145/3508352.3549393acmconferencesArticle/Chapter ViewAbstractPublication PagesiccadConference Proceedingsconference-collections
research-article

Combining BMC and Complementary Approximate Reachability to Accelerate Bug-Finding

Published: 22 December 2022 Publication History

Abstract

Bounded Model Checking (BMC) is so far considered as the best engine for bug-finding in hardware model checking. Given a bound K, BMC can detect if there is a counterexample to a given temporal property within K steps from the initial state, thus performing a global-style search. Recently, a SAT-based model-checking technique called Complementary Approximate Reachability (CAR) was shown to be complementary to BMC, in the sense that frequently they can solve instances that the other technique cannot, within the same time limit. CAR detects a counterexample gradually with the guidance of an over-approximating state sequence, and performs a local-style search. In this paper, we consider three different ways to combine BMC and CAR. Our experiments show that they all outperform BMC and CAR on their own, and solve instances that cannot be solved by these two techniques. Our findings are based on a comprehensive experimental evaluation using the benchmarks of two hardware model checking competitions.

References

[1]
Artifacts. https://drive.google.com/file/d/1sMD2qL9nmn6ktkNPERerA-eolLR-2Xdt/view?usp=sharing.
[2]
Detailed graphs. https://drive.google.com/file/d/1XxIAhtwKdvqxvaJgk0Jxfn6fPo8G9E4L/view?usp=sharing.
[3]
Minisat 2.2.0. https://github.com/niklasso/minisat.
[4]
Safety model checking with complementary approximations. https://arxiv.org/pdf/1611.04946.pdf.
[5]
C. Baier and J-P. Katoen. Principles of model checking. MIT Press, 2008.
[6]
Clark Barrett and Cesare Tinelli. Satisfiability Modulo Theories, pages 305--343. Springer International Publishing, Cham, 2018.
[7]
Dirk Beyer. Software verification. .https://sv-comp.sosy-lab.org/2021/index.php.
[8]
A. Biere, A. Cimatti, E.M. Clarke, M. Fujita, and Y. Zhu. Symbolic model checking using SAT procedures instead of BDDs. In Proc. 36st Design Automation Conf., pages 317--320. IEEE Computer Society, 1999.
[9]
A. Biere, A. Cimatti, E.M. Clarke, and Y. Zhu. Symbolic model checking without BDDs. In Proc. 5th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, volume 1579 of Lecture Notes in Computer Science. Springer, 1999.
[10]
A. Biere and K Claessen. Hardware model checking competition. .http://fmv.jku.at/hwmcc15/.
[11]
Armin Biere. AIGER Format. http://fmv.jku.at/aiger/FORMAT.
[12]
A. Bradley. SAT-based model checking without unrolling. In Ranjit Jhala and David Schmidt, editors, Verification, Model Checking, and Abstract Interpretation, volume 6538 of LNCS, pages 70--87. Springer, 2011.
[13]
R. Brayton and A. Mishchenko. ABC: An academic industrial-strength verification tool. In Computer Aided Verification, CAV, pages 24--40. Springer Berlin Heidelberg, 2010.
[14]
R.E. Bryant. Graph-based algorithms for Boolean-function manipulation. IEEE Transactions on Computing, C-35(8):677--691, 1986.
[15]
J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic model checking: 1020 states and beyond. In Proc. 5th IEEE Symp. on Logic in Computer Science, pages 428--439, 1990.
[16]
R. Dureja, J. Li, G. Pu, M. Y. Vardi, and K. Y. Rozier. Intersection and rotation of assumption literals boosts bug-finding. In Supratik Chakraborty and Jorge A. Navas, editors, Verified Software. Theories, Tools, and Experiments - 11th International Conference, VSTTE 2019, volume 12031 of Lecture Notes in Computer Science, pages 180--192. Springer, 2019.
[17]
N. Eén, A. Mishchenko, and R. Brayton. Efficient implementation of property directed reachability. In FMCAD, pages 125--134, 2011.
[18]
N. Eén and N. Sörensson. An extensible SAT-solver. In SAT, pages 502--518, 2003.
[19]
A. Griggio and M. Roveri. Comparing different variants of the IC3 algorithm for hardware model checking. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 35(6):1026--1039, June 2016.
[20]
A. Gurfinkel and A. Ivrii. Pushing to the top. In Formal Methods in Computer-Aided Design., pages 65--72, 2015.
[21]
G.J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, 2003.
[22]
O. Kupferman and M.Y. Vardi. Model checking of safety properties. In Proc. 11th Int. Conf. on Computer Aided Verification, volume 1633 of Lecture Notes in Computer Science, pages 172--183. Springer, 1999.
[23]
R.P. Kurshan. Computer Aided Verification of Coordinating Processes. Princeton Univ. Press, 1994.
[24]
Jianwen Li, Rohit Dureja, Geguang Pu, Kristin Yvonne Rozier, and Moshe Y. Vardi. SimpleCAR: An Efficient Bug-Finding Tool Based on Approximate Reachability. In Hana Chockler and Georg Weissenbacher, editors, Computer Aided Verification, pages 37--44, Cham, 2018. Springer International Publishing.
[25]
Jianwen Li, Shufang Zhu, Yueling Zhang, Gegang Pu, and Moshe Y. Vardi. Safety Model Checking with Complementary Approximations. In ICCAD, 2017.
[26]
K. McMillan. Interpolation and SAT-based model checking. In Jr. Hunt, WarrenA. and Fabio Somenzi, editors, Computer Aided Verification, volume 2725 of Lecture Notes in Computer Science, pages 1--13. Springer Berlin Heidelberg, 2003.
[27]
K.L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.
[28]
Alexander Nadel and Vadim Ryvchin. Efficient SAT solving under assumptions. In Alessandro Cimatti and Roberto Sebastiani, editors, Theory and Applications of Satisfiability Testing - SAT 2012 - 15th International Conference, Trento, Italy, June 17--20, 2012. Proceedings, volume 7317 of Lecture Notes in Computer Science, pages 242--255. Springer, 2012.
[29]
Hari Govind Vediramana Krishnan, Yakir Vizel, Vijay Ganesh, and Arie Gurfinkel. Interpolating strong induction. In Isil Dillig and Serdar Tasiran, editors, Computer Aided Verification, pages 367--385, Cham, 2019. Springer International Publishing.
[30]
Y. Vizel and A. Gurfinkel. Interpolating property directed reachability. Computer Aided Verification: 26th International Conference, CAV 2014, pages 260--276, 2014.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICCAD '22: Proceedings of the 41st IEEE/ACM International Conference on Computer-Aided Design
October 2022
1467 pages
ISBN:9781450392174
DOI:10.1145/3508352
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE-EDS: Electronic Devices Society
  • IEEE CAS
  • IEEE CEDA

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 December 2022

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ICCAD '22
Sponsor:
ICCAD '22: IEEE/ACM International Conference on Computer-Aided Design
October 30 - November 3, 2022
California, San Diego

Acceptance Rates

Overall Acceptance Rate 457 of 1,762 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 87
    Total Downloads
  • Downloads (Last 12 months)20
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media