paperbot · PL 论文追踪

RSS

Armada: Automated Verification of Concurrent Code with Sound Semantic Extensibility

TOPLAS 44(2)2022
Jacob R. Lorch, Yixuan Chen, Manos Kapritsos, Haojun Ma, Bryan Parno, Shaz Qadeer, Upamanyu Sharma, James R. Wilcox, Xueyuan Zhao

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

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, Armadagives developers the flexibility to choose arbitrary memory layout and synchronization primitives so that they are never constrained in their pursuit of performance. To reduce developer effort, Armadaleverages SMT-powered automation and a library of powerful reasoning techniques, including rely-guarantee, TSO elimination, reduction, and pointer analysis. All of these techniques are proven sound, and Armadacan be soundly extended with additional strategies over time. Using Armada, we verify five concurrent case studies and show that we can achieve performance equivalent to that of unverified code.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot1615,
  title = {Armada: Automated Verification of Concurrent Code with Sound Semantic Extensibility},
  author = {Jacob R. Lorch and Yixuan Chen and Manos Kapritsos and Haojun Ma and Bryan Parno and Shaz Qadeer and Upamanyu Sharma and James R. Wilcox and Xueyuan Zhao},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {44},
  number = {2},
  year = {2022},
  doi = {10.1145/3502491}
}