{"id":"https://openalex.org/W2114823082","doi":"https://doi.org/10.1145/2737924.2737996","title":"Asynchronous programming, analysis and testing with state machines","display_name":"Asynchronous programming, analysis and testing with state machines","publication_year":2015,"publication_date":"2015-06-03","ids":{"openalex":"https://openalex.org/W2114823082","doi":"https://doi.org/10.1145/2737924.2737996","mag":"2114823082"},"language":"en","primary_location":{"id":"doi:10.1145/2737924.2737996","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2737924.2737996","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"conference-paper","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/A5051658580","display_name":"Pantazis Deligiannis","orcid":"https://orcid.org/0000-0001-7582-4520"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Pantazis Deligiannis","raw_affiliation_strings":["Imperial College London, UK","Imperial College , London, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College , London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5080781439","display_name":"Alastair F. Donaldson","orcid":"https://orcid.org/0000-0002-7448-7961"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Alastair F. Donaldson","raw_affiliation_strings":["Imperial College London, UK","Imperial College , London, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College , London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012771721","display_name":"Jeroen Ketema","orcid":null},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Jeroen Ketema","raw_affiliation_strings":["Imperial College London, UK","Imperial College , London, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College , London, UK","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029930688","display_name":"Akash Lal","orcid":"https://orcid.org/0009-0002-4359-9378"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]},{"id":"https://openalex.org/I4210124949","display_name":"Microsoft Research (India)","ror":"https://ror.org/02w7f3w92","country_code":"IN","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210124949"]}],"countries":["IN","US"],"is_corresponding":false,"raw_author_name":"Akash Lal","raw_affiliation_strings":["Microsoft Research, India","Microsoft Research India#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research, India","institution_ids":["https://openalex.org/I4210124949"]},{"raw_affiliation_string":"Microsoft Research India#TAB#","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5017019571","display_name":"Paul Thomson","orcid":null},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Paul Thomson","raw_affiliation_strings":["Imperial College London, UK","Imperial College , London, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College London, UK","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College , London, UK","institution_ids":["https://openalex.org/I47508984"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":5.2947,"has_fulltext":false,"cited_by_count":36,"citation_normalized_percentile":{"value":0.97012637,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"154","last_page":"164"},"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.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"}},"topics":[{"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9980000257492065,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8604438304901123},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6377277374267578},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.63311368227005},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.5923110842704773},{"id":"https://openalex.org/keywords/isolation","display_name":"Isolation (microbiology)","score":0.5216662883758545},{"id":"https://openalex.org/keywords/interleaving","display_name":"Interleaving","score":0.4783313274383545},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.4453408420085907},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4288439154624939},{"id":"https://openalex.org/keywords/white-box-testing","display_name":"White-box testing","score":0.4273388385772705},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.42122209072113037},{"id":"https://openalex.org/keywords/assertion","display_name":"Assertion","score":0.41366103291511536},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.37422528862953186},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3281708359718323},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.20470622181892395},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1805034577846527},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.16388821601867676},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.11767706274986267}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8604438304901123},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6377277374267578},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.63311368227005},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.5923110842704773},{"id":"https://openalex.org/C2775941552","wikidata":"https://www.wikidata.org/wiki/Q25212305","display_name":"Isolation (microbiology)","level":2,"score":0.5216662883758545},{"id":"https://openalex.org/C28034677","wikidata":"https://www.wikidata.org/wiki/Q17092530","display_name":"Interleaving","level":2,"score":0.4783313274383545},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4453408420085907},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4288439154624939},{"id":"https://openalex.org/C162443782","wikidata":"https://www.wikidata.org/wiki/Q1066228","display_name":"White-box testing","level":5,"score":0.4273388385772705},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.42122209072113037},{"id":"https://openalex.org/C40422974","wikidata":"https://www.wikidata.org/wiki/Q741248","display_name":"Assertion","level":2,"score":0.41366103291511536},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.37422528862953186},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3281708359718323},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.20470622181892395},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1805034577846527},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.16388821601867676},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.11767706274986267},{"id":"https://openalex.org/C89423630","wikidata":"https://www.wikidata.org/wiki/Q7193","display_name":"Microbiology","level":1,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2737924.2737996","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2737924.2737996","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:spiral.imperial.ac.uk:10044/1/32078","is_oa":false,"landing_page_url":"http://hdl.handle.net/10044/1/32078","pdf_url":null,"source":{"id":"https://openalex.org/S4306401396","display_name":"Spiral (Imperial College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I47508984","host_organization_name":"Imperial College London","host_organization_lineage":["https://openalex.org/I47508984"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"36th annual ACM SIGPLAN conference on Programming Language Design and Implementation","raw_type":"Conference Paper"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.6399999856948853}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W51942069","https://openalex.org/W1493542872","https://openalex.org/W1524103123","https://openalex.org/W1532939744","https://openalex.org/W1566086941","https://openalex.org/W1568729458","https://openalex.org/W1584322803","https://openalex.org/W1871201330","https://openalex.org/W1887412317","https://openalex.org/W1972433423","https://openalex.org/W1990138733","https://openalex.org/W1993662467","https://openalex.org/W2065675749","https://openalex.org/W2075854425","https://openalex.org/W2080661536","https://openalex.org/W2087019828","https://openalex.org/W2093709900","https://openalex.org/W2106887953","https://openalex.org/W2109819183","https://openalex.org/W2110059387","https://openalex.org/W2110852599","https://openalex.org/W2113563476","https://openalex.org/W2140112995","https://openalex.org/W2143149536","https://openalex.org/W2145098440","https://openalex.org/W2156580773","https://openalex.org/W2158049821","https://openalex.org/W2914209329","https://openalex.org/W2914563499","https://openalex.org/W4229585471","https://openalex.org/W4230480080","https://openalex.org/W4230609379","https://openalex.org/W4254906220"],"related_works":["https://openalex.org/W1498103021","https://openalex.org/W2035655557","https://openalex.org/W2133697637","https://openalex.org/W4253571630","https://openalex.org/W2837991191","https://openalex.org/W1873898332","https://openalex.org/W2741423451","https://openalex.org/W1565546946","https://openalex.org/W2523437542","https://openalex.org/W2347608037"],"abstract_inverted_index":{"Programming":[0],"efficient":[1],"asynchronous":[2,61],"systems":[3],"is":[4],"challenging":[5],"because":[6],"it":[7],"can":[8],"often":[9],"be":[10],"hard":[11],"to":[12,18,81,92],"express":[13],"the":[14,96,101],"design":[15,102],"declaratively,":[16],"or":[17,49],"defend":[19],"against":[20],"data":[21,45,67],"races":[22],"and":[23,70,86],"interleaving-dependent":[24],"assertion":[25],"violations.":[26],"Previous":[27],"work":[28],"has":[29],"only":[30],"addressed":[31],"these":[32],"challenges":[33],"in":[34,107],"isolation,":[35],"by":[36,99],"either":[37],"designing":[38],"a":[39,43,50,57,65],"new":[40,44,51],"declarative":[41],"language,":[42],"race":[46,68],"detection":[47],"tool":[48],"testing":[52,73],"technique.":[53],"We":[54,75],"present":[55],"P#,":[56,104],"language":[58],"for":[59],"high-reliability":[60],"programming":[62],"co-designed":[63],"with":[64],"static":[66],"analysis":[69],"systematic":[71],"concurrency":[72],"infrastructure.":[74],"describe":[76],"our":[77],"experience":[78],"using":[79],"P#":[80],"write":[82],"several":[83],"distributed":[84],"protocols":[85],"port":[87],"an":[88],"industrial-scale":[89],"system":[90],"internal":[91],"Microsoft,":[93],"showing":[94],"that":[95],"combined":[97],"techniques,":[98],"leveraging":[100],"of":[103],"are":[105],"effective":[106],"finding":[108],"bugs.":[109]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":9},{"year":2016,"cited_by_count":5}],"updated_date":"2026-07-30T17:31:21.811387","created_date":"2025-10-10T00:00:00"}
