{"id":"https://openalex.org/W1591780766","doi":"https://doi.org/10.3233/fi-2010-303","title":"Correct-by-Construction Concurrency: Using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols","display_name":"Correct-by-Construction Concurrency: Using Dependent Types to Verify Implementations of Effectful Resource Usage Protocols","publication_year":2010,"publication_date":"2010-01-01","ids":{"openalex":"https://openalex.org/W1591780766","doi":"https://doi.org/10.3233/fi-2010-303","mag":"1591780766"},"language":"en","primary_location":{"id":"doi:10.3233/fi-2010-303","is_oa":false,"landing_page_url":"https://doi.org/10.3233/fi-2010-303","pdf_url":null,"source":{"id":"https://openalex.org/S39012697","display_name":"Fundamenta Informaticae","issn_l":"0169-2968","issn":["0169-2968","1875-8681"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310318577","host_organization_name":"IOS Press","host_organization_lineage":["https://openalex.org/P4310318577"],"host_organization_lineage_names":["IOS Press"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Fundamenta Informaticae","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/A5042121684","display_name":"Edwin Brady","orcid":"https://orcid.org/0000-0002-9734-367X"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Edwin Brady","raw_affiliation_strings":["School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk","(Correspd.) School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk","institution_ids":["https://openalex.org/I16835326"]},{"raw_affiliation_string":"(Correspd.) School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk","institution_ids":["https://openalex.org/I16835326"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055787720","display_name":"Kevin Hammond","orcid":"https://orcid.org/0000-0002-4326-4562"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Kevin Hammond","raw_affiliation_strings":["School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk","School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk#TAB#"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk","institution_ids":["https://openalex.org/I16835326"]},{"raw_affiliation_string":"School of Computer Science, University of St Andrews, Jack Cole Building, North Haugh, St Andrews, Fife KY16 9SX, United Kingdom. {eb,kh}@cs.st-andrews.ac.uk#TAB#","institution_ids":["https://openalex.org/I16835326"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5042121684"],"corresponding_institution_ids":["https://openalex.org/I16835326"],"apc_list":null,"apc_paid":null,"fwci":2.2315,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.87684837,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"102","issue":"2","first_page":"145","last_page":"176"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9997000098228455,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9997000098228455,"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.9994999766349792,"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"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9976000189781189,"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.8751395344734192},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.6577297449111938},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.6046515107154846},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.5350524187088013},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5210041999816895},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5027439594268799},{"id":"https://openalex.org/keywords/liveness","display_name":"Liveness","score":0.4642999768257141},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.45783403515815735},{"id":"https://openalex.org/keywords/deadlock","display_name":"Deadlock","score":0.4414634704589844},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.4397149384021759},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.4302046298980713},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3450930118560791}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8751395344734192},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6577297449111938},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.6046515107154846},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.5350524187088013},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5210041999816895},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5027439594268799},{"id":"https://openalex.org/C15569618","wikidata":"https://www.wikidata.org/wiki/Q3561421","display_name":"Liveness","level":2,"score":0.4642999768257141},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.45783403515815735},{"id":"https://openalex.org/C159023740","wikidata":"https://www.wikidata.org/wiki/Q623276","display_name":"Deadlock","level":2,"score":0.4414634704589844},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.4397149384021759},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.4302046298980713},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3450930118560791},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.3233/fi-2010-303","is_oa":false,"landing_page_url":"https://doi.org/10.3233/fi-2010-303","pdf_url":null,"source":{"id":"https://openalex.org/S39012697","display_name":"Fundamenta Informaticae","issn_l":"0169-2968","issn":["0169-2968","1875-8681"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310318577","host_organization_name":"IOS Press","host_organization_lineage":["https://openalex.org/P4310318577"],"host_organization_lineage_names":["IOS Press"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Fundamenta Informaticae","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.47999998927116394,"display_name":"Decent work and economic growth","id":"https://metadata.un.org/sdg/8"}],"awards":[{"id":"https://openalex.org/G2707184648","display_name":null,"funder_award_id":"EP/F030657/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":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":47,"referenced_works":["https://openalex.org/W35144087","https://openalex.org/W78349357","https://openalex.org/W109697706","https://openalex.org/W1483047125","https://openalex.org/W1511185761","https://openalex.org/W1522049235","https://openalex.org/W1525901076","https://openalex.org/W1526824128","https://openalex.org/W1536822759","https://openalex.org/W1543587013","https://openalex.org/W1547527421","https://openalex.org/W1554398046","https://openalex.org/W1632691573","https://openalex.org/W1884757075","https://openalex.org/W1963240911","https://openalex.org/W1965664509","https://openalex.org/W1968024460","https://openalex.org/W2026049208","https://openalex.org/W2027099721","https://openalex.org/W2042360145","https://openalex.org/W2062887328","https://openalex.org/W2065772939","https://openalex.org/W2066038668","https://openalex.org/W2068055184","https://openalex.org/W2076149580","https://openalex.org/W2078944436","https://openalex.org/W2079512738","https://openalex.org/W2090925142","https://openalex.org/W2098830227","https://openalex.org/W2102984057","https://openalex.org/W2106229114","https://openalex.org/W2109772966","https://openalex.org/W2111014638","https://openalex.org/W2113677023","https://openalex.org/W2119897009","https://openalex.org/W2124318699","https://openalex.org/W2129990308","https://openalex.org/W2134112335","https://openalex.org/W2134400866","https://openalex.org/W2140647971","https://openalex.org/W2160829153","https://openalex.org/W2169248079","https://openalex.org/W2171433297","https://openalex.org/W2176580510","https://openalex.org/W2294580796","https://openalex.org/W2339271434","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2046529512","https://openalex.org/W2950202488","https://openalex.org/W2604424424","https://openalex.org/W3005707973","https://openalex.org/W4243213620","https://openalex.org/W1867637656","https://openalex.org/W112055548","https://openalex.org/W2329232208","https://openalex.org/W3161493205","https://openalex.org/W2365256108"],"abstract_inverted_index":{"In":[0,61,99],"the":[1,37,58,75,92,111,120,128,132],"modern,":[2],"multi-threaded,":[3],"multi-core":[4],"programming":[5,160],"environment,":[6],"correctly":[7],"managing":[8],"system":[9,118],"resources,":[10],"including":[11],"locks":[12,136],"and":[13,20,52,161],"shared":[14],"variables,":[15],"can":[16,32],"be":[17,148],"especially":[18],"difficult":[19],"errorprone.":[21],"A":[22],"simple":[23,172],"mistake,":[24],"such":[25],"as":[26],"forgetting":[27],"to":[28,70,80,167],"release":[29],"a":[30,41,50,66,82,114,156],"lock,":[31],"have":[33],"major":[34],"consequences":[35],"on":[36,74,171],"correct":[38],"operation":[39],"of":[40,77,107,113,135],"program,":[42],"by,":[43],"for":[44,130,158],"example,":[45],"inducing":[46],"deadlock,":[47],"often":[48,138],"at":[49],"time":[51],"location":[53],"that":[54,96,137],"is":[55],"isolated":[56],"from":[57],"original":[59],"error.":[60],"this":[62,100],"paper,":[63],"we":[64,97,102],"propose":[65],"new":[67,115],"type-based":[68],"approach":[69,153],"resource":[71],"management,":[72],"based":[73,170],"use":[76,134],"dependent":[78],"types":[79],"construct":[81],"Domain-Specific":[83],"Embedded":[84],"Language":[85],"(DSEL)":[86],"whose":[87],"typing":[88],"rules":[89],"directly":[90],"enforce":[91],"formal":[93,145],"program":[94],"properties":[95],"require.":[98],"way,":[101],"ensure":[103],"strong":[104],"static":[105],"guarantees":[106,146],"correctness-by-construction,":[108],"without":[109],"requiring":[110],"development":[112],"special-purpose":[116,122],"type":[117],"or":[119],"associated":[121],"soundness":[123],"proofs.":[124],"We":[125,150],"also":[126],"reduce":[127],"need":[129],"\u201cover-serialisation\u201d,":[131],"overly-conservative":[133],"occurs":[139],"in":[140],"manually":[141],"constructed":[142],"software,":[143],"where":[144],"cannot":[147],"exploited.":[149],"illustrate":[151],"our":[152],"by":[154],"implementing":[155],"DSEL":[157],"concurrent":[159],"demonstrate":[162],"its":[163],"applicability":[164],"with":[165],"reference":[166],"an":[168],"example":[169],"bank":[173],"account":[174],"transactions.":[175]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
