[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

MAB-BMC: A Formal Verification Enhancer by Harnessing Multiple BMC Engines Together

Published: 13 August 2024 Publication History

Abstract

In recent times, Bounded Model Checking (BMC) engines have gained wide prominence in formal verification. Different BMC engines exist, differing in their optimization, representations and solving mechanisms used to represent and navigate the underlying state transition of the given design to be verified. The objective of this article is to examine if combinations of BMC engines can help to combine their strengths. We propose an approach that can create a sequencing of BMC engines that can reach better depth in formal verification, as opposed to executing them alone for a specified time. Our approach uses machine learning, specifically, the Multi-Armed Bandit paradigm of reinforcement learning, to predict the best-performing BMC engine for a given unrolling depth of the underlying circuit design. We evaluate our approach on a set of benchmark designs from the Hardware Model Checking Competition (HWMCC) benchmarks and show that it outperforms the state-of-the-art BMC engines in terms of the depth reached or time taken to deduce a property violation. The synthesized BMC engine sequences reach better depths than HWMCC results and the state-of-the-art technique, super_deep, for more than 80% of the cases. It also outperforms single engine runs for more than 92% of the cases where a property violation is not found within a given time duration. For designs where property violations are found within the given time duration, the synthesized sequences found the property violation in a lesser time than HWMCC for all the designs and outperformed both super_deep and single engine runs for more than 87% of the designs.

References

[1]
2015. Hardware Model Checking Competition 2015 (HWMCC’15). (2015). https://fmv.jku.at/hwmcc15/
[2]
2017. Hardware Model Checking Competition 2017 (HWMCC’17). (2017). https://fmv.jku.at/hwmcc17/
[3]
2023. System Verilog. (2023). https://www.systemverilog.in/
[4]
Gilles Audemard and Laurent Simon. 2009. Glucose: A solver that predicts learnt clauses quality. SAT Competition (2009), 7–8.
[5]
Peter Auer, Nicolo Cesa-Bianchi, Yoav Freund, and Robert E. Schapire. 2002. The nonstochastic multiarmed bandit problem. SIAM Journal on Computing 32, 1 (2002), 48–77.
[6]
Dirk Beyer, Sudeep Kanav, and Cedric Richter. 2022. Construction of verifier combinations based on off-the-shelf verifiers. In Proceedings of Fundamental Approaches to Software Engineering. 49–70.
[7]
Armin Biere, Alessandro Cimatti, Edmund Clarke, and Yunshan Zhu. 1999. Symbolic model checking without BDDs. In Proceedings of Tools and Algorithms for the Construction and Analysis of Systems. 193–207.
[8]
Armin Biere, Alessandro Cimatti, Edmund M. Clarke, Ofer Strichman, and Yunshan Zhu. 2009. Bounded model checking. Handbook of Satisfiability 185, 99 (2009), 457–481.
[9]
Armin Biere and Andreas Fröhlich. 2015. Evaluating CDCL restart schemes. In Proceedings of Pragmatics of SAT (2015), 1–17.
[10]
Robert Brayton and Alan Mishchenko. 2010. ABC: An academic industrial-strength verification tool. In Computer Aided Verification, Tayssir Touili, Byron Cook, and Paul Jackson (Eds.). 24–40.
[11]
Edmund M. Clarke. 1997. Model checking. In Foundations of Software Technology and Theoretical Computer Science. 54–56.
[12]
Rohit Dureja, Arie Gurfinkel, Alexander Ivrii, and Yakir Vizel. 2021. IC3 with internal signals. In Proceedings of Formal Methods in Computer Aided Design. 63–71.
[13]
Eman M. Elmandouh and Amr G. Wassal. 2018. Guiding formal verification orchestration using machine learning methods. Transactions on Design Automation of Electronics System 23, 5, Article 62 (Aug 2018), 33 pages.
[14]
Berkeley Logic Synthesis and Verification Group. 2012. ABC: A system for sequential synthesis and verification. https://people.eecs.berkeley.edu/alanmi/abc/
[15]
Carla P. Gomes, Bart Selman, and Henry Kautz. 1998. Boosting combinatorial search through randomization. In Proceedings of the Fifteenth National/Tenth Conference on Artificial Intelligence/Innovative Applications of Artificial Intelligence. 431–437.
[16]
Alan J. Hu. 1997. Formal hardware verification with BDDs: An introduction. In Proceedings of Pacific Rim Conference on Communications, Computers and Signal Processing, Vol. 2. 677–682.
[17]
HoonSang Jin and Fabio Somenzi. 2005. An incremental algorithm to check satisfiability for bounded model checking. Electronic Notes in Theoretical Computer Science 119, 2 (2005), 51–65.
[18]
Will Leeson and Matthew B. Dwyer. 2022. Graves-CPA: A graph-attention verifier selector (competition contribution). In Proceedings of Tools and Algorithms for the Construction and Analysis of Systems. 440–445.
[19]
Alan Mishchenko, Robert Brayton, and Niklas Een. 2012. Using speculation for sequential equivalence checking. In Proceedings of the International Workshop on Logic & Synthesis. 139–145.
[20]
Hari Mony, Jason Baumgartner, Viresh Paruthi, Robert Kanzelman, and Andreas Kuehlmann. 2004. Scalable automated verification via expert-system guided transformations. In Proceedings of Formal Methods in Computer-Aided Design. 159–173.
[21]
Amir Pnueli. 1977. The temporal logic of programs. In Proceedings of the Annual Symposium on Foundations of Computer Science. 46–57.
[22]
Cedric Richter, Eyke Hüllermeier, Marie-Christine Jakobs, and Heike Wehrheim. 2020. Algorithm selection for software validation based on graph kernels. Automated Software Engineering 27 (2020), 153–186.
[23]
Cedric Richter and Heike Wehrheim. 2019. PeSCo: Predicting sequential combinations of verifiers. In Proceedings of Tools and Algorithms for the Construction and Analysis of Systems. 229–233.
[24]
Cedric Richter and Heike Wehrheim. 2020. Attend and represent: A novel view on algorithm selection for software verification. In Proceedings of International Conference on Automated Software Engineering. 1016–1028.
[25]
Bruno Schmitt, Alan Mishchenko, and Robert Brayton. 2018. SAT-based area recovery in structural technology mapping. In Proceedings of Asia and South Pacific Design Automation Conference. 586–591.
[26]
D. Shah, E. Hung, C. Wolf, S. Bazanski, D. Gisselquist, and M. Milanovic. 2019. Yosys+nextpnr: An open source framework from verilog to bitstream for commercial FPGAs. In Proceedings of International Symposium on Field-Programmable Custom Computing Machines. 1–4.
[27]
Ofer Shtrichman. 2000. Tuning SAT checkers for bounded model checking. In Proceedings of Computer Aided Verification. 480–494.
[28]
Niklas Sorensson and Niklas Een. 2005. Minisat v1.13-a sat solver with conflict-clause minimization. SAT 2005, 53 (2005), 1–2.
[29]
Richard S. Sutton and Andrew G. Barto. 2018. Reinforcement Learning: An Introduction. MIT Press.
[30]
Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson, Eric Jones, Robert Kern, Eric Larson, C. J. Carey, Ilhan Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert Cimrman, Ian Henriksen, E. A. Quintero, Charles R. Harris, Anne M. Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt, and SciPy 1.0 Contributors. 2020. SciPy 1.0: Fundamental algorithms for scientic computing in Python. Nature Methods 17 (2020), 261–272.
[31]
Siert Wieringa. 2011. On incremental satisfiability and bounded model checking. In DIFTS@ FMCAD.
[32]
Cunxi Yu. 2020. Flowtune: Practical multi-armed bandits in boolean optimization. In Proceedings of International Conference On Computer Aided Design. 1–9.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 29, Issue 5
September 2024
511 pages
EISSN:1557-7309
DOI:10.1145/3613682
  • Editor:
  • Jiang Hu
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 13 August 2024
Online AM: 02 July 2024
Accepted: 05 June 2024
Revised: 01 April 2024
Received: 11 October 2023
Published in TODAES Volume 29, Issue 5

Check for updates

Author Tags

  1. Bounded model checking
  2. formal verification
  3. machine learning
  4. SAT-solvers
  5. multi-armed bandits

Qualifiers

  • Research-article

Funding Sources

  • Semiconductor Research Corporation (SRC)

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 143
    Total Downloads
  • Downloads (Last 12 months)143
  • Downloads (Last 6 weeks)27
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media