Proving Correctness of Parallel Implementations of Transition System Models

被引:0
|
作者
De Boer, Frank [1 ]
Johnsen, Einar Broch [2 ]
Pun, Violet Ka i [3 ]
Tarifa, Silvia Lizeth Tapia [2 ]
机构
[1] CWI, Amsterdam, Netherlands
[2] Univ Oslo, Oslo, Norway
[3] Western Norway Univ Appl Sci, Bergen, Norway
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2024年 / 46卷 / 03期
关键词
Correctness; transition system models; active objects; simulation; multicore memory systems; ARCHITECTURES; VERIFICATION; SEMANTICS;
D O I
10.1145/3660630
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This article addresses the long-standing problem of program correctness for programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel implementations of high-level models expressed as transition systems. The implementation language underlying the method is based on the concurrency model of actors and active objects. The method defines program correctness in terms of a simulation relation between the transition system that specifies the program semantics of the parallel program and the transition system that is described by the correctness specification. The simulation relation itself abstracts from the fine-grained interleaving of parallel processes by exploiting a global confluence property of the concurrency model of the implementation language considered in this article. As a proof of concept, we apply our method to the correctness of a parallel simulator of multicore memory systems.
引用
收藏
页数:50
相关论文
共 50 条
  • [1] On Automatically Proving the Correctness of math . h Implementations
    Lee, Wonyeol
    Sharma, Rahul
    Aiken, Alex
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [2] Partition consistency A case study in modeling systems with weak memory consistency and proving correctness of their implementations
    Cheng, Steven
    Higham, Lisa
    Kawash, Jalal
    DISTRIBUTED COMPUTING, 2014, 27 (05) : 363 - 389
  • [3] Proving the correctness of client/server software
    Alkassar, Eyad
    Bogan, Sebastian
    Paul, Wolfgang J.
    SADHANA-ACADEMY PROCEEDINGS IN ENGINEERING SCIENCES, 2009, 34 (01): : 145 - 191
  • [4] On Composing and Proving the Correctness of Reactive Behavior
    Harel, David
    Kantor, Amir
    Katz, Guy
    Marron, Assaf
    Mizrahi, Lior
    Weiss, Gera
    2013 PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE (EMSOFT), 2013,
  • [5] Automatically proving the correctness of compiler optimizations
    Lerner, S
    Millstein, T
    Chambers, C
    ACM SIGPLAN NOTICES, 2003, 38 (05) : 220 - 231
  • [6] Proving Correctness of an Efficient Abstraction for Interrupt Handling
    Herberich, Gerlind
    Schlich, Bastian
    Weise, Carsten
    Noll, Thomas
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2008, 217 : 133 - 150
  • [7] Proving the correctness of the standardized algorithm for ABR conformance
    Monin, JF
    FORMAL METHODS IN SYSTEM DESIGN, 2000, 17 (03) : 221 - 243
  • [8] Proving the Correctness of the Standardized Algorithm for ABR Conformance
    Jean-François Monin
    Formal Methods in System Design, 2000, 17 : 221 - 243
  • [9] Proving Fairness and Implementation Correctness of a Microkernel Scheduler
    Daum, Matthias
    Doerrenbaecher, Jan
    Wolff, Burkhart
    JOURNAL OF AUTOMATED REASONING, 2009, 42 (2-4) : 349 - 388
  • [10] Proving the Correctness of the Implementation of a Control-Command Algorithm
    Bouissou, Olivier
    STATIC ANALYSIS, 2009, 5673 : 102 - 119