Concurrent Bounded Model Checking (2024)

Concurrent Bounded Model Checking (1) https://doi.org/10.1145/2693208.2693240

Видання: ACM SIGSOFT Software Engineering Notes, 2015, №1, с.1-5

Видавець: Association for Computing Machinery (ACM)

Автори: Quoc-Sang Phan, Pasquale Malacaria, Corina S. Pǎsǎreanu

Анотація

We introduce a methodology, based on symbolic execution, for Concurrent Bounded Model Checking. In our approach, we translate a program into a formula in a disjunctive form. This design enables concurrent verification, with a main thread running symbolic execution, without any constraint solving, to build subformulas, and a set of worker threads running a decision procedure for satisfiability checks. We have implemented this methodology in a tool called JCBMC, the first bounded model checker for Java. JCBMC is built as an extension of Java Pathfinder, an open-source verification platform developed by NASA. JCBMC uses Symbolic PathFinder (SPF) for the symbolic execution, Z3 as the solver and implements concurrency with multi-threading. For evaluation, we compare JCBMC against SPF and the Bounded Model Checker CBMC. The results of the experiments show that we can achieve significant advantages of performance over these two tools.

Список літератури

  1. Benchmarks of loops in the Software Verification 2014 competition 2014. https://svn.sosy-lab.org/software/sv benchmarks/tags/svcomp14/loops/. Benchmarks of loops in the Software Verification 2014 competition 2014. https://svn.sosy-lab.org/software/sv benchmarks/tags/svcomp14/loops/.
  2. Java PathFinder. http://babelfish.arc.nasa.gov/trac/jpf/. Java PathFinder. http://babelfish.arc.nasa.gov/trac/jpf/.
  3. Z3. http://z3.codeplex.com/. Z3. http://z3.codeplex.com/.
  4. Erika Ábrahám , Tobias Schubert , Bernd Becker , Martin Fränzle , and Christian Herde . Parallel sat solving in bounded model checking . FMICS'06/PDMC'06 , pages 301 -- 315 . Erika Ábrahám, Tobias Schubert, Bernd Becker, Martin Fränzle, and Christian Herde. Parallel sat solving in bounded model checking. FMICS'06/PDMC'06, pages 301--315.
  5. Cristian Cadar , Daniel Dunbar , and Dawson Engler . Klee : unassisted and automatic generation of high-coverage tests for complex systems programs . OSDI'08 , pages 209 -- 224 . Cristian Cadar, Daniel Dunbar, and Dawson Engler. Klee: unassisted and automatic generation of high-coverage tests for complex systems programs. OSDI'08, pages 209--224.
  6. Patrice Godefroid , Michael Y. Levin , and David A. Molnar . Automated whitebox fuzz testing . In NDSS , 2008 . Patrice Godefroid, Michael Y. Levin, and David A. Molnar. Automated whitebox fuzz testing. In NDSS, 2008.
  7. Elsa L. Gunter and Doron Peled. Unit checking: Symbolic model checking for a unit of code . In Nachum Dershowitz editor Verification : Theory and Practice Essays Dedicated to Zohar Manna on the Occasion of His 64th Birthday volume 2772 of Lecture Notes in Computer Science pages 548 -- 567 . Springer 2003 . Elsa L. Gunter and Doron Peled. Unit checking: Symbolic model checking for a unit of code. In Nachum Dershowitz editor Verification: Theory and Practice Essays Dedicated to Zohar Manna on the Occasion of His 64th Birthday volume 2772 of Lecture Notes in Computer Science pages 548--567. Springer 2003.
    Concurrent Bounded Model Checking (2) https://doi.org/10.1007/978-3-540-39910-0_24
  8. Temesghen Kahsai and Cesare Tinelli . Pkind: A parallel k-induction based model checker . In Jiri Barnat and Keijo Heljanko editors PDMC volume 72 of EPTCS pages 55 -- 62 2011 . Temesghen Kahsai and Cesare Tinelli. Pkind: A parallel k-induction based model checker. In Jiri Barnat and Keijo Heljanko editors PDMC volume 72 of EPTCS pages 55--62 2011.
    Concurrent Bounded Model Checking (3) https://doi.org/10.4204/EPTCS.72.6
  9. Andrew King . Distributed parallel symbolic execution . In Master Thesis , Kansas State University , 2009 . Andrew King. Distributed parallel symbolic execution. In Master Thesis, Kansas State University, 2009.
  10. Marta Z. Kwiatkowska , Alessio Lomuscio , and Hongyang Qu . Parallel model checking for temporal epistemic logic . In ECAI , pages 543 -- 548 , 2010 . Marta Z. Kwiatkowska, Alessio Lomuscio, and Hongyang Qu. Parallel model checking for temporal epistemic logic. In ECAI, pages 543--548, 2010.
  11. Pradeep K. Nalla J. Weiss JÃijrgen Ruf Thomas Kropf and Wolfgang Rosenstiel. Parallel bounded property checking with symc. Pradeep K. Nalla J. Weiss JÃijrgen Ruf Thomas Kropf and Wolfgang Rosenstiel. Parallel bounded property checking with symc.
  12. Robert Palmer and Ganesh Gopalakrishnan . Partial order reduction assisted parallel modelchecking (full version. Technical report , PDMC'2002 , 2002 . Robert Palmer and Ganesh Gopalakrishnan. Partial order reduction assisted parallel modelchecking (full version. Technical report, PDMC'2002, 2002.
  13. Quoc-Sang Phan . Symbolic execution as dpll modulo theories . In 2014 Imperial College Computing Student Workshop , volume 43 of OpenAccess Series in Informatics (OASIcs), pages 58--65, Dagstuhl, Germany , 2014 . Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik. Quoc-Sang Phan. Symbolic execution as dpll modulo theories. In 2014 Imperial College Computing Student Workshop, volume 43 of OpenAccess Series in Informatics (OASIcs), pages 58--65, Dagstuhl, Germany, 2014. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik.
  14. J.H. Siddiqui and S Khurshid . Parsym : Parallel symbolic execution . In ICSTE , volume 1 , pages V1 -- 405 --V1--409, 2010 . J.H. Siddiqui and S Khurshid. Parsym: Parallel symbolic execution. In ICSTE, volume 1, pages V1--405--V1--409, 2010.
  15. Ulrich Stern and David L. Dill . Parallelizing the murphi verifier . CAV '97 , pages 256 -- 278 , London, UK, UK , 1997 . Springer-Verlag. Ulrich Stern and David L. Dill. Parallelizing the murphi verifier. CAV '97, pages 256--278, London, UK, UK, 1997. Springer-Verlag.

Публікації, які цитують цю публікацію

Extending DIVINE with Symbolic Verification Using SMT

Henrich Lauko, Vladimír Štill, Petr Ročkai, Jiří Barnat

Concurrent Bounded Model Checking (4) https://doi.org/10.1007/978-3-030-17502-3_14 · Concurrent Bounded Model Checking (5) Повний текст

2019, Tools and Algorithms for the Construction and Analysis of Systems Lecture Notes in Computer Science, с.204-208

Scopus

Цитувань Crossref:3

Verifying temporal specifications of Java programs

Francesco Spegni, Luca Spalazzi, Giovanni Liva, Martin Pinzger, Andreas Bollin

Concurrent Bounded Model Checking (6) https://doi.org/10.1007/s11219-019-09488-9 · Concurrent Bounded Model Checking (7)

2020, Software Quality Journal, №2, с.695-744

Scopus

WoS

Цитувань Crossref:0

Concurrent Bug Finding Based on Bounded Model Checking

Milena Vujošević Janičić

Concurrent Bounded Model Checking (8) https://doi.org/10.1142/s0218194020500242

2020, International Journal of Software Engineering and Knowledge Engineering, №05, с.669-694

Scopus

WoS

Цитувань Crossref:0

GPU Acceleration of Bounded Model Checking with ParaFROST

Muhammad Osama, Anton Wijs

Concurrent Bounded Model Checking (9) https://doi.org/10.1007/978-3-030-81688-9_21 · Concurrent Bounded Model Checking (10)

2021, Computer Aided Verification Lecture Notes in Computer Science, с.447-460

Scopus

Цитувань Crossref:0

Знайти всі цитування публікації

Дані публікації

Кількість цитувань 7
Кількість джерел у списку літератури: 15
Видання індексується в Scopus Ні
Видання індексується в Web of Science Ні
Concurrent Bounded Model Checking (2024)
Top Articles
Latest Posts
Article information

Author: Jonah Leffler

Last Updated:

Views: 5675

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Jonah Leffler

Birthday: 1997-10-27

Address: 8987 Kieth Ports, Luettgenland, CT 54657-9808

Phone: +2611128251586

Job: Mining Supervisor

Hobby: Worldbuilding, Electronics, Amateur radio, Skiing, Cycling, Jogging, Taxidermy

Introduction: My name is Jonah Leffler, I am a determined, faithful, outstanding, inexpensive, cheerful, determined, smiling person who loves writing and wants to share my knowledge and understanding with you.