{"id":"https://openalex.org/W2231621909","doi":"https://doi.org/10.1145/2818638","title":"Verifying Custom Synchronization Constructs Using Higher-Order Separation Logic","display_name":"Verifying Custom Synchronization Constructs Using Higher-Order Separation Logic","publication_year":2016,"publication_date":"2016-01-04","ids":{"openalex":"https://openalex.org/W2231621909","doi":"https://doi.org/10.1145/2818638","mag":"2231621909"},"language":"en","primary_location":{"id":"doi:10.1145/2818638","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2818638","pdf_url":null,"source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5085860278","display_name":"Mike Dodds","orcid":"https://orcid.org/0000-0002-4439-0130"},"institutions":[{"id":"https://openalex.org/I52099693","display_name":"University of York","ror":"https://ror.org/04m01e293","country_code":"GB","type":"education","lineage":["https://openalex.org/I52099693"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Mike Dodds","raw_affiliation_strings":["University of York, York, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of York, York, UK","institution_ids":["https://openalex.org/I52099693"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034957233","display_name":"Suresh Jagannathan","orcid":"https://orcid.org/0000-0001-6871-2424"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Suresh Jagannathan","raw_affiliation_strings":["Purdue University, Indiana, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, Indiana, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001725251","display_name":"Matthew Parkinson","orcid":"https://orcid.org/0009-0004-3937-1260"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Matthew J. Parkinson","raw_affiliation_strings":["Microsoft Research, Cambridge, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, Cambridge, UK","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5044308555","display_name":"Kasper Svendsen","orcid":null},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Kasper Svendsen","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055959064","display_name":"Lars Birkedal","orcid":"https://orcid.org/0000-0003-1320-0098"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Lars Birkedal","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.2441,"has_fulltext":false,"cited_by_count":18,"citation_normalized_percentile":{"value":0.92078365,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"38","issue":"2","first_page":"1","last_page":"72"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T10142","display_name":"Formal Methods in Verification","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9993000030517578,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991000294685364,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8856937885284424},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.6419898271560669},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.4936760365962982},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.446275532245636},{"id":"https://openalex.org/keywords/order","display_name":"Order (exchange)","score":0.43571534752845764},{"id":"https://openalex.org/keywords/separation","display_name":"Separation (statistics)","score":0.4172705411911011},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.38748911023139954},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.34496068954467773},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.34337830543518066},{"id":"https://openalex.org/keywords/telecommunications","display_name":"Telecommunications","score":0.08462333679199219},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.08001428842544556}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8856937885284424},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.6419898271560669},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.4936760365962982},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.446275532245636},{"id":"https://openalex.org/C182306322","wikidata":"https://www.wikidata.org/wiki/Q1779371","display_name":"Order (exchange)","level":2,"score":0.43571534752845764},{"id":"https://openalex.org/C2776061190","wikidata":"https://www.wikidata.org/wiki/Q7451805","display_name":"Separation (statistics)","level":2,"score":0.4172705411911011},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.38748911023139954},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.34496068954467773},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.34337830543518066},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.08462333679199219},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.08001428842544556},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2818638","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2818638","pdf_url":null,"source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:pure.atira.dk:publications/b76d0c11-5e73-4384-b53f-eefc7d2435a3","is_oa":false,"landing_page_url":"http://www.scopus.com/inward/record.url?scp=84954327216&partnerID=8YFLogxK","pdf_url":null,"source":{"id":"https://openalex.org/S4306400063","display_name":"Scopus (Elsevier)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Dodds, M, Jagannathan, S, Parkinson, M J, Svendsen, K & Birkedal, L 2016, 'Verifying custom synchronisation constructs using higher-order separation logic', ACM Transactions on Programming Languages and Systems, vol. 38/2, no. 2, 4, pp. 4:1 - 4:72. https://doi.org/10.1145/2818638","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1322032678","display_name":null,"funder_award_id":"EP/H010815/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G4639717446","display_name":null,"funder_award_id":"EP/H005633/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":39,"referenced_works":["https://openalex.org/W5242094","https://openalex.org/W75891272","https://openalex.org/W143008620","https://openalex.org/W175195251","https://openalex.org/W1548444083","https://openalex.org/W1552367747","https://openalex.org/W1569479239","https://openalex.org/W1584342183","https://openalex.org/W1607674807","https://openalex.org/W1775543359","https://openalex.org/W1819989006","https://openalex.org/W2002292019","https://openalex.org/W2020900140","https://openalex.org/W2028861803","https://openalex.org/W2054650280","https://openalex.org/W2061341742","https://openalex.org/W2090551028","https://openalex.org/W2096403564","https://openalex.org/W2104824528","https://openalex.org/W2106016907","https://openalex.org/W2111593536","https://openalex.org/W2111946621","https://openalex.org/W2120716072","https://openalex.org/W2122751544","https://openalex.org/W2131296609","https://openalex.org/W2132761501","https://openalex.org/W2136739578","https://openalex.org/W2142263709","https://openalex.org/W2144058993","https://openalex.org/W2145087641","https://openalex.org/W2155032935","https://openalex.org/W2171685273","https://openalex.org/W2508779702","https://openalex.org/W2521130604","https://openalex.org/W3000476312","https://openalex.org/W3101768401","https://openalex.org/W4244157805","https://openalex.org/W4249224771","https://openalex.org/W4249635864"],"related_works":["https://openalex.org/W2495367456","https://openalex.org/W4247835804","https://openalex.org/W1968480809","https://openalex.org/W1976678664","https://openalex.org/W2464203952","https://openalex.org/W2604211315","https://openalex.org/W2484255726","https://openalex.org/W2071676784","https://openalex.org/W2165970356","https://openalex.org/W4250270300"],"abstract_inverted_index":{"Synchronization":[0],"constructs":[1,13,29,34,67],"lie":[2],"at":[3],"the":[4,79,110,128,132,203],"heart":[5],"of":[6,84,93,202],"any":[7],"reliable":[8],"concurrent":[9,24],"program.":[10],"Many":[11],"such":[12,66],"are":[14,63,68,142,216],"standard":[15,42,52],"(e.g.,":[16],"locks,":[17],"queues,":[18],"stacks,":[19],"and":[20,82,150,180],"hash-tables).":[21],"However,":[22],"many":[23],"applications":[25],"require":[26],"custom":[27,64,85],"synchronization":[28,86],"with":[30,131,228],"special-purpose":[31],"behavior.":[32,125],"These":[33],"present":[35],"a":[36,91,139,162],"significant":[37],"challenge":[38],"for":[39,113,207],"verification.":[40],"Like":[41],"constructs,":[43,53],"they":[44,54,62],"rely":[45],"on":[46,172],"subtle":[47],"racy":[48],"behavior,":[49],"but":[50],"unlike":[51],"may":[55],"not":[56],"have":[57],"well-understood":[58],"abstract":[59],"interfaces.":[60],"As":[61],"built,":[65],"also":[69],"far":[70],"more":[71],"likely":[72],"to":[73,99,122,136,188],"be":[74],"unreliable.":[75],"This":[76],"article":[77],"examines":[78],"formal":[80],"specification":[81,108,130,194],"verification":[83],"constructs.":[87],"Our":[88,106],"target":[89],"is":[90],"library":[92,134,151],"channels":[94],"used":[95],"in":[96],"automated":[97],"parallelization":[98],"enforce":[100],"sequential":[101,124,214],"behavior":[102],"between":[103],"program":[104,119,149,163],"statements.":[105],"high-level":[107,129,178,192],"captures":[109],"conditions":[111,117],"necessary":[112,121],"correct":[114],"execution;":[115],"these":[116],"reflect":[118],"dependencies":[120,215],"ensure":[123],"We":[126,185],"connect":[127],"low-level":[133,181,200],"implementation":[135],"prove":[137,212],"that":[138,190,213],"client\u2019s":[140],"requirements":[141],"satisfied.":[143],"Significantly,":[144],"we":[145,160],"can":[146],"reason":[147],"about":[148,183],"correctness":[152],"without":[153],"breaking":[154],"abstraction":[155,179],"boundaries.":[156],"To":[157],"achieve":[158],"this,":[159],"use":[161,186],"logic":[164],"called":[165],"iCAP":[166,175],"(impredicative":[167],"Concurrent":[168],"Abstract":[169],"Predicates)":[170],"based":[171],"separation":[173],"logic.":[174],"supports":[176],"both":[177],"reasoning":[182,209],"races.":[184],"this":[187],"show":[189],"our":[191],"channel":[193],"abstracts":[195],"three":[196],"different,":[197],"increasingly":[198],"complex":[199],"implementations":[201],"library.":[204],"iCAP\u2019s":[205,219],"support":[206],"higher-order":[208],"lets":[210,223],"us":[211,224],"respected,":[217],"while":[218],"next-generation":[220],"semantic":[221],"model":[222],"avoid":[225],"ugly":[226],"problems":[227],"cyclic":[229],"dependencies.":[230]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":3},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":4}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
