Stateful Dynamic Partial Order Reduction for Model Checking Event-Driven Applications that Do Not Terminate
@inproceedings{Trimananda2021StatefulDP, title={Stateful Dynamic Partial Order Reduction for Model Checking Event-Driven Applications that Do Not Terminate}, author={Rahmadi Trimananda and Weiyu Luo and Brian Demsky and Guoqing Harry Xu}, booktitle={International Conference on Verification, Model Checking and Abstract Interpretation}, year={2021} }
Event-driven architectures are broadly used for systems that must respond to events in the real world. Event-driven applications are prone to concurrency bugs that involve subtle errors in reasoning about the ordering of events. Unfortunately, there are several challenges in using existing model-checking techniques on these systems. Event-driven applications often loop indefinitely and thus pose a challenge for stateless model checking techniques. On the other hand, deploying purely stateful…
References
SHOWING 1-10 OF 66 REFERENCES
Stateless model checking of event-driven applications
- Computer ScienceOOPSLA
- 2015
This work proposes the first stateless model checker for event-driven applications, called R4, which systematically explores the nondeterminism in the application and concisely exposes its overall effect, which is useful for bug discovery.
Distributed Dynamic Partial Order Reduction Based Verification of Threaded Software
- Computer ScienceSPIN
- 2007
A distributed version of inspect is described, which implements an extended DPOR algorithm, a practical algorithm for distributed dynamic partial order reduction, and the innovations that helped distributed inspect attain nearly linear speedup on realistic examples.
Stateless model checking concurrent programs with maximal causality reduction
- Computer SciencePLDI
- 2015
MCR reduces the number of executions explored by ICB and ICB+DPOR by orders of magnitude, and significantly improves the scalability, efficiency, and effectiveness of the state-of-the-art for both state-space exploration and bug finding.
Partial Order Reduction for Event-Driven Multi-threaded Programs
- Computer ScienceTACAS
- 2016
This work considers partial order reduction POR for event-driven multi-threaded programming, and proposes a new POR technique based on a backtracking set called the dependence-covering set, which proves that exploring dependence-covered sets suffices to detect all deadlock cycles and assertion violations defined over local variables.
Effective lock handling in stateless model checking
- Computer ScienceProc. ACM Program. Lang.
- 2019
This work presents a lock-aware POR algorithm, LAPOR, that exploits independence at both instruction and critical section levels and can be exponentially faster than the state-of-the-art model checkers.
Optimal stateless model checking under the release-acquire semantics
- Computer ScienceProc. ACM Program. Lang.
- 2018
An SMC algorithm is defined which is provably optimal in the sense that it explores each program order and read-from relation exactly once, which is strictly stronger than previous analogous optimality results, which also take coherence order into account.
Combining partial order reductions with on-the-fly model-checking
- Computer ScienceFormal Methods Syst. Des.
- 1996
An extension of the model-checker SPIN, which implements this combination, is studied, showing substantial reduction over traditional search, not only in the number of reachable states, but directly in the amount of memory and time used.
TransDPOR: A Novel Dynamic Partial-Order Reduction Technique for Testing Actor Programs
- Computer ScienceFMOODS/FORTE
- 2012
A novel dynamic POR technique, TransDPOR, that exploits the transitivity of the dependency relation in actor systems, and empirical results show that leveraging transitivity speeds up exploration by up to two orders of magnitude compared to existing POR techniques.
Efficient Stateful Dynamic Partial Order Reduction
- Computer ScienceSPIN
- 2008
The stateful runtime model checking approach combines light-weight state recording with SDPOR, and strikes a good balance between state recording overheads, on one hand, and the elimination of redundant searches, on the other hand.
Value-centric dynamic partial order reduction
- Computer ScienceProc. ACM Program. Lang.
- 2019
An algorithm called value-centric DPOR (VCDPOR), which explores the underlying partitioning using polynomial time per class, and shows that value-happens-before is always at least as coarse as the happens-before equivalence, and can be even exponentially coarser.