{"id":"https://openalex.org/W2518106139","doi":"https://doi.org/10.1145/2967973.2968595","title":"Typechecking protocols with Mungo and StMungo","display_name":"Typechecking protocols with Mungo and StMungo","publication_year":2016,"publication_date":"2016-09-01","ids":{"openalex":"https://openalex.org/W2518106139","doi":"https://doi.org/10.1145/2967973.2968595","mag":"2518106139"},"language":"en","primary_location":{"id":"doi:10.1145/2967973.2968595","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2967973.2968595","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.pure.ed.ac.uk/ws/files/26327465/typestate_main.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5046163764","display_name":"Dimitrios Kouzapas","orcid":"https://orcid.org/0000-0001-9300-0146"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Dimitrios Kouzapas","raw_affiliation_strings":["University of Glasgow, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Glasgow, UK","institution_ids":["https://openalex.org/I7882870"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5050784078","display_name":"Ornela Dardha","orcid":"https://orcid.org/0000-0001-9927-7875"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Ornela Dardha","raw_affiliation_strings":["University of Glasgow, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Glasgow, UK","institution_ids":["https://openalex.org/I7882870"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008299896","display_name":"Roly Perera","orcid":"https://orcid.org/0000-0001-9249-9862"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Roly Perera","raw_affiliation_strings":["University of Glasgow, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Glasgow, UK","institution_ids":["https://openalex.org/I7882870"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5069757996","display_name":"Simon J. Gay","orcid":"https://orcid.org/0000-0003-3033-9091"},"institutions":[{"id":"https://openalex.org/I7882870","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53","country_code":"GB","type":"education","lineage":["https://openalex.org/I7882870"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Simon J. Gay","raw_affiliation_strings":["University of Glasgow, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Glasgow, UK","institution_ids":["https://openalex.org/I7882870"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.6247,"has_fulltext":false,"cited_by_count":37,"citation_normalized_percentile":{"value":0.96796736,"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":"146","last_page":"159"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"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/T10142","display_name":"Formal Methods in Verification","score":0.9991000294685364,"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/T10260","display_name":"Software Engineering Research","score":0.9944000244140625,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/toolchain","display_name":"Toolchain","score":0.9198974370956421},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8315654397010803},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.8154011964797974},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7501014471054077},{"id":"https://openalex.org/keywords/protocol","display_name":"Protocol (science)","score":0.6341911554336548},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4948267340660095},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.44396108388900757},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.42944759130477905},{"id":"https://openalex.org/keywords/communications-protocol","display_name":"Communications protocol","score":0.4234578013420105},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.38604894280433655},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2964165210723877},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.20450708270072937},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.15269151329994202},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1358100175857544}],"concepts":[{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.9198974370956421},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8315654397010803},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.8154011964797974},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7501014471054077},{"id":"https://openalex.org/C2780385302","wikidata":"https://www.wikidata.org/wiki/Q367158","display_name":"Protocol (science)","level":3,"score":0.6341911554336548},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4948267340660095},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.44396108388900757},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.42944759130477905},{"id":"https://openalex.org/C12269588","wikidata":"https://www.wikidata.org/wiki/Q132364","display_name":"Communications protocol","level":2,"score":0.4234578013420105},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.38604894280433655},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2964165210723877},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.20450708270072937},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.15269151329994202},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1358100175857544},{"id":"https://openalex.org/C204787440","wikidata":"https://www.wikidata.org/wiki/Q188504","display_name":"Alternative medicine","level":2,"score":0.0},{"id":"https://openalex.org/C142724271","wikidata":"https://www.wikidata.org/wiki/Q7208","display_name":"Pathology","level":1,"score":0.0},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2967973.2968595","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2967973.2968595","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:eprints.gla.ac.uk:120274","is_oa":false,"landing_page_url":"http://eprints.gla.ac.uk/view/author/30913.html>,","pdf_url":null,"source":{"id":"https://openalex.org/S4210235606","display_name":"ENLIGHTEN (Jurnal Bimbingan dan Konseling Islam)","issn_l":"2622-8912","issn":["2622-8912","2622-8920"],"is_oa":false,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":null,"raw_type":"PeerReviewed"},{"id":"pmh:oai:pure.ed.ac.uk:publications/c9195814-962d-4414-bae1-7815acda7cce","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11820/c9195814-962d-4414-bae1-7815acda7cce","pdf_url":"https://www.pure.ed.ac.uk/ws/files/26327465/typestate_main.pdf","source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","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":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},{"id":"pmh:oai:pure.ed.ac.uk:openaire/c9195814-962d-4414-bae1-7815acda7cce","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/c9195814-962d-4414-bae1-7815acda7cce","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Kouzapas, D, Dardha, O, Perera, R & Gay, S J 2016, Typechecking Protocols with Mungo and StMungo. in 18th International Symposium on Principles and Practice of Declarative Programming PPDP 2016. Edinburgh, United Kingdom, pp. 146-159, 18th International Symposium on Principles and Practice of Declarative Programming, Edinburgh, United Kingdom, 5/09/16. https://doi.org/10.1145/2967973.2968595","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:publications/c9195814-962d-4414-bae1-7815acda7cce","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11820/c9195814-962d-4414-bae1-7815acda7cce","pdf_url":"https://www.pure.ed.ac.uk/ws/files/26327465/typestate_main.pdf","source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","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":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1798638720","display_name":"From Data Types to Session Types---A Basis for Concurrency and Distribution","funder_award_id":"EP/K034413/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G7918631928","display_name":null,"funder_award_id":"EP/K034413/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":true,"grobid_xml":false},"content_urls":{"pdf":"https://content.openalex.org/works/W2518106139.pdf"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W86241532","https://openalex.org/W146875802","https://openalex.org/W216355022","https://openalex.org/W1511982475","https://openalex.org/W1555656963","https://openalex.org/W1562729841","https://openalex.org/W1575350781","https://openalex.org/W1585111997","https://openalex.org/W1711395388","https://openalex.org/W1863315251","https://openalex.org/W1883854985","https://openalex.org/W1989293671","https://openalex.org/W1990280150","https://openalex.org/W1998070736","https://openalex.org/W1998344822","https://openalex.org/W2007846881","https://openalex.org/W2015932520","https://openalex.org/W2040105559","https://openalex.org/W2041639124","https://openalex.org/W2044306001","https://openalex.org/W2044590882","https://openalex.org/W2054670810","https://openalex.org/W2088962847","https://openalex.org/W2091712774","https://openalex.org/W2094694891","https://openalex.org/W2109568634","https://openalex.org/W2111141292","https://openalex.org/W2112965682","https://openalex.org/W2121663222","https://openalex.org/W2123691799","https://openalex.org/W2124126159","https://openalex.org/W2137186143","https://openalex.org/W2142837069","https://openalex.org/W2162077931","https://openalex.org/W2171043779","https://openalex.org/W2219871211","https://openalex.org/W2243428364","https://openalex.org/W2482080645","https://openalex.org/W2771728401","https://openalex.org/W2912880222","https://openalex.org/W2964107775","https://openalex.org/W3029782483","https://openalex.org/W4213122263"],"related_works":["https://openalex.org/W2013037783","https://openalex.org/W2909413202","https://openalex.org/W4385243142","https://openalex.org/W1999008563","https://openalex.org/W2561644314","https://openalex.org/W2794118724","https://openalex.org/W2912135124","https://openalex.org/W4206450104","https://openalex.org/W1995590221","https://openalex.org/W196101529"],"abstract_inverted_index":{"We":[0,89],"report":[1],"on":[2],"two":[3],"tools":[4],"that":[5,69,108],"extend":[6],"Java":[7,20],"with":[8,21,30,87,111],"support":[9],"for":[10,59],"static":[11],"type-checking":[12],"of":[13,36,66],"communication":[14,45],"protocols.":[15],"Our":[16],"Mungo":[17,77,99],"tool":[18],"extends":[19],"typestate":[22,57,80,92],"definitions,":[23],"which":[24],"allow":[25],"classes":[26],"to":[27],"be":[28,74],"associated":[29],"state":[31],"machines":[32],"defining":[33],"permitted":[34,64],"sequences":[35,65],"method":[37],"calls.":[38],"A":[39],"complementary":[40],"tool,":[41],"StMungo,":[42],"takes":[43],"a":[44,56,104,112],"protocol":[46,51],"specified":[47],"in":[48],"the":[49,63,97],"Scribble":[50],"description":[52],"language,":[53],"and":[54,82,95,100],"generates":[55],"specification":[58],"each":[60],"endpoint,":[61],"capturing":[62],"messages":[67],"along":[68],"channel.":[70],"Endpoint":[71],"implementations":[72],"can":[73,109],"validated":[75],"by":[76],"against":[78],"their":[79],"definitions":[81],"then":[83],"compiled":[84],"as":[85],"usual":[86],"javac.":[88],"formalise":[90],"Mungo's":[91],"inference":[93],"system":[94],"demonstrate":[96],"Scribble,":[98],"StMungo":[101],"toolchain":[102],"via":[103],"typechecked":[105],"SMTP":[106,114],"client":[107],"communicate":[110],"real-world":[113],"server.":[115]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":9},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
