دورية أكاديمية

Cosmo: A Concurrent Separation Logic for Multicore OCaml

التفاصيل البيبلوغرافية
العنوان: Cosmo: A Concurrent Separation Logic for Multicore OCaml
المؤلفون: Mével, Glen, Jourdan, Jacques-Henri, Pottier, François
المساهمون: Université Paris-Saclay, Vérification d'Algorithmes, Langages et Systèmes (LRI) (VALS - LRI), Laboratoire de Recherche en Informatique (LRI), CentraleSupélec-Université Paris-Saclay-Centre National de la Recherche Scientifique (CNRS)-CentraleSupélec-Université Paris-Saclay-Centre National de la Recherche Scientifique (CNRS), CentraleSupélec-Université Paris-Saclay-Centre National de la Recherche Scientifique (CNRS), Langages de programmation : systèmes de types, concurrence, preuve de programme (CAMBIUM), Collège de France (CdF (institution))-Inria de Paris, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria), Centre National de la Recherche Scientifique (CNRS), ACM
المصدر: ISSN: 2475-1421 ; Proceedings of the ACM on Programming Languages ; ICFP 2020 - 25th ACM SIGPLAN International Conference on Functional Programming ; https://hal.science/hal-02929998Test ; Proceedings of the ACM on Programming Languages, 2020, 4 (ICFP), ⟨10.1145/3408978⟩ ; https://icfp20.sigplan.orgTest/.
بيانات النشر: HAL CCSD
ACM
سنة النشر: 2020
المجموعة: Université de Rennes 1: Publications scientifiques (HAL)
مصطلحات موضوعية: Separation logic, Program verification, Concurrency, Weak memory, [INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO], [INFO.INFO-PF]Computer Science [cs]/Performance [cs.PF], [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL]
جغرافية الموضوع: New-York / Virtual, United States
الوصف: International audience ; Multicore OCaml extends OCaml with support for shared-memory concurrency. It is equipped with a weak memory model, for which an operational semantics has been published. This begs the question: what reasoning rules can one rely upon while writing or verifying Multicore OCaml code? To answer it, we instantiate Iris, a modern descendant of Concurrent Separation Logic, for Multicore OCaml. This yields a low-level program logic whose reasoning rules expose the details of the memory model. On top of it, we build a higher-level logic, Cosmo, which trades off some expressive power in return for a simple set of reasoning rules that allow accessing nonatomic locations in a data-race-free manner, exploiting the sequentially-consistent behavior of atomic locations, and exploiting the release/acquire behavior of atomic locations. Cosmo allows both low-level reasoning, where the details of the Multicore OCaml memory model are apparent, and high-level reasoning, which is independent of this memory model. We illustrate this claim via a number of case studies: we verify several implementations of locks with respect to a classic, memory-model-independent specification. Thus, a coarse-grained application that uses locks as the sole means of synchronization can be verified in the Concurrent-Separation-Logic fragment of Cosmo, without any knowledge of the weak memory model.
نوع الوثيقة: article in journal/newspaper
اللغة: English
العلاقة: hal-02929998; https://hal.science/hal-02929998Test; https://hal.science/hal-02929998/documentTest; https://hal.science/hal-02929998/file/mevel2020cosmo.pdfTest
DOI: 10.1145/3408978
الإتاحة: https://doi.org/10.1145/3408978Test
https://hal.science/hal-02929998Test
https://hal.science/hal-02929998/documentTest
https://hal.science/hal-02929998/file/mevel2020cosmo.pdfTest
حقوق: info:eu-repo/semantics/OpenAccess
رقم الانضمام: edsbas.B88AB81C
قاعدة البيانات: BASE