Satisfiability Modulo Ordering Consistency Theory for Multi-threaded Program Verification

Fei He, Zhihang Sun, and Hongyu Fan

Abstract

Analyzing 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. In this paper, we propose a novel ordering consistency theory for multi-threaded program verification under sequential consistency, and we elaborate its theory solver, which realizes incremental consistency checking, minimal conflict clause generation, and specialized theory propagation to improve the efficiency of SMT solving. We conducted extensive experiments on credible benchmarks; the results show significant promotion of our approach.

Source Code

Zord is the tool that implements our approach. The source code contains all source code of Zord. Please refer to readme.txt for instructions to compile Zord.

Supplementary Data

The supplementary archive contains all data, tables and used benchmark programs in our evaluation. The following files are in the archive: