Program Verification Under Weak Memory Consistency Using Separation Logic

被引:6
|
作者
Vafeiadis, Viktor [1 ]
机构
[1] SWS, MPI, Saarbrucken, Germany
来源
关键词
D O I
10.1007/978-3-319-63387-9_2
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The semantics of concurrent programs is now defined by a weak memory model, determined either by the programming language (e.g., in the case of C/C++11 or Java) or by the hardware architecture (e.g., for assembly and legacy C code). Since most work in concurrent software verification has been developed prior to weak memory consistency, it is natural to ask how these models affect formal reasoning about concurrent programs. In this overview paper, we show that verification is indeed affected: for example, the standard Owicki-Gries method is unsound under weak memory. Further, based on concurrent separation logic, we develop a number of sound program logics for fragments of the C/C++11 memory model. We show that these logics are useful not only for verifying concurrent programs, but also for explaining the weak memory constructs of C/C++.
引用
收藏
页码:30 / 46
页数:17
相关论文
共 50 条
  • [1] Program Verification with Separation Logic
    Iosif, Radu
    [J]. MODEL CHECKING SOFTWARE, SPIN 2018, 2018, 10869 : 48 - 62
  • [2] Program Regularization in Memory Consistency Verification
    Chen, Yunji
    Li, Lei
    Chen, Tianshi
    Li, Ling
    Wang, Lei
    Feng, Xiaoxue
    Hu, Weiwu
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2012, 23 (11) : 2163 - 2174
  • [3] A Program Construction and Verification Tool for Separation Logic
    Dongol, Brijesh
    Gomes, Victor B. F.
    Struth, Georg
    [J]. MATHEMATICS OF PROGRAM CONSTRUCTION, MPC 2015, 2015, 9129 : 137 - 158
  • [4] Completeness of Pointer Program Verification by Separation Logic
    Tatsuta, Makoto
    Chin, Wei-Ngan
    Al Ameen, Mahmudul Faisal
    [J]. SEFM 2009: SEVENTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, 2009, : 179 - +
  • [5] Towards mechanized program verification with separation logic
    Weber, T
    [J]. COMPUTER SCIENCE LOGIC, PROCEEDINGS, 2004, 3210 : 250 - 264
  • [6] Completeness and expressiveness of pointer program verification by separation logic
    Tatsuta, Makoto
    Chin, Wei-Ngan
    Al Ameen, Mahmudul Faisal
    [J]. INFORMATION AND COMPUTATION, 2019, 267 : 1 - 27
  • [7] Software Verification for Weak Memory via Program Transformation
    Alglave, Jade
    Kroening, Daniel
    Nimal, Vincent
    Tautschnig, Michael
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, 2013, 7792 : 512 - 532
  • [8] A specification and verification framework for developing weak shared memory consistency protocols
    Chatterjee, P
    Gopalakrishnan, G
    [J]. FORMAL METHODS IN COMPUTER-AIDED DESIGN, PROCEEDINGS, 2002, 2517 : 292 - 309
  • [9] Modular Verification of Safe Memory Reclamation in Concurrent Separation Logic
    Jung, Jaehwang
    Lee, Janggun
    Choi, Jaemin
    Kim, Jaewoo
    Park, Sunho
    Kang, Jeehoon
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):
  • [10] Spirea: A Mechanized Concurrent Separation Logic for Weak Persistent Memory
    Vindum, Simon Friis
    Birkedal, Lars
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):