Rely/guarantee reasoning provides a compositional approach to reasoning about concurrent programs. However, such reasoning traditionally assumes a sequentially consistent memory model and hence is unsound on modern hardware in the presence of data races. In this paper, we present a rely/guarantee-based approach for multicopy atomic weak memory models, i.e., where a thread’s stores become observable to all other threads at the same time. Such memory models include those of the widely used x86-TSO and ARMv8 processor architectures, as well as the open-source RISC-V architecture. In this context, an operational semantics can be based on thread-local instruction reordering. We exploit this to provide an efficient compositional proof technique in which weak memory behaviour can be shown to preserve rely/guarantee reasoning on a sequentially consistent memory model. To achieve this, we introduce a side-condition, reordering interference freedom, reducing the complexity of weak memory to checks over pairs of reorderable instructions. To enable practical application, we also define a dataflow analysis capable of identifying a thread’s reorderable instructions. All aspects of our approach have been encoded and proved sound in Isabelle/HOL.
Wed 17 MayDisplayed time zone: Hobart change
11:00 - 12:30 | Formal verificationSEIP - Software Engineering in Practice / DEMO - Demonstrations / Technical Track / NIER - New Ideas and Emerging Results / Showcase at Meeting Room 104 Chair(s): Bonita Sharif University of Nebraska-Lincoln, USA | ||
11:00 15mTalk | How Do We Read Formal Claims? Eye-Tracking and the Cognition of Proofs about Algorithms Technical Track Hammad Ahmad University of Michigan, Zachary Karas University of Michigan, Kimberly Diaz University of Michigan, Amir Kamil University of Michigan, Jean-Baptiste Jeannin University of Michigan at Ann Arbor, Westley Weimer University of Michigan | ||
11:15 15mTalk | Which of My Assumptions are Unnecessary for Realizability and Why Should I Care? Technical Track Pre-print | ||
11:30 15mTalk | Understanding Inconsistency in Azure Cosmos DB with TLA+ SEIP - Software Engineering in Practice Alistair Finn Hackett University of British Columbia, Joshua Rowe Microsoft, Markus Alexander Kuppe Microsoft Research | ||
11:45 15mTalk | Rely/Guarantee Reasoning for Multicopy Atomic Weak Memory Models Showcase Nicholas Coughlin Defence Science and Technology Group, Australia, Kirsten Winter Defence Science and Technology Group, Australia, Graeme Smith The University of Queensland | ||
12:00 7mTalk | HOME: Heard-Of based Formal Modeling and Verification Environment for Consensus Protocols DEMO - Demonstrations Shumao Zhai Beihang University, Xiaozhou Li University of Oulu, Ning Ge School of Software, Beihang University | ||
12:07 7mTalk | CoVeriTeam Service: Verification as a Service DEMO - Demonstrations | ||
12:15 7mTalk | Proofster: Automated Formal Verification DEMO - Demonstrations Arpan Agrawal University of Illinois Urbana-Champaign, Emily First University of Massachusetts Amherst, Zhanna Kaufman University of Massachusetts, Tom Reichel University of Illinois Urbana-Champaign, Shizhuo Zhang University of Illinois Urbana-Champaign, Timothy Zhou University of Illinois Urbana-Champaign, Alex Sanchez-Stern University of Massachusetts at Amherst, Talia Ringer University of Illinois at Urbana-Champaign, Yuriy Brun University of Massachusetts Media Attached | ||
12:22 7mTalk | Anti-Patterns (Smells) in Temporal Specifications NIER - New Ideas and Emerging Results Dor Ma'ayan Tel Aviv University, Shahar Maoz Tel Aviv University, Jan Oliver Ringert Bauhaus-University Weimar Pre-print |