Armada: Low-Effort Verification of High-Performance Concurrent Programs
Safely writing high-performance concurrent programs is notoriously difficult. To aid developers, we introduce Armada, a language and tool designed to formally verify such programs with relatively little effort. Via a C-like language and a small-step, state-machine-based semantics, Armada gives developers the flexibility to choose arbitrary memory layout and synchronization primitives so they are never constrained in their pursuit of performance. To reduce developer effort, Armada leverages SMT-powered automation and a library of powerful reasoning techniques, including rely-guarantee, TSO elimination, reduction, and alias analysis. All these techniques are proven sound, and Armada can be soundly extended with additional strategies over time. Using Armada, we verify four concurrent case studies and show that we can achieve performance equivalent to that of unverified code.
Thu 21 OctDisplayed time zone: Central Time (US & Canada) change
10:50 - 12:10 | |||
10:50 15mTalk | Armada: Low-Effort Verification of High-Performance Concurrent Programs SIGPLAN Papers Jacob R. Lorch Microsoft Research, n.n., Yixuan Chen Yale University, USA, Manos Kapritsos University of Michigan, USA, Bryan Parno Carnegie Mellon University, USA, Shaz Qadeer Novi, USA, Upamanyu Sharma University of Michigan, USA, James R. Wilcox University of Washington, Xueyuan Zhao Carnegie Mellon University, USA DOI | ||
11:05 15mTalk | Decidable Verification under a Causally Consistent Shared Memory SIGPLAN Papers | ||
11:20 15mTalk | Efficient Handling of String-Number Conversion SIGPLAN Papers Parosh Aziz Abdulla Uppsala University, Sweden, Mohamed Faouzi Atig Uppsala University, Sweden, Yu-Fang Chen Academia Sinica, Taiwan, Bui Phi Diep Uppsala University, Sweden, Julian Dolby IBM Research, USA, Petr Janků Brno University of Technology, Czechia, Hsin-Hung Lin Academia Sinica, Taiwan, Lukáš Holík Brno University of Technology, Wei-Cheng Wu University of Southern California, USA | ||
11:35 15mTalk | Verifying Concurrent Search Structure Templates SIGPLAN Papers Siddharth Krishna Microsoft Research, Nisarg Patel New York University, Dennis Shasha New York University, Thomas Wies New York University | ||
11:50 20mLive Q&A | Discussion, Questions and Answers SIGPLAN Papers |