{"id":"https://openalex.org/W7131400877","doi":"https://doi.org/10.48550/arxiv.2602.19686","title":"A Flow Extension to Coroutine Types for Deadlock Detection in Go","display_name":"A Flow Extension to Coroutine Types for Deadlock Detection in Go","publication_year":2026,"publication_date":"2026-02-23","ids":{"openalex":"https://openalex.org/W7131400877","doi":"https://doi.org/10.48550/arxiv.2602.19686"},"language":null,"primary_location":{"id":"doi:10.48550/arxiv.2602.19686","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2602.19686","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"},"type":"preprint","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.48550/arxiv.2602.19686","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5126700087","display_name":"Qiqi Jason Gu","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Gu, Qiqi Jason","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5126702782","display_name":"Lixue Liu","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Liu, Lixue","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5126717960","display_name":"Wei Ke","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Ke, Wei","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.5507000088691711,"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.5507000088691711,"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/T10126","display_name":"Logic, programming, and type systems","score":0.3370000123977661,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.0478999987244606,"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/extension","display_name":"Extension (predicate logic)","score":0.7498999834060669},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.7437999844551086},{"id":"https://openalex.org/keywords/deadlock","display_name":"Deadlock","score":0.6855999827384949},{"id":"https://openalex.org/keywords/generalization","display_name":"Generalization","score":0.5616000294685364},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5315999984741211},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.5144000053405762},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.48899999260902405},{"id":"https://openalex.org/keywords/reduction","display_name":"Reduction (mathematics)","score":0.46650001406669617},{"id":"https://openalex.org/keywords/deadlock-prevention-algorithms","display_name":"Deadlock prevention algorithms","score":0.4562999904155731}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8209999799728394},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.7498999834060669},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.7437999844551086},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.707099974155426},{"id":"https://openalex.org/C159023740","wikidata":"https://www.wikidata.org/wiki/Q623276","display_name":"Deadlock","level":2,"score":0.6855999827384949},{"id":"https://openalex.org/C177148314","wikidata":"https://www.wikidata.org/wiki/Q170084","display_name":"Generalization","level":2,"score":0.5616000294685364},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5315999984741211},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.5144000053405762},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.48899999260902405},{"id":"https://openalex.org/C111335779","wikidata":"https://www.wikidata.org/wiki/Q3454686","display_name":"Reduction (mathematics)","level":2,"score":0.46650001406669617},{"id":"https://openalex.org/C113429609","wikidata":"https://www.wikidata.org/wiki/Q4060699","display_name":"Deadlock prevention algorithms","level":3,"score":0.4562999904155731},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4104999899864197},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.4023999869823456},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.39809998869895935},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.3935999870300293},{"id":"https://openalex.org/C52723943","wikidata":"https://www.wikidata.org/wiki/Q1127410","display_name":"Serialization","level":2,"score":0.3910999894142151},{"id":"https://openalex.org/C38349280","wikidata":"https://www.wikidata.org/wiki/Q1434290","display_name":"Flow (mathematics)","level":2,"score":0.38519999384880066},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.3734000027179718},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.3686000108718872},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.34950000047683716},{"id":"https://openalex.org/C150495011","wikidata":"https://www.wikidata.org/wiki/Q128392","display_name":"Concurrent computing","level":2,"score":0.3450999855995178},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.3230000138282776},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.31790000200271606},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3091000020503998},{"id":"https://openalex.org/C2779136372","wikidata":"https://www.wikidata.org/wiki/Q10283002","display_name":"Information flow","level":2,"score":0.2784000039100647},{"id":"https://openalex.org/C114094675","wikidata":"https://www.wikidata.org/wiki/Q750997","display_name":"Goto","level":2,"score":0.2754000127315521},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.26460000872612},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.2639999985694885},{"id":"https://openalex.org/C164155591","wikidata":"https://www.wikidata.org/wiki/Q2067766","display_name":"Satisfiability modulo theories","level":2,"score":0.2590000033378601},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.25589999556541443},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.2531999945640564}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.48550/arxiv.2602.19686","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2602.19686","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.48550/arxiv.2602.19686","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2602.19686","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Coroutines,":[0],"as":[1],"an":[2],"abstract":[3],"programming":[4,105,137],"construct,":[5],"are":[6,22,120],"a":[7,31,37,57,96,135,143],"generalization":[8],"of":[9,28,83,90,102,146,157,188,211,244],"functions":[10],"that":[11,64,99],"can":[12,74],"suspend":[13],"execution":[14,213],"part-":[15],"way":[16],"for":[17,139],"later":[18],"resumption.":[19],"Coroutine":[20,41,61,84,108],"Types":[21,42],"behavioral":[23],"types":[24],"to":[25,46,60,107,153,208],"model":[26],"interactions":[27],"coroutines":[29,65],"with":[30,66,172],"single":[32,38],"receiving":[33,70],"operation":[34,73],"followed":[35],"by":[36],"yielding":[39,72],"operation.":[40],"have":[43],"been":[44],"applied":[45],"model-driven":[47],"engineering,":[48],"smart":[49],"contracts,":[50],"and":[51,71,123,176,181,190,196,214],"test":[52],"case":[53],"generation.":[54],"We":[55,77,129,160,201],"contribute":[56,95],"Flow":[58,92,179],"extension":[59,180],"Types,":[62],"so":[63],"more":[67],"than":[68],"one":[69],"be":[75],"modeled.":[76],"accordingly":[78],"revise":[79],"the":[80,88,91,103,111,116,124,154,163,173,182,204,239,242],"reduction":[81,112],"rules":[82],"Types.":[85,109],"To":[86],"show":[87],"usefulness":[89],"extension,":[93],"we":[94],"type":[97,183,215],"system":[98,184],"maps":[100],"expressions":[101],"Go":[104,131,149],"language":[106,138],"If":[110],"result":[113],"is":[114,134,150],"0,":[115],"two":[117],"channel":[118],"operations":[119],"paired":[121],"properly":[122],"program":[125],"has":[126],"no":[127],"deadlocks.":[128],"choose":[130],"because":[132],"it":[133],"popular":[136],"distributed":[140],"systems,":[141],"but":[142,247],"frequent":[144],"kind":[145],"bugs":[147],"in":[148,168,228,241],"deadlocks":[151],"due":[152],"wrong":[155,226],"use":[156],"concurrency":[158],"features.":[159],"concentrate":[161],"on":[162],"most":[164],"commonly":[165],"used":[166],"semantics":[167],"Go:":[169],"unbuffered":[170],"channels":[171,189],"keywords":[174],"go":[175],"defer.":[177],"Our":[178],"recognize":[185],"17":[186],"patterns":[187],"goroutine":[191],"interactions,":[192],"including":[193],"mismatched":[194],"receivers":[195],"senders,":[197],"nested":[198],"goroutines,":[199],"etc.":[200],"also":[202,248],"integrate":[203],"Z3":[205],"SMT":[206],"solver":[207],"take":[209],"account":[210],"conditional":[212],"inheritance.":[216],"Other":[217],"static":[218],"or":[219,224],"dynamic":[220],"deadlock":[221,234],"detectors":[222],"crashed":[223],"gave":[225],"predictions":[227],"some":[229],"patterns.":[230],"Therefore,":[231],"our":[232],"type-based":[233],"analyzer":[235],"not":[236],"only":[237],"fills":[238],"gap":[240],"landscape":[243],"value-based":[245],"detection,":[246],"complements":[249],"existing":[250],"detectors.":[251]},"counts_by_year":[],"updated_date":"2026-07-28T07:46:37.118299","created_date":"2026-02-26T00:00:00"}
