TSO to SC via Symbolic Execution

Modern multi-core processors equipped with weak memory models like TSO exhibit executions which – due to store buffers – seemingly reorder program operations. Thus, they deviate from the commonly assumed sequential consistency (SC) semantics. Analysis techniques for concurrent programs consequently need to take reorderings into account. For TSO, this is often accomplished by explicitly modelling store buffers.

[1]  Francesco Zappa Nardelli,et al.  x86-TSO , 2010, Commun. ACM.

[2]  Oleg Travkin,et al.  SPIN as a Linearizability Checker under Weak Memory Models , 2013, Haifa Verification Conference.

[3]  Parosh Aziz Abdulla,et al.  Deciding Robustness against Total Store Ordering , 2011 .

[4]  C. Greg Plaxton,et al.  Thread Scheduling for Multiprogrammed Multiprocessors , 1998, SPAA '98.

[5]  Nancy A. Lynch,et al.  Mutual exclusion using indivisible reads and writes , 1980 .

[6]  Oleg Travkin,et al.  Handling TSO in Mechanized Linearizability Proofs , 2014, Haifa Verification Conference.

[7]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[8]  Norbert Schirmer,et al.  From Total Store Order to Sequential Consistency: A Practical Reduction Theorem , 2010, ITP.

[9]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[10]  Roland Meyer,et al.  Lazy TSO Reachability , 2015, FASE.

[11]  Sebastian Burckhardt,et al.  On the verification problem for weak memory models , 2010, POPL '10.

[12]  Francesco Zappa Nardelli,et al.  86-TSO : A Rigorous and Usable Programmer ’ s Model for x 86 Multiprocessors , 2010 .

[13]  Daniel Kroening,et al.  Software Verification for Weak Memory via Program Transformation , 2012, ESOP.

[14]  Mohamed Faouzi Atig,et al.  Getting Rid of Store-Buffers in TSO Analysis , 2011, CAV.

[15]  Corina S. Pasareanu,et al.  A survey of new trends in symbolic execution for software testing and analysis , 2009, International Journal on Software Tools for Technology Transfer.

[16]  Eran Yahav,et al.  Predicate Abstraction for Relaxed Memory Models , 2013, SAS.

[17]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[18]  Pierre Wolper,et al.  An Automata-Based Symbolic Approach for Verifying Programs on Relaxed Memory Models , 2010, SPIN.

[19]  Heike Wehrheim,et al.  Programs from Proofs - A PCC Alternative , 2013, CAV.

[20]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[21]  Parosh Aziz Abdulla,et al.  Stateless Model Checking for TSO and PSO , 2015, TACAS.

[22]  Yue Yang,et al.  UMM: an operational memory model specification framework with integrated model checking capability , 2005, Concurr. Pract. Exp..

[23]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.