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...
Uložené v:
| Vydané v: | Proceedings of ACM on programming languages Ročník 4; číslo ICFP; s. 1 - 30 |
|---|---|
| Hlavní autori: | , , , , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
ACM
02.08.2020
|
| Predmet: | |
| ISSN: | 2475-1421, 2475-1421 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| 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 domainspecific 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 domain-specific 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/eLvHCXMwtV1Lb9QwELaWwoEL5SlKAVkIcQsksb1JuEULq63orlZskXpBkWM73YpsWnXTZXvh5_G7GD_yqMqhHLhYiWNFtufTzHg8D4TeciF8yYfE4wWlHkh85sUFy7089KlIOJWS56bYRDSbxcfHyXww-N3EwmzKqKri7TY5_6-khj4gtg6d_Qdytz-FDngGokMLZIf2VoRf1EqVI-0-q-OYdQ5_46SuI6Tg7CtcPqa1skm_gfiG-9nU38a5Q3stN7Vx6_LKWGll48i17muz81b6GYeQdDTVdw9u5EobIRpzaKu5L37ylWXrpz-WnXvHVw5K6InxLEjXypmTbVDKClBlrNzplbldaiECLydnl1vLNW2ClNaAEVr3ubAHuWnH80IaMS-gNmj6vfpLn2PatIfNg9F43uPBQU-Y2zufm2KC6owaBM62vk86Sdjc_k_SRTb_NM4OD2Zfrn_teS9O0kNol7yExSSgBkRkA6fwu2HEEs1dp796tr6E0NgUtWvXYuO39UQ-uGlcU4zuLBu7vtFzjh6iB-6AglMLrEdooKrHaLcp_oGdLHiCvrc4-4h5hTuU4Q5luEMZNijDgDLcogz3UIYNynCDsqfo2_jz0WjiuVodniAsrj1dBQCU3aEAhVKqIQkLX8aw5pyJoEg4I5FOK0XyREkmhjwiOY-YFinAGGQgKXmGdqqzSj1HuBAiplwpn4WSUh5zqUCx5AyYTSA4y_fQu2ajMuES2et6KmVmg-xZ5nZ0D-F24LnN3XJzyBvY6farzrUOdM10X0fVF7cZtI_ud-B-iXbqi0v1Ct0Tm_p0ffHa4OEPl12eBA |
| 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.pub=ACM&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=HAS_PDF_LINK&rft.externalDocID=oai%3AHAL%3Ahal-02936273v1 |
| 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 |