Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleMarch 2023
Satisfiability Modulo Ordering Consistency Theory for SC, TSO, and PSO Memory Models
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 1Article No.: 6, Pages 1–37https://doi.org/10.1145/3579835Automatically verifying multi-threaded programs is difficult because of the vast number of thread interleavings, a problem aggravated by weak memory consistency. Partial orders can help with verification because they can represent many thread ...
- research-articleOctober 2022
Consistency-preserving propagation for SMT solving of concurrent program verification
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue OOPSLA2Article No.: 158, Pages 929–956https://doi.org/10.1145/3563321The happens-before orders have been widely adopted to model thread interleaving behaviors of concurrent programs. A dedicated ordering theory solver, usually composed of theory propagation, consistency checking, and conflict clause generation, plays a ...
- ArticleApril 2022
Deagle: An SMT-based Verifier for Multi-threaded Programs (Competition Contribution)
Tools and Algorithms for the Construction and Analysis of SystemsApr 2022, Pages 424–428https://doi.org/10.1007/978-3-030-99527-0_25AbstractDeagle is an SMT-based multi-threaded program verification tool. It is built on top of CBMC (front-end) and MiniSAT (back-end). The basic idea of Deagle is to integrate into the SMT solver an ordering consistency theory that handles ordering ...
- research-articleJune 2021
Satisfiability modulo ordering consistency theory for multi-threaded program verification
PLDI 2021: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and ImplementationJune 2021, Pages 1264–1279https://doi.org/10.1145/3453483.3454108Analyzing multi-threaded programs is hard due to the number of thread interleavings. Partial orders can be used for modeling and analyzing multi-threaded programs. However, there is no dedicated decision procedure for solving partial-order constraints. ...