TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs

We present TaDA Live, a concurrent separation logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking : that is, abstract atomic operations that have blocking behaviour arising from bus...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on programming languages and systems 2021-12, Vol.43 (4), p.1-134
Hauptverfasser: D’Osualdo, Emanuele, Sutherland, Julian, Farzan, Azadeh, Gardner, Philippa
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 134
container_issue 4
container_start_page 1
container_title ACM transactions on programming languages and systems
container_volume 43
creator D’Osualdo, Emanuele
Sutherland, Julian
Farzan, Azadeh
Gardner, Philippa
description We present TaDA Live, a concurrent separation logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking : that is, abstract atomic operations that have blocking behaviour arising from busy-waiting patterns as found in, for example, fine-grained spin locks. Our fundamental innovation is with the design of abstract specifications that capture this blocking behaviour as liveness assumptions on the environment. We design a logic that can reason about the termination of clients that use such operations without breaking their abstraction boundaries, and the correctness of the implementations of the operations with respect to their abstract specifications. We introduce a novel semantic model using layered subjective obligations to express liveness invariants and a proof system that is sound with respect to the model. The subtlety of our specifications and reasoning is illustrated using several case studies.
doi_str_mv 10.1145/3477082
format Article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3477082</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_3477082</sourcerecordid><originalsourceid>FETCH-LOGICAL-c258t-f47955ef21b961f34ece65f6761cc1ec0cd74c05f00a2f4287a9ca5789d7a3073</originalsourceid><addsrcrecordid>eNotkM1KxDAYRYMoWEfxFbJzFf3y16TuhtFRoaBIdVtimgyRaTIkVfDtp4OzOnAv9y4OQtcUbikV8o4LpUCzE1RRKTURsuGnqAJaCwINk-foopRvAKBa6gp9duZhidvw6-7xKo27VMIUUjRb_O5MSTHEDfYp487lMURz6HDyeB2iI5tsZgzzLtqfnF2c8FtOczqWS3Tmzba4qyMX6GP92K2eSfv69LJatsQyqSfihWqkdJ7Rr6amngtnXS19rWpqLXUW7KCEBekBDPOCaWUaa6TSzaAMB8UX6Ob_1-ZUSna-3-UwmvzXU-gPOvqjDr4Hrd9R6Q</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs</title><source>EBSCOhost Business Source Complete</source><source>ACM Digital Library Complete</source><creator>D’Osualdo, Emanuele ; Sutherland, Julian ; Farzan, Azadeh ; Gardner, Philippa</creator><creatorcontrib>D’Osualdo, Emanuele ; Sutherland, Julian ; Farzan, Azadeh ; Gardner, Philippa</creatorcontrib><description>We present TaDA Live, a concurrent separation logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking : that is, abstract atomic operations that have blocking behaviour arising from busy-waiting patterns as found in, for example, fine-grained spin locks. Our fundamental innovation is with the design of abstract specifications that capture this blocking behaviour as liveness assumptions on the environment. We design a logic that can reason about the termination of clients that use such operations without breaking their abstraction boundaries, and the correctness of the implementations of the operations with respect to their abstract specifications. We introduce a novel semantic model using layered subjective obligations to express liveness invariants and a proof system that is sound with respect to the model. The subtlety of our specifications and reasoning is illustrated using several case studies.</description><identifier>ISSN: 0164-0925</identifier><identifier>EISSN: 1558-4593</identifier><identifier>DOI: 10.1145/3477082</identifier><language>eng</language><ispartof>ACM transactions on programming languages and systems, 2021-12, Vol.43 (4), p.1-134</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c258t-f47955ef21b961f34ece65f6761cc1ec0cd74c05f00a2f4287a9ca5789d7a3073</citedby><cites>FETCH-LOGICAL-c258t-f47955ef21b961f34ece65f6761cc1ec0cd74c05f00a2f4287a9ca5789d7a3073</cites><orcidid>0000-0002-9179-5827</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>315,781,785,27926,27927</link.rule.ids></links><search><creatorcontrib>D’Osualdo, Emanuele</creatorcontrib><creatorcontrib>Sutherland, Julian</creatorcontrib><creatorcontrib>Farzan, Azadeh</creatorcontrib><creatorcontrib>Gardner, Philippa</creatorcontrib><title>TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs</title><title>ACM transactions on programming languages and systems</title><description>We present TaDA Live, a concurrent separation logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking : that is, abstract atomic operations that have blocking behaviour arising from busy-waiting patterns as found in, for example, fine-grained spin locks. Our fundamental innovation is with the design of abstract specifications that capture this blocking behaviour as liveness assumptions on the environment. We design a logic that can reason about the termination of clients that use such operations without breaking their abstraction boundaries, and the correctness of the implementations of the operations with respect to their abstract specifications. We introduce a novel semantic model using layered subjective obligations to express liveness invariants and a proof system that is sound with respect to the model. The subtlety of our specifications and reasoning is illustrated using several case studies.</description><issn>0164-0925</issn><issn>1558-4593</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2021</creationdate><recordtype>article</recordtype><recordid>eNotkM1KxDAYRYMoWEfxFbJzFf3y16TuhtFRoaBIdVtimgyRaTIkVfDtp4OzOnAv9y4OQtcUbikV8o4LpUCzE1RRKTURsuGnqAJaCwINk-foopRvAKBa6gp9duZhidvw6-7xKo27VMIUUjRb_O5MSTHEDfYp487lMURz6HDyeB2iI5tsZgzzLtqfnF2c8FtOczqWS3Tmzba4qyMX6GP92K2eSfv69LJatsQyqSfihWqkdJ7Rr6amngtnXS19rWpqLXUW7KCEBekBDPOCaWUaa6TSzaAMB8UX6Ob_1-ZUSna-3-UwmvzXU-gPOvqjDr4Hrd9R6Q</recordid><startdate>20211201</startdate><enddate>20211201</enddate><creator>D’Osualdo, Emanuele</creator><creator>Sutherland, Julian</creator><creator>Farzan, Azadeh</creator><creator>Gardner, Philippa</creator><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0002-9179-5827</orcidid></search><sort><creationdate>20211201</creationdate><title>TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs</title><author>D’Osualdo, Emanuele ; Sutherland, Julian ; Farzan, Azadeh ; Gardner, Philippa</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c258t-f47955ef21b961f34ece65f6761cc1ec0cd74c05f00a2f4287a9ca5789d7a3073</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2021</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>D’Osualdo, Emanuele</creatorcontrib><creatorcontrib>Sutherland, Julian</creatorcontrib><creatorcontrib>Farzan, Azadeh</creatorcontrib><creatorcontrib>Gardner, Philippa</creatorcontrib><collection>CrossRef</collection><jtitle>ACM transactions on programming languages and systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>D’Osualdo, Emanuele</au><au>Sutherland, Julian</au><au>Farzan, Azadeh</au><au>Gardner, Philippa</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs</atitle><jtitle>ACM transactions on programming languages and systems</jtitle><date>2021-12-01</date><risdate>2021</risdate><volume>43</volume><issue>4</issue><spage>1</spage><epage>134</epage><pages>1-134</pages><issn>0164-0925</issn><eissn>1558-4593</eissn><abstract>We present TaDA Live, a concurrent separation logic for reasoning compositionally about the termination of blocking fine-grained concurrent programs. The crucial challenge is how to deal with abstract atomic blocking : that is, abstract atomic operations that have blocking behaviour arising from busy-waiting patterns as found in, for example, fine-grained spin locks. Our fundamental innovation is with the design of abstract specifications that capture this blocking behaviour as liveness assumptions on the environment. We design a logic that can reason about the termination of clients that use such operations without breaking their abstraction boundaries, and the correctness of the implementations of the operations with respect to their abstract specifications. We introduce a novel semantic model using layered subjective obligations to express liveness invariants and a proof system that is sound with respect to the model. The subtlety of our specifications and reasoning is illustrated using several case studies.</abstract><doi>10.1145/3477082</doi><tpages>134</tpages><orcidid>https://orcid.org/0000-0002-9179-5827</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0164-0925
ispartof ACM transactions on programming languages and systems, 2021-12, Vol.43 (4), p.1-134
issn 0164-0925
1558-4593
language eng
recordid cdi_crossref_primary_10_1145_3477082
source EBSCOhost Business Source Complete; ACM Digital Library Complete
title TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-18T10%3A35%3A35IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=TaDA%20Live:%20Compositional%20Reasoning%20for%20Termination%20of%20Fine-grained%20Concurrent%20Programs&rft.jtitle=ACM%20transactions%20on%20programming%20languages%20and%20systems&rft.au=D%E2%80%99Osualdo,%20Emanuele&rft.date=2021-12-01&rft.volume=43&rft.issue=4&rft.spage=1&rft.epage=134&rft.pages=1-134&rft.issn=0164-0925&rft.eissn=1558-4593&rft_id=info:doi/10.1145/3477082&rft_dat=%3Ccrossref%3E10_1145_3477082%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true