On the Verification Problem for Weak Memory Models

被引:56
作者
Atig, Mohamed Faouzi [1 ]
Bouajjani, Ahmed [1 ]
Burckhardt, Sebastian
Musuvathi, Madanlal
机构
[1] Univ Paris Diderot, LIAFA, Paris, France
来源
POPL'10: PROCEEDINGS OF THE 37TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES | 2010年
关键词
Program verification; Relaxed memory models; Infinite state systems; Lossy channel systems; COMPLEXITY; PROGRAMS; SYSTEMS; WSTS;
D O I
10.1145/1706299.1706303
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We address the verification problem of finite-state concurrent programs running under weak memory models. These models capture the reordering of program (read and write) operations done by modern multi-processor architectures for performance. The verification problem we study is crucial for the correctness of concurrency libraries and other performance-critical system services employing lock-free synchronization, as well as for the correctness of compiler backends that generate code targeted to run on such architectures. We consider in this paper combinations of three well-known program order relaxations. We consider first the "write to read" relaxation, which corresponds to the TSO (Total Store Ordering) model. This relaxation is used in most hardware architectures available today. Then, we consider models obtained by adding either (1) the "write to write" relaxation, leading to a model which is essentially PSO (Partial Store Ordering), or (2) the "read to read/write" relaxation, or (3) both of them, as it is done in the RMO (Relaxed Memory Ordering) model for instance. We define abstract operational models for these weak memory models based on state machines with (potentially unbounded) FIFO buffers, and we investigate the decidability of their reachability and their repeated reachability problems. We prove that the reachability problem is decidable for the TSO model, as well as for its extension with "write to write" relaxation (PSO). Furthermore, we prove that the reachability problem becomes undecidable when the "read to read/write" relaxation is added to either of these two memory models, and we give a condition under which this addition preserves the decidability of the reachability problem. We show also that the repeated reachability problem is undecidable for all the considered memory models.
引用
收藏
页码:7 / 18
页数:12
相关论文
共 27 条
[1]  
Abdulla P., 1996, LICS, P313
[2]  
Abdulla P.A., 1993, LICS, P160
[3]   Verifying programs with unreliable channels [J].
Abdulla, PA ;
Jonsson, B .
INFORMATION AND COMPUTATION, 1996, 127 (02) :91-101
[4]  
ABDULLA PA, 1994, LECT NOTES COMPUTER, V820, P316
[5]   Shared memory consistency models: A tutorial [J].
Adve, SV ;
Gharachorloo, K .
COMPUTER, 1996, 29 (12) :66-&
[6]  
ALUR P, 1996, LOGIC COMPUTER SCI L, P219
[7]  
[Anonymous], OOPSLA IN PRESS
[8]  
BASWANA S, 2008, COMPUTER AIDED VERIF
[9]   CheckFence: Checking Consistency of Concurrent Data Types on Relaxed Memory Models [J].
Burckhardt, Sebastian ;
Alur, Rajeev ;
Martin, Milo M. K. .
PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2007, :12-21
[10]  
Burckhardt S, 2008, LECT NOTES COMPUT SC, V5123, P107