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 条
  • [21] A program logic for resource verification
    Aspinall, D
    Beringer, L
    Hofmann, M
    Loidl, HW
    Momigliano, A
    [J]. THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2004, 3223 : 34 - 49
  • [22] The basic constructive logic for a weak sense of consistency
    Robles G.
    Méndez J.M.
    [J]. Journal of Logic, Language and Information, 2008, 17 (1) : 89 - 107
  • [23] Linear Time Memory Consistency Verification
    Hu, Weiwu
    Chen, Yunji
    Chen, Tianshi
    Qian, Cheng
    Li, Lei
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2012, 61 (04) : 502 - 516
  • [24] Fast Complete Memory Consistency Verification
    Chen, Yunji
    Lv, Yi
    Hu, Weiwu
    Chen, Tianshi
    Shen, Haihua
    Wang, Pengyu
    Pan, Hong
    [J]. HPCA-15 2009: FIFTEENTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, 2009, : 381 - +
  • [25] On the decidability of shared memory consistency verification
    Sezgin, A
    Gopalakrishnan, G
    [J]. Third ACM & IEEE International Conference on Formal Methods and Models for Co-Design, Proceedings, 2005, : 199 - 208
  • [26] Modelling and verification of program logic controllers using timed automata
    Wang, R.
    Song, X.
    Gu, M.
    [J]. IET SOFTWARE, 2007, 1 (04) : 127 - 131
  • [27] Verification of In-Memory Logic Design using ReRAM Crossbars
    Datta, Kamalika
    Deb, Arighna
    Shirinzadeh, Fatemeh
    Kole, Abhoy
    Shirinzadeh, Saeideh
    Drechsler, Rolf
    [J]. 2023 21ST IEEE INTERREGIONAL NEWCAS CONFERENCE, NEWCAS, 2023,
  • [28] Verification of protocol specifications with separation logic
    Kiss, Tibor
    Craciun, Florin
    Pary, Bazil
    [J]. 2015 IEEE 11TH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTER COMMUNICATION AND PROCESSING (ICCP), 2015, : 109 - 116
  • [29] On the Verification Problem for Weak Memory Models
    Atig, Mohamed Faouzi
    Bouajjani, Ahmed
    Burckhardt, Sebastian
    Musuvathi, Madanlal
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (01) : 7 - 18
  • [30] On the Verification Problem for Weak Memory Models
    Atig, Mohamed Faouzi
    Bouajjani, Ahmed
    Burckhardt, Sebastian
    Musuvathi, Madanlal
    [J]. POPL'10: PROCEEDINGS OF THE 37TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2010, : 7 - 18