SteelCore: an extensible concurrent separation logic for effectful dependently typed programs

Much recent research has been devoted to modeling effects within type theory. Building on this work, we observe that effectful type theories can provide a foundation on which to build semantics for more complex programming constructs and program logics, extending the reasoning principles that apply...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings of ACM on programming languages Jg. 4; H. ICFP; S. 1 - 30
Hauptverfasser: Swamy, Nikhil, Rastogi, Aseem, Fromherz, Aymeric, Merigoux, Denis, Ahman, Danel, Martínez, Guido
Format: Journal Article
Sprache:Englisch
Veröffentlicht: ACM 02.08.2020
Schlagworte:
ISSN:2475-1421, 2475-1421
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Much recent research has been devoted to modeling effects within type theory. Building on this work, we observe that effectful type theories can provide a foundation on which to build semantics for more complex programming constructs and program logics, extending the reasoning principles that apply within the host effectful type theory itself. Concretely, our main contribution is a semantics for concurrent separation logic (CSL) within the F ⋆ proof assistant in a manner that enables dependently typed, effectful F ⋆ programs to make use of concurrency and to be specified and verified using a full-featured, extensible CSL. In contrast to prior approaches, we directly derive the partial-correctness Hoare rules for CSL from the denotation of computations in the effectful semantics of non-deterministically interleaved atomic actions. Demonstrating the flexibility of our semantics, we build generic, verified libraries that support various concurrency constructs, ranging from dynamically allocated, storable spin locks, to protocol-indexed channels. We conclude that our effectful semantics provides a simple yet expressive basis on which to layer domain-specific languages and logics for verified, concurrent programming.
AbstractList Much recent research has been devoted to modeling effects within type theory. Building on this work, we observe that effectful type theories can provide a foundation on which to build semantics for more complex programming constructs and program logics, extending the reasoning principles that apply within the host effectful type theory itself. Concretely, our main contribution is a semantics for concurrent separation logic (CSL) within the F ⋆ proof assistant in a manner that enables dependently typed, effectful F ⋆ programs to make use of concurrency and to be specified and verified using a full-featured, extensible CSL. In contrast to prior approaches, we directly derive the partial-correctness Hoare rules for CSL from the denotation of computations in the effectful semantics of non-deterministically interleaved atomic actions. Demonstrating the flexibility of our semantics, we build generic, verified libraries that support various concurrency constructs, ranging from dynamically allocated, storable spin locks, to protocol-indexed channels. We conclude that our effectful semantics provides a simple yet expressive basis on which to layer domain-specific languages and logics for verified, concurrent programming.
Much recent research has been devoted to modeling effects within type theory. Building on this work, we observe that effectful type theories can provide a foundation on which to build semantics for more complex programming constructs and program logics, extending the reasoning principles that apply within the host effectful type theory itself.Concretely, our main contribution is a semantics for concurrent separation logic (CSL) within the F★ proof assistant in a manner that enables dependently typed, effectful F★ programs to make use of concurrency and to be specified and verified using a full-featured, extensible CSL. In contrast to prior approaches, we directly derive the partial-correctness Hoare rules for CSL from the denotation of computations in the effectful semantics of non-deterministically interleaved atomic actions.Demonstrating the flexibility of our semantics, we build generic, verified libraries that support various concurrency constructs, ranging from dynamically allocated, storable spin locks, to protocol-indexed channels. We conclude that our effectful semantics provides a simple yet expressive basis on which to layer domainspecific languages and logics for verified, concurrent programming.
Author Fromherz, Aymeric
Ahman, Danel
Merigoux, Denis
Martínez, Guido
Swamy, Nikhil
Rastogi, Aseem
Author_xml – sequence: 1
  givenname: Nikhil
  surname: Swamy
  fullname: Swamy, Nikhil
  organization: Microsoft Research, USA
– sequence: 2
  givenname: Aseem
  surname: Rastogi
  fullname: Rastogi, Aseem
  organization: Microsoft Research, India
– sequence: 3
  givenname: Aymeric
  surname: Fromherz
  fullname: Fromherz, Aymeric
  organization: Carnegie Mellon University, USA
– sequence: 4
  givenname: Denis
  surname: Merigoux
  fullname: Merigoux, Denis
  organization: Inria, France
– sequence: 5
  givenname: Danel
  surname: Ahman
  fullname: Ahman, Danel
  organization: University of Ljubljana, Slovenia
– sequence: 6
  givenname: Guido
  surname: Martínez
  fullname: Martínez, Guido
  organization: CIFASIS-CONICET, Argentina
BackLink https://inria.hal.science/hal-02936273$$DView record in HAL
BookMark eNpdkEFLAzEQhYNUsNbiX8hNPKwmm81m11spaoWCB_UoIZtM6so2WZJU7L93aytIT294fMzMe-do5LwDhC4puaG04LesIDUh7ASN80LwjBY5Hf2bz9A0xk9CCK1ZUbF6jN5fEkA39wHusHIYvhO42DYdYO2d3oQALuEIvQoqtd7hzq9aja0PGKwFneymwwZ6cGYAuy1O2x4M7oNfBbWOF-jUqi7C9KAT9PZw_zpfZMvnx6f5bJlpxquU5aQUJatLnRNqoGS5JaYa3mu4prZWnAlBRMWaGgzXpRKsUYI3Q07LG0NNwSboer_3Q3WyD-1aha30qpWL2VLuPJLXrMwF-6IDm-1ZHXyMAazUbfoNl4JqO0mJ3FUpD1UO_NUR_3fgmPwBqQ1z_g
CitedBy_id crossref_primary_10_1145_3591259
crossref_primary_10_1145_3527313
crossref_primary_10_1145_3729250
crossref_primary_10_1145_3689773
crossref_primary_10_1145_3547631
crossref_primary_10_1145_3547632
crossref_primary_10_1145_3656433
crossref_primary_10_1145_3704856
crossref_primary_10_1145_3434286
crossref_primary_10_1145_3473590
crossref_primary_10_1145_3747522
crossref_primary_10_1145_3729311
Cites_doi 10.1145/1291151.1291168
10.1145/2491956.2462160
10.1145/2737924.2737964
10.1007/978-3-540-28644-8_2
10.1145/2429069.2429104
10.1145/3372885.3373818
10.1007/978-3-540-28644-8_4
10.1109/LICS.2002.1029817
10.1007/978-3-642-28869-2_19
10.1007/978-3-540-76637-7_3
10.1145/3341301.3359632
10.1145/2804302.2804319
10.1145/3158104
10.1145/2951913.2951943
10.1007/BFb0053567
10.1007/3-540-44898-5_4
10.1145/2034773.2034778
10.1145/2500365.2500581
10.1145/3009837.3009855
10.1007/3-540-44622-2_21
10.1007/978-3-642-54833-8_16
10.1145/3209108.3209166
ContentType Journal Article
Copyright licence_http://creativecommons.org/publicdomain/zero
Copyright_xml – notice: licence_http://creativecommons.org/publicdomain/zero
DBID AAYXX
CITATION
1XC
VOOES
DOI 10.1145/3409003
DatabaseName CrossRef
Hyper Article en Ligne (HAL)
Hyper Article en Ligne (HAL) (Open Access)
DatabaseTitle CrossRef
DatabaseTitleList CrossRef

DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2475-1421
EndPage 30
ExternalDocumentID oai:HAL:hal-02936273v1
10_1145_3409003
GroupedDBID AAKMM
AAYFX
AAYXX
ACM
AEFXT
AEJOY
AIKLT
AKRVB
ALMA_UNASSIGNED_HOLDINGS
CITATION
GUFHI
LHSKQ
M~E
OK1
ROL
1XC
VOOES
ID FETCH-LOGICAL-c358t-20676396c201de632f0d8839b5c1f9a53770783b9ed5c6a73ba75b003f5bd1d43
ISICitedReferencesCount 21
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000685203700035&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 2475-1421
IngestDate Wed Nov 12 06:20:44 EST 2025
Tue Nov 18 21:52:08 EST 2025
Sat Nov 29 07:48:19 EST 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue ICFP
Keywords Program Proofs
Concurrency
Separation Logic
Language English
License licence_http://creativecommons.org/publicdomain/zero/: http://creativecommons.org/publicdomain/zero
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c358t-20676396c201de632f0d8839b5c1f9a53770783b9ed5c6a73ba75b003f5bd1d43
ORCID 0000-0003-2247-0938
OpenAccessLink https://inria.hal.science/hal-02936273
PageCount 30
ParticipantIDs hal_primary_oai_HAL_hal_02936273v1
crossref_citationtrail_10_1145_3409003
crossref_primary_10_1145_3409003
PublicationCentury 2000
PublicationDate 2020-08-02
PublicationDateYYYYMMDD 2020-08-02
PublicationDate_xml – month: 08
  year: 2020
  text: 2020-08-02
  day: 02
PublicationDecade 2020
PublicationTitle Proceedings of ACM on programming languages
PublicationYear 2020
Publisher ACM
Publisher_xml – name: ACM
References e_1_2_2_4_1
e_1_2_2_5_1
e_1_2_2_24_1
Parkinson M. J. (e_1_2_2_33_1) 2012
e_1_2_2_6_1
e_1_2_2_23_1
e_1_2_2_7_1
Swamy N. (e_1_2_2_41_1) 2016
Timany A. (e_1_2_2_43_1) 2018; 2
Xia L.-y. (e_1_2_2_44_1) 2019
e_1_2_2_20_1
Hobor A. (e_1_2_2_17_1) 2008
e_1_2_2_40_1
Atkey R. (e_1_2_2_2_1) 2009
Jung R. (e_1_2_2_22_1) 2018
e_1_2_2_9_1
Swamy N. (e_1_2_2_39_1) 2011
Krogh-Jespersen M. (e_1_2_2_25_1) 2019
Jung R. (e_1_2_2_21_1) 2017
Martínez G. (e_1_2_2_26_1) 2019
Dodds M. (e_1_2_2_11_1) 2016
e_1_2_2_14_1
e_1_2_2_37_1
e_1_2_2_13_1
Atkey R. (e_1_2_2_3_1) 2015
e_1_2_2_12_1
e_1_2_2_10_1
Swierstra W. (e_1_2_2_42_1) 2008
Buisse A. (e_1_2_2_8_1)
e_1_2_2_30_1
e_1_2_2_19_1
e_1_2_2_32_1
Smans J. (e_1_2_2_38_1) 2012
e_1_2_2_18_1
e_1_2_2_34_1
Nanevski A. (e_1_2_2_28_1) 2008
e_1_2_2_35_1
e_1_2_2_15_1
e_1_2_2_36_1
Nanevski A. (e_1_2_2_29_1) 2010
McBride C. (e_1_2_2_27_1) 2011
Ahman D. (e_1_2_2_1_1) 2018; 2
Nanevski A. (e_1_2_2_31_1) 2019; 3
Hinrichsen J. K. (e_1_2_2_16_1) 2019
References_xml – volume-title: Parameterised notions of computation. Journal of Functional Programming, 19 : 335-376
  year: 2009
  ident: e_1_2_2_2_1
– ident: e_1_2_2_12_1
  doi: 10.1145/1291151.1291168
– volume: 3
  start-page: 161
  year: 2019
  ident: e_1_2_2_31_1
  article-title: Specifying concurrent programs in separation logic: morphisms and simulations
  publication-title: PACMPL
– ident: e_1_2_2_13_1
  doi: 10.1145/2491956.2462160
– volume-title: Twenty-seventh Conference on the Mathematical Foundations of Programming Semantics (MFPS XXVII).
  ident: e_1_2_2_8_1
– ident: e_1_2_2_37_1
  doi: 10.1145/2737924.2737964
– volume-title: Proc. ACM Program. Lang., 4(POPL)
  year: 2019
  ident: e_1_2_2_16_1
– ident: e_1_2_2_7_1
  doi: 10.1007/978-3-540-28644-8_2
– volume-title: Structuring the verification of heap-manipulating programs. POPL
  year: 2010
  ident: e_1_2_2_29_1
– volume-title: Verifying custom synchronization constructs using higher-order separation logic. ACM Trans. Program. Lang. Syst., 38 ( 2 )
  year: 2016
  ident: e_1_2_2_11_1
– volume: 2
  start-page: 64
  year: 2018
  ident: e_1_2_2_43_1
  article-title: A logical relation for monadic encapsulation of state: proving contextual equivalences in the presence of runst
  publication-title: PACMPL
– ident: e_1_2_2_10_1
  doi: 10.1145/2429069.2429104
– ident: e_1_2_2_36_1
  doi: 10.1145/3372885.3373818
– volume-title: Iris from the ground up: A modular foundation for higher-order concurrent separation logic. J. Funct. Program., 28 : e20
  year: 2018
  ident: e_1_2_2_22_1
– volume: 2
  start-page: 65
  year: 2018
  ident: e_1_2_2_1_1
  article-title: Recalling a witness: Foundations and applications of monotonic state
  publication-title: PACMPL
– ident: e_1_2_2_32_1
  doi: 10.1007/978-3-540-28644-8_4
– ident: e_1_2_2_35_1
  doi: 10.1109/LICS.2002.1029817
– volume-title: Meta-F* : Proof automation with SMT, tactics, and metaprograms. ESOP
  year: 2019
  ident: e_1_2_2_26_1
– ident: e_1_2_2_19_1
  doi: 10.1007/978-3-642-28869-2_19
– ident: e_1_2_2_14_1
  doi: 10.1007/978-3-540-76637-7_3
– ident: e_1_2_2_9_1
  doi: 10.1145/3341301.3359632
– start-page: 25
  year: 2015
  ident: e_1_2_2_3_1
  article-title: Interleaving data and efects
  publication-title: Journal of Functional Programming
– volume-title: Secure distributed programming with value-dependent types. ICFP
  year: 2011
  ident: e_1_2_2_39_1
– ident: e_1_2_2_23_1
  doi: 10.1145/2804302.2804319
– ident: e_1_2_2_4_1
  doi: 10.1145/3158104
– ident: e_1_2_2_20_1
  doi: 10.1145/2951913.2951943
– volume-title: Proc. ACM Program. Lang., 4(POPL)
  year: 2019
  ident: e_1_2_2_44_1
– ident: e_1_2_2_18_1
  doi: 10.1007/BFb0053567
– ident: e_1_2_2_5_1
  doi: 10.1007/3-540-44898-5_4
– volume-title: Aneris: A mechanised logic for modular reasoning about distributed systems. Submitted for publication
  year: 2019
  ident: e_1_2_2_25_1
– start-page: 2008
  year: 2008
  ident: e_1_2_2_17_1
  article-title: Oracle semantics for concurrent separation logic. In S. Drossopoulou, editor, Programming Languages and Systems, 17th European Symposium on Programming, ESOP 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest
  publication-title: Hungary, March 29-
– volume-title: Proc. ACM Program. Lang., 2(POPL)
  year: 2017
  ident: e_1_2_2_21_1
– volume-title: Kleisli arrows of outrageous fortune
  year: 2011
  ident: e_1_2_2_27_1
– volume-title: Implicit dynamic frames. ACM Trans. Program. Lang. Syst., 34 ( 1 )
  year: 2012
  ident: e_1_2_2_38_1
– volume-title: Data types à la carte. Journal of Functional Programming, 18 ( 4 ): 423-436
  year: 2008
  ident: e_1_2_2_42_1
– ident: e_1_2_2_40_1
  doi: 10.1145/2034773.2034778
– ident: e_1_2_2_6_1
  doi: 10.1145/2500365.2500581
– ident: e_1_2_2_24_1
  doi: 10.1145/3009837.3009855
– ident: e_1_2_2_15_1
  doi: 10.1007/3-540-44622-2_21
– volume-title: The relationship between separation logic and implicit dynamic frames. Logical Methods in Computer Science, 8 ( 3 :01): 1-54
  year: 2012
  ident: e_1_2_2_33_1
– volume-title: Dependent types and multi-monadic efects in F*. POPL
  year: 2016
  ident: e_1_2_2_41_1
– ident: e_1_2_2_30_1
  doi: 10.1007/978-3-642-54833-8_16
– volume-title: Hoare type theory, polymorphism and separation. JFP, 18 ( 5-6 ): 865-911
  year: 2008
  ident: e_1_2_2_28_1
– ident: e_1_2_2_34_1
  doi: 10.1145/3209108.3209166
SSID ssj0001934839
Score 2.297813
Snippet Much recent research has been devoted to modeling effects within type theory. Building on this work, we observe that effectful type theories can provide a...
SourceID hal
crossref
SourceType Open Access Repository
Enrichment Source
Index Database
StartPage 1
SubjectTerms Computer Science
Programming Languages
Title SteelCore: an extensible concurrent separation logic for effectful dependently typed programs
URI https://inria.hal.science/hal-02936273
Volume 4
WOSCitedRecordID wos000685203700035&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2475-1421
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0001934839
  issn: 2475-1421
  databaseCode: M~E
  dateStart: 20170101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELa2hQOX8hZtKbIQ4hZIYnvtcItWrYrUVitaUC9olcROW7GbVt10u73we_iZjJ8JLRJw4BJlHdvazXw7Mx7PfEbojUwL0PoijiStFCxQOImysqyiMisYYSRj0tAXf9njBwfi-DgbDwY_fC3MYsqbRiyX2cV_FTW0gbB16ew_iDtMCg1wD0KHK4gdrn8l-MNWqelIp8_qOmbN4W-S1HWFFKx9K8fHNFeW9BuEb7Sfpf42yR06a9mfjdtOb0yUVvpErnnfmx0H62cSQvLRvt57cD1nOgjhw6HBcz-8LmZWrZ99O-3SOz4V4ISemMyCfK5cONkWpcwAVSbKnd-Y3aUAEfhwcn61tFrTEqSEAEZq0-d6Mc2UchYl1BZKv1O_aXOKmvbw-HG0M-7p3aRnwO0-z13TQDWLBoH1bByTzvr5Hf9bRjGkKtrCbTZxA1fQvZSzTOvP_e-9aF5GqDDH1oVvbiu09dj3buwvrs_KqY_cG0_m6BFac0sQnFvoPEYD1TxBD_3xHthp-6foa0DSB1w0uMMR7nCEOxxhgyMMOMIBR7iHI2xwhD2OnqHPO9tHo93IncYRVYSJNtI8_-DODitwGaUakrSOpYDfXLIqqfU_m2viKFJmSrJqWHBSFpxpo1GzUiaSkudotTlv1AuEk5InNYWldCokhWmKOiVlTKhMailYJtbRW_-iJpWjqtcnpkwnt6SxjnDoeGHZWe52eQ1vOjzVbOq7-d5Et8Xg6g7BfV8kG3-eZxM96MD7Eq22l1dqC92vFu3Z_PKVQcNPzFCQ2Q
linkProvider ISSN International Centre
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=SteelCore%3A+an+extensible+concurrent+separation+logic+for+effectful+dependently+typed+programs&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Swamy%2C+Nikhil&rft.au=Rastogi%2C+Aseem&rft.au=Fromherz%2C+Aymeric&rft.au=Merigoux%2C+Denis&rft.date=2020-08-02&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=4&rft.issue=ICFP&rft.spage=1&rft.epage=30&rft_id=info:doi/10.1145%2F3409003&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3409003
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon