Digitala Vetenskapliga Arkivet

Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Practical Adaptations and Improvements of Stateless Model Checking
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Computer Systems.ORCID iD: 0009-0004-7029-1904
2025 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Concurrent softwares are running on every computer. They are essential for harnessing the full potential of modern multicore processors. Finding bugs in concurrent software is challenging and time-consuming because of the scheduling non-determinism. Stateless model checking is one of the most effective and practical techniques in finding all concurrency bugs in concurrent software for a fixed input. However, the exponential number of thread interleavings resulting the exponential number of executions makes the SMC challenging. Dynamic Partial Order Reduction (DPOR) is an effective SMC technique for mitigating this problem by avoiding equivalent execution exploration. This thesis presents three contributions to the world of DPOR algorithms.

The first contribution is the Event-DPOR algorithm for event-driven concurrency. Event-DPOR is based on the Optimal-DPOR (ODPOR) algorithm, the first DPOR algoritm that is optimal (explores only non-equivalent executions). Event-driven concurrency can be found in distributed systems, high-performance servers, smartphone applications, and many other domains. Event-DPOR significantly reduces the number of explored executions over other state-of-the-art algorithms, and guarantees optimality for programs with non-branching messages, i.e., the set of shared variable accesses does not change in messages across executions. We also proved the NP-completeness of event-driven consistency check, a key component in preventing redundant exploration. We addressed it with a series of inexpensive tests sufficient for the programs we tried. Our implementation in Nidhugg shows significant runtime improvement over other state-of-the-art tools.

The second contribution is POP, an optimal DPOR algorithm for shared memory concurrent programs under sequential consistency with threads doing reads and writes. ODPOR has problems with wasted reversal attempts of the same race multiple times, creating unnecessarily long schedules, and storing an exponential number of schedules in the worst-case. POP resolves them with parsimonious race reversal, shorter schedules, eager race reversal, and parsimonious sleep set characterization and reduces the space complexity to polynomial. Our POP implementation in Nidhugg is significantly faster than the ODPOR implementation in Nidhugg with much lower memory consumption.

The third contribution contains two more variants of the POP, Lazy POP (LPOP) and Eager POP (EPOP). POP's polynomial space complexity comes at the expense of complex parsimonious sleep handling. POP's simpler sleep set management improves average-case runtime over POP at the expense of worst-case exponential space complexity. The experimental results confirm that a simpler sleep set is a better choice when designing DPOR algorithms as they are faster and have similar memory consumption for average programs.

Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2025. , p. 47
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 2512
Keywords [en]
Concurrent Programs, Verification, Stateless Model Checking, Partial Order Reduction
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:uu:diva-552218ISBN: 978-91-513-2417-3 (print)OAI: oai:DiVA.org:uu-552218DiVA, id: diva2:1943747
Public defence
2025-05-09, Lecture hall Eva von Bahr, Ångströmlaboratoriet, Regementsvägen 10, Uppsala, 13:00 (English)
Opponent
Supervisors
Funder
Swedish Foundation for Strategic ResearchSwedish Research CouncilAvailable from: 2025-04-09 Created: 2025-03-11 Last updated: 2025-04-25
List of papers
1. Tailoring Stateless Model Checking for Event-Driven Multi-Threaded Programs
Open this publication in new window or tab >>Tailoring Stateless Model Checking for Event-Driven Multi-Threaded Programs
Show others...
2023 (English)In: Automated Technology for Verification and Analysis, 21st International Symposium, ATVA 2023, Singapore, Oct. 2023. Proceedings., 2023Conference paper, Published paper (Refereed)
Abstract [en]

Event-driven multi-threaded programming is an important idiom for structuring concurrent computations. Stateless Model Checking (SMC) is an effective verification technique for multi-threaded programs, especially when coupled with Dynamic Partial Order Reduction (DPOR). Existing SMC techniques are often ineffective in handling event-driven programs, since they will typically explore all possible orderings of event processing, even when events do not conflict. We present Event-DPOR , a DPOR algorithm tailored to event-driven multi-threaded programs. It is based on Optimal-DPOR, an optimal DPOR algorithm for multi-threaded programs; we show how it can be extended for event-driven programs. We prove correctness of Event-DPOR for all programs, and optimality for a large subclass. One complication is that an operation in Event DPOR, which checks for redundancy of new executions, is NP-hard, as we show in this paper; we address this by a sequence of inexpensive (but incomplete) tests which check for redundancy efficiently. Our implementation and experimental evaluation show that, in comparison with other tools in which handler threads are simulated using locks, Event-DPOR can be exponentially faster than other state-of-the-art DPOR algorithms on a variety of programs and manages to completely avoid unnecessary exploration of executions. 

National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-510227 (URN)
Conference
Automated Technology for Verification and Analysis,21st International Symposium, ATVA 2023, Singapore, Oct. 2023
Available from: 2023-08-25 Created: 2023-08-25 Last updated: 2025-03-11
2. Trading Space for Simplicity in Stateless Model Checking
Open this publication in new window or tab >>Trading Space for Simplicity in Stateless Model Checking
Show others...
2024 (English)In: Real Time and Such: Essays Dedicated to Wang Yi to Celebrate His Scientific Career / [ed] Susanne Graf; Paul Pettersson; Bernhard Steffen, Springer, 2024, p. 79-97Chapter in book (Refereed)
Abstract [en]

Stateless model checking is a fully automatic verification technique for concurrent programs, which checks for safety violations by exploring all possible thread schedulings. It becomes effective when coupled with Dynamic Partial Order Reduction (DPOR), which introduces an equivalence on schedulings and reduces the amount of exploration. DPOR algorithms that are optimal are particularly effective in that they guarantee to explore exactly one execution from each equivalence class. Recently, the authors of this paper presented Parsimonious-OPtimal (POP) DPOR, an optimal DPOR algorithm for analyzing multi-threaded programs under sequential consistency, whose space consumption is polynomial in the worst case. This space consumption bound was realized due to a carefully crafted encoding of so-called sleep sets, a mechanism for preventing redundant exploration. This encoding brings some conceptual complexity to POP, which achieves good worst-case performance at the possible expense of worse average-case performance. In this paper, we present a simpler technique for managing sleep sets, which has exponential worst-case space consumption but better average-case performance. We experimentally compare these two sleep set management schemes on a range of benchmarks. The experimental results confirm that a simpler sleep set is a better choice when designing DPOR algorithms as they are faster and have similar memory consumption for average programs.

Place, publisher, year, edition, pages
Springer, 2024
Series
Lecture Notes in Computer Science, ISSN 0302-9743, E-ISSN 1611-3349 ; 15230
Keywords
Stateless Model Checking, Model Checking, DPOR, Concurrent Programs, Multi-threaded programs
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-551542 (URN)10.1007/978-3-031-73751-0_8 (DOI)001400370700009 ()2-s2.0-85208017586 (Scopus ID)9783031737503 (ISBN)9783031737510 (ISBN)
Conference
Real Time and Such: Essays Dedicated to Wang Yi to Celebrate His Scientific Career
Funder
Swedish Foundation for Strategic ResearchSwedish Research Council
Available from: 2025-02-25 Created: 2025-02-25 Last updated: 2025-03-11Bibliographically approved
3. Parsimonious Optimal Dynamic Partial Order Reduction
Open this publication in new window or tab >>Parsimonious Optimal Dynamic Partial Order Reduction
Show others...
2024 (English)In: COMPUTER AIDED VERIFICATION, PT II, CAV 2024 / [ed] Ganesh, V Gurfinkel, A, Springer Publishing Company, 2024, Vol. 14682, p. 19-43Conference paper, Published paper (Refereed)
Abstract [en]

Statelessmodel checking is a fully automatic verification technique for concurrent programs that checks for safety violations by exploring all possible thread schedulings. It becomes effective when coupled with Dynamic Partial Order Reduction (DPOR), which introduces an equivalence on schedulings and reduces the amount of needed exploration. DPOR algorithms that are optimal are particularly effective in that they guarantee to explore exactly one execution from each equivalence class. Unfortunately, existing sequence-based optimal algorithms may in the worst case consume memory that is exponential in the size of the analyzed program. In this paper, we present Parsimonious-OPtimal DPOR (POP), an optimal DPOR algorithm for analyzing multi-threaded programs under sequential consistency, whose space consumption is polynomial in the worst case. POP combines several novel algorithmic techniques, including (i) a parsimonious race reversal strategy, which avoids multiple reversals of the same race, (ii) an eager race reversal strategy to avoid storing initial fragments of to-be-explored executions, and (iii) a space-efficient scheme for preventing redundant exploration, which replaces the use of sleep sets. Our implementation in Nidhugg shows that these techniques can significantly speed up the analysis of concurrent programs, and do so with low memory consumption. Comparison to TruSt, a related optimal DPOR algorithm that represents executions as graphs, shows that POP's implementation achieves similar performance for smaller benchmarks, and scales much better than TruSt's on programs with long executions.

Place, publisher, year, edition, pages
Springer Publishing Company, 2024
Series
Lecture Notes in Computer Science, ISSN 0302-9743, E-ISSN 1611-3349
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-540574 (URN)10.1007/978-3-031-65630-9_2 (DOI)001307890400002 ()978-3-031-65629-3 (ISBN)978-3-031-65630-9 (ISBN)
Conference
36th International Conference on Computer-Aided Verification (CAV), JUN 24-27, 2024, Montreal, CANADA
Funder
Swedish Research CouncilSwedish Foundation for Strategic Research
Available from: 2024-10-17 Created: 2024-10-17 Last updated: 2025-03-11Bibliographically approved

Open Access in DiVA

UUThesis_S-Das-2025(522 kB)59 downloads
File information
File name FULLTEXT01.pdfFile size 522 kBChecksum SHA-512
54f1069125938ccac426303814f0fb88b839f02ae57dae8f00ffe9d6cc059d05de7e9123a4d7d124bc438e5c72ce7b4f687dfd85cc066eb8cea33c12be8af8e9
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Das, Sarbojit
By organisation
Division of Computer Systems
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 59 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 826 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf