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 条
  • [31] Mechanical verification of recursive procedures manipulating pointers using separation logic
    Preoteasa, Viorel
    [J]. FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 508 - 523
  • [32] Formal verification of the heap manager of an operating system using separation logic
    Marti, Nicolas
    Affeldt, Reynald
    Yonezawa, Akinori
    [J]. FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2006, 4260 : 400 - +
  • [33] Modular Verification of Termination and Execution Time Bounds Using Separation Logic
    Hamin, Jafar
    Jacobs, Bart
    [J]. PROCEEDINGS OF 2016 IEEE 17TH INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION (IEEE IRI), 2016, : 110 - 117
  • [34] Separation logic and program analysis
    O'Hearn, Peter W.
    [J]. STATIC ANALYSIS, PROCEEDINGS, 2006, 4134 : 181 - 181
  • [35] Operational Characterization of Weak Memory Consistency Models
    Senftleben, M.
    Schneider, K.
    [J]. ARCHITECTURE OF COMPUTING SYSTEMS, 2018, 10793 : 195 - 208
  • [36] Distributed causal memory: Modular specification and verification in higher-order distributed separation logic
    Gondelman, Léon
    Gregersen, Simon Oddershede
    Nieto, Abel
    Timany, Amin
    Birkedal, Lars
    [J]. Proceedings of the ACM on Programming Languages, 2021, 5 (POPL)
  • [37] Distributed Causal Memory: Modular Specification and Verification in Higher-Order Distributed Separation Logic
    Gondelman, Leon
    Gregersen, Simon Oddershede
    Nieto, Abel
    Timany, Amin
    Birkedal, Lars
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [38] Enhancing modular OO verification with separation logic
    Chin, Wei-Ngan
    David, Cristina
    Nguyen, Huu Hai
    Qin, Shengchao
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (01) : 87 - 99
  • [39] Verification Algorithms for Automated Separation Logic Verifiers
    Eilers, Marco
    Schwerhoff, Malte
    Mueller, Peter
    [J]. COMPUTER AIDED VERIFICATION, PT I, CAV 2024, 2024, 14681 : 362 - 386
  • [40] Enhancing Modular OO Verification with Separation Logic
    Chin, Wei-Ngan
    David, Cristina
    Nguyen, Huu Hai
    Qin, Shengchao
    [J]. POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2008, : 87 - 99