Unifying Refinement and Hoare-Style Reasoning in a Logic for Higher-Order Concurrency

被引:1
作者
Turon, Aaron [1 ]
Dreyer, Derek [1 ]
Birkedal, Lars [1 ]
机构
[1] Aarhus Univ, DK-8000 Aarhus C, Denmark
关键词
Contextual refinement; higher-order functions; fine-grained concurrency; separation logic; Kripke logical relations;
D O I
10.1145/2544174.2500600
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Modular programming and modular verification go hand in hand, but most existing logics for concurrency ignore two crucial forms of modularity: higher-order functions, which are essential for building reusable components, and granularity abstraction, a key technique for hiding the intricacies of fine-grained concurrent data structures from the clients of those data structures. In this paper, we present CaReSL, the first logic to support the use of granularity abstraction for modular verification of higher-order concurrent programs. After motivating the features of CaReSL through a variety of illustrative examples, we demonstrate its effectiveness by using it to tackle a significant case study: the first formal proof of (partial) correctness for Hendler et al.'s "flat combining" algorithm.
引用
收藏
页码:377 / 390
页数:14
相关论文
共 33 条
  • [1] AHMED A, 2009, POPL
  • [2] [Anonymous], 2002, LICS
  • [3] Cilk: An efficient multithreaded runtime system
    Blumofe, RD
    Joerg, CF
    Kuszmaul, BC
    Leiserson, CE
    Randall, KH
    Zhou, YL
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1996, 37 (01) : 55 - 69
  • [4] DINSDALEYOUNG T, 2010, ECOOP
  • [5] Dodds M., 2011, POPL
  • [6] Dreyer D., 2010, POPL
  • [7] Elmas ., 2010, TACAS
  • [8] Feng X., 2009, POPL
  • [9] Filipovic I., 2010, THEORETICAL COMPUTER, V411
  • [10] Gotsman A., 2012, CONCUR