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)

FAQs

What is the difference between model checking and bounded model checking? ›

In contrast to unbounded model checking, BMC aims at the falsification of safety properties, instead of verification. Basically speaking, BMC searches for counter- examples by unrolling the transition relation of the system model finitely often, hence the term “bounded”.

What are the limitations of model checking? ›

It is particularly useful in artificial intelligence for verifying the correctness of proposed solutions. Some limitations of model checking include the state space explosion problem and temporal logic challenges.

What is model checking in formal verification? ›

– Model checking is an algorithmic approach to. analysis of finite-state systems. – Model checking has been originally developed for. analysis of hardware designs and communication. protocols.

What is the difference between model checking and symbolic execution? ›

The model checker will then make sure that the specification always holds in that system. In symbolic execution you only provide your program and the symbolic execution engine will examine all the feasible paths to generate test inputs or check assertions. A simple example of their difference: concurrency.

Is model checking the same as deductive verification? ›

Deductive verification is a time-consuming process that can be performed only by experts who are educated to logical reasoning. Consequently, it is applied primarily to high sensitive systems such as security protocols. Model checking is a technique for verifying finite state concurrent systems.

What are the advantages of model checking? ›

In contrast to theorem proving, model checking is completely automatic and fast, frequently producing an answer in a matter of minutes. It can be used to check partial specifications and can provide useful information about correctness even if the system has not been completely specified.

What are 3 common limitations of models? ›

Limitations of models
  • They are simplified versions.
  • They can be interrupted in many different ways.
  • They do not always cover everything in detail and can miss vital details.
  • Models are approximations.

What is BDD in model checking? ›

Symbolic model checking

When such state-space traversal is based on representations of a set of states and transition relations as logical formulas, binary decision diagrams (BDD) or other related data structures, the model-checking method is symbolic. Historically, the first symbolic methods used BDDs.

What is a model checking problem? ›

A 'Model Checking Problem' refers to the task of verifying system properties by exploring the state space of a software model to efficiently locate errors. It involves automated complete exploration of the state space using different approaches such as symbolic model checking and explicit-state model checking.

What are the phases of model checking? ›

Model Checking - What are the three phases of model checking? In model checking, there are primarily three steps: modeling, execution, and analysis.

What is the difference between model checking and testing? ›

What is the difference between model checking and testing? Model Checking: A formal verification technique that systematically explores the states of a system model to verify properties and detect errors. Testing: Involves executing a system or component with various inputs to observe its behavior and identify defects.

What are the 4 types of verification? ›

ANSWER. The four fundamental methods of verification are Inspection, Demonstration, Test, and Analysis. The four methods are somewhat hierarchical in nature, as each verifies requirements of a product or system with increasing rigor.

What is the difference between static analysis and model checking? ›

The static analysis simply requires that the code be compiled, while model checking a system requires a carefully crafted environment model. Also, static analysis can cover all paths in the code in a straightforward manner.

What is the difference between model checking and theorem proving? ›

Model checking is automatic; theorem proving is not. Theorem proving can handle com- plex formalisms; model checking can not. The strengths and weaknesses of model checking and theorem proving are clearly complementary.

What is explicit state model checking? ›

As the name indicates, in an explicit-state model checker the state descriptor for a system is maintained in explicit, and not symbolic, form, as are all state transitions.

What is the difference between bounded rationality and rational model? ›

This model adopts that the decision-maker has full data of the available alternatives, enough time, adequate resources, and cognitive ability. Bounded Rationality Decision Making. In bounded rationality, decision-makers are limited by time, adequate resources, and information when making decisions.

References

Top Articles
Loaded Scalloped Potatoes Recipe - The Cookie Rookie®
Maple Custard Recipe with Duck Eggs • The Prairie Homestead
Irela Torres Only Fans
Ff14 Kobold Pitman
Myvetstoreonline.pharmacy
Synovus Banking Hours
Guide:Guide to WvW Rewards
Kitchen Song Singer Violet Crossword
Behind The Scenes Of White Christmas (1954) - Casting, Choreography, Costumes, And Music | TrainTracksHQ
Parentvue Stma
159 Joseph St, East Brunswick Township, NJ 08816 - MLS 2503534R - Coldwell Banker
Cheap Motorcycles For Sale Under 1000 Craigslist Near Me
10 Teacher Tips to Encourage Self-Awareness in Teens | EVERFI
1102 E Overland Trail Abilene 79601
Last minute moving service van local mover junk hauling pack loading - labor / hauling / moving - craigslist
Glenwood Apartments Logan Utah
Cara In Creekmaw Code
Free Bubble Letters Generator | Add bubble letters with a click!
Liquor World Sharon Ma
Milanka Kudel Telegram
Liquor Barn Redding
Aaa Saugus Ma Appointment
Kentuky Fried Chicken Near Me
Loss Payee And Lienholder Addresses And Contact Information Updated Daily Free List Bank Of America
Dna Profiling Virtual Lab Answer Key
Monkey Werx Sitrep 2022
Ansos Umm
Dl Delta Extranet
Crimson Draughts.
neither of the twins was arrested,传说中的800句记7000词
Was Lil Mosey In Ride Along
The "Minus Sign (−)" Symbol in Mathematics
Phoenix | Arizona, Population, Map, & Points of Interest
Craigslist Free Appliances Near Me
Watch ESPN - Stream Live Sports & ESPN Originals
Let's Take a Look Inside the 2024 Hyundai Elantra - Kelley Blue Book
Wells Fargo Arena Des Moines Seating Chart Virtual View
Game On Classroom 6X
2-bedroom house in Åkersberga
1984 Argo JM16 GTP for sale by owner - Holland, MI - craigslist
Registrar Utd
Sour Power OG (Karma Genetics) :: Cannabis Strain Info
Craigslist Free Stuff Columbus Ga
Priscilla 2023 Showtimes Near Regal Escondido
Benson Downs Resident Portal
Best Drugstore Bronzers
Mpbn Schedule
Costco Gas Price Pembroke Pines
Greythr Hexaware Bps
Codex Genestealer Cults 10th Edition: The Goonhammer Review
Academic calendar: year cycle and holidays | University of Twente | Service Portal
Cardaras Logan Ohio
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 6255

Rating: 4 / 5 (51 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.