{"id":"https://openalex.org/W4379537605","doi":"https://doi.org/10.1145/3591230","title":"CQS: A Formally-Verified Framework for Fair and Abortable Synchronization","display_name":"CQS: A Formally-Verified Framework for Fair and Abortable Synchronization","publication_year":2023,"publication_date":"2023-06-06","ids":{"openalex":"https://openalex.org/W4379537605","doi":"https://doi.org/10.1145/3591230"},"language":"en","primary_location":{"id":"doi:10.1145/3591230","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591230","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591230","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3591230","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5006679944","display_name":"Koval\u2019 Mykyta","orcid":"https://orcid.org/0000-0002-0491-3953"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Nikita Koval","raw_affiliation_strings":["JetBrains, Netherlands"],"raw_orcid":"https://orcid.org/0000-0002-0491-3953","affiliations":[{"raw_affiliation_string":"JetBrains, Netherlands","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5082132262","display_name":"Dmitry Khalanskiy","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Dmitry Khalanskiy","raw_affiliation_strings":["JetBrains, Germany"],"raw_orcid":"https://orcid.org/0009-0009-4803-5740","affiliations":[{"raw_affiliation_string":"JetBrains, Germany","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5083822059","display_name":"Dan Alistarh","orcid":"https://orcid.org/0000-0003-3650-940X"},"institutions":[{"id":"https://openalex.org/I157556583","display_name":"Institute of Science and Technology Austria","ror":"https://ror.org/03gnh5541","country_code":"AT","type":"education","lineage":["https://openalex.org/I157556583"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Dan Alistarh","raw_affiliation_strings":["IST Austria, Austria"],"raw_orcid":"https://orcid.org/0000-0003-3650-940X","affiliations":[{"raw_affiliation_string":"IST Austria, Austria","institution_ids":["https://openalex.org/I157556583"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5006679944"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.2992,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.47851265,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"7","issue":"PLDI","first_page":"244","last_page":"266"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8819695711135864},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.630966305732727},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.48301371932029724},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.4764804542064667},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.43404942750930786},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.4315497875213623},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.421789288520813},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.37686675786972046},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.34457719326019287},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.30023884773254395},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.253345251083374},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.11827155947685242}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8819695711135864},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.630966305732727},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.48301371932029724},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.4764804542064667},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.43404942750930786},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.4315497875213623},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.421789288520813},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.37686675786972046},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.34457719326019287},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.30023884773254395},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.253345251083374},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.11827155947685242},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3591230","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591230","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591230","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3591230","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3591230","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591230","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.699999988079071,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4379537605.pdf","grobid_xml":"https://content.openalex.org/works/W4379537605.grobid-xml"},"referenced_works_count":26,"referenced_works":["https://openalex.org/W1981393723","https://openalex.org/W1987584238","https://openalex.org/W2001738739","https://openalex.org/W2038454881","https://openalex.org/W2040637509","https://openalex.org/W2054278856","https://openalex.org/W2056366613","https://openalex.org/W2100357382","https://openalex.org/W2166263713","https://openalex.org/W2483433689","https://openalex.org/W2600922771","https://openalex.org/W2736699952","https://openalex.org/W2738549499","https://openalex.org/W2809701488","https://openalex.org/W2887348000","https://openalex.org/W2912476809","https://openalex.org/W2913273467","https://openalex.org/W2920817412","https://openalex.org/W2968116716","https://openalex.org/W3007149243","https://openalex.org/W3015821333","https://openalex.org/W3033640012","https://openalex.org/W3124113140","https://openalex.org/W4206198093","https://openalex.org/W4229621504","https://openalex.org/W4321446125"],"related_works":["https://openalex.org/W55831818","https://openalex.org/W2246674664","https://openalex.org/W2896400991","https://openalex.org/W4317827391","https://openalex.org/W40577698","https://openalex.org/W1839004754","https://openalex.org/W2497938157","https://openalex.org/W4233212676","https://openalex.org/W184932080","https://openalex.org/W934691044"],"abstract_inverted_index":{"Writing":[0],"concurrent":[1],"code":[2,22],"that":[3],"is":[4,9,38,75,139,153,192,266],"both":[5,143],"correct":[6],"and":[7,24,60,70,92,97,124,133,145,163,257,276,288],"efficient":[8,116],"notoriously":[10],"difficult.":[11],"Thus,":[12],"programmers":[13],"often":[14],"prefer":[15],"to":[16,26,95,100,194,222,270,285],"use":[17],"synchronization":[18,48,58,126,291],"abstractions,":[19],"which":[20,89,112],"render":[21],"simpler":[23],"easier":[25],"reason":[27],"about.":[28],"Despite":[29],"a":[30,40,106,119,206,243,260],"wealth":[31],"of":[32,57,81,118,122,151,169,183,203,210,225,246,290],"work":[33],"on":[34,167,201,215],"this":[35,149],"topic,":[36],"there":[37],"still":[39],"gap":[41],"between":[42],"the":[43,78,160,164,176,216,230,247,253,267],"rich":[44],"semantics":[45,74],"provided":[46],"by":[47,220],"abstractions":[49],"in":[50,175,259],"modern":[51],"programming":[52],"languages\u2014specifically,":[53],"fair":[54,123],"FIFO":[55],"ordering":[56],"requests":[59],"support":[61],"for":[62,66,83,179,181,197,212],"abortable":[63,125],"operations\u2014and":[64],"frameworks":[65],"implementing":[67,142],"it":[68,191],"correctly":[69],"efficiently.":[71],"Supporting":[72],"such":[73,86],"critical":[76],"given":[77],"rising":[79],"popularity":[80],"constructs":[82],"asynchronous":[84],"programming,":[85],"as":[87,141,242],"coroutines,":[88],"abort":[90],"frequently":[91],"are":[93,188],"cheaper":[94],"suspend":[96],"resume":[98],"compared":[99],"native":[101,213],"threads.":[102],"This":[103],"paper":[104],"introduces":[105],"new":[107,198],"framework":[108,162,178,269],"called":[109],"CancellableQueueSynchronizer":[110,265],"(CQS),":[111],"enables":[113],"simple":[114],"yet":[115],"implementations":[117],"wide":[120],"range":[121],"primitives:":[127],"mutexes,":[128],"semaphores,":[129],"barriers,":[130],"count-down":[131],"latches,":[132],"blocking":[134],"pools.":[135],"Our":[136,280],"main":[137],"contribution":[138],"algorithmic,":[140],"fairness":[144],"abortability":[146],"efficiently":[147],"at":[148],"level":[150],"generality":[152],"non-trivial.":[154],"Importantly,":[155],"all":[156],"our":[157],"algorithms,":[158],"including":[159],"CQS":[161,211,241],"primitives":[165,199],"built":[166],"top":[168,202],"it,":[170],"come":[171],"with":[172,273],"formal":[173,274],"proofs":[174,187],"Iris":[177],"Coq":[180],"many":[182],"their":[184],"properties.":[185],"These":[186],"modular,":[189],"so":[190],"easy":[193],"show":[195],"correctness":[196],"implemented":[200],"CQS.":[204],"From":[205],"practical":[207,232,255,278],"perspective,":[208],"implementation":[209],"threads":[214],"JVM":[217],"improves":[218],"throughput":[219],"up":[221],"two":[223],"orders":[224],"magnitude":[226],"over":[227],"Java\u2019s":[228],"AbstractQueuedSynchronizer,":[229],"only":[231],"abstraction":[233],"offering":[234],"similar":[235],"semantics.":[236],"Further,":[237],"we":[238],"successfully":[239],"integrated":[240],"core":[244],"component":[245],"popular":[248],"Kotlin":[249],"Coroutines":[250],"library,":[251],"validating":[252],"framework\u2019s":[254],"impact":[256],"expressiveness":[258,272],"real-world":[261],"environment.":[262],"In":[263],"sum,":[264],"first":[268],"combine":[271],"guarantees":[275],"solid":[277],"performance.":[279],"approach":[281],"should":[282],"be":[283],"extensible":[284],"other":[286],"languages":[287],"families":[289],"primitives.":[292]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-03-27T05:58:40.876381","created_date":"2025-10-10T00:00:00"}
