{"id":"https://openalex.org/W4414978596","doi":"https://doi.org/10.1145/3763136","title":"MIO: Multiverse Debugging in the Face of Input/Output","display_name":"MIO: Multiverse Debugging in the Face of Input/Output","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4414978596","doi":"https://doi.org/10.1145/3763136"},"language":"en","primary_location":{"id":"doi:10.1145/3763136","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763136","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3763136","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5077695585","display_name":"Tom Lauwaerts","orcid":"https://orcid.org/0000-0003-1262-8893"},"institutions":[{"id":"https://openalex.org/I32597200","display_name":"Ghent University","ror":"https://ror.org/00cv9y106","country_code":"BE","type":"education","lineage":["https://openalex.org/I32597200"]}],"countries":["BE"],"is_corresponding":true,"raw_author_name":"Tom Lauwaerts","raw_affiliation_strings":["Universiteit Gent, Ghent, Belgium"],"raw_orcid":"https://orcid.org/0000-0003-1262-8893","affiliations":[{"raw_affiliation_string":"Universiteit Gent, Ghent, Belgium","institution_ids":["https://openalex.org/I32597200"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5107187245","display_name":"Maarten Steevens","orcid":"https://orcid.org/0009-0002-6339-0467"},"institutions":[{"id":"https://openalex.org/I32597200","display_name":"Ghent University","ror":"https://ror.org/00cv9y106","country_code":"BE","type":"education","lineage":["https://openalex.org/I32597200"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Maarten Steevens","raw_affiliation_strings":["Universiteit Gent, Ghent, Belgium"],"raw_orcid":"https://orcid.org/0009-0002-6339-0467","affiliations":[{"raw_affiliation_string":"Universiteit Gent, Ghent, Belgium","institution_ids":["https://openalex.org/I32597200"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5087361825","display_name":"Christophe Scholliers","orcid":"https://orcid.org/0000-0002-2837-4763"},"institutions":[{"id":"https://openalex.org/I32597200","display_name":"Ghent University","ror":"https://ror.org/00cv9y106","country_code":"BE","type":"education","lineage":["https://openalex.org/I32597200"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Christophe Scholliers","raw_affiliation_strings":["Universiteit Gent, Ghent, Belgium"],"raw_orcid":"https://orcid.org/0000-0002-2837-4763","affiliations":[{"raw_affiliation_string":"Universiteit Gent, Ghent, Belgium","institution_ids":["https://openalex.org/I32597200"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5077695585"],"corresponding_institution_ids":["https://openalex.org/I32597200"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.27438653,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"2396","last_page":"2425"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/T11005","display_name":"Radiation Effects in Electronics","score":0.9958000183105469,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.9492999911308289},{"id":"https://openalex.org/keywords/debugger","display_name":"Debugger","score":0.8413000106811523},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5692999958992004},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5562999844551086},{"id":"https://openalex.org/keywords/algorithmic-program-debugging","display_name":"Algorithmic program debugging","score":0.4544999897480011},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.43950000405311584},{"id":"https://openalex.org/keywords/sync","display_name":"sync","score":0.4348999857902527},{"id":"https://openalex.org/keywords/trace","display_name":"TRACE (psycholinguistics)","score":0.3878999948501587},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.38600000739097595},{"id":"https://openalex.org/keywords/tree-traversal","display_name":"Tree traversal","score":0.37119999527931213}],"concepts":[{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.9492999911308289},{"id":"https://openalex.org/C2778485113","wikidata":"https://www.wikidata.org/wiki/Q193231","display_name":"Debugger","level":3,"score":0.8413000106811523},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8410000205039978},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6553999781608582},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5692999958992004},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5562999844551086},{"id":"https://openalex.org/C136388014","wikidata":"https://www.wikidata.org/wiki/Q17084976","display_name":"Algorithmic program debugging","level":3,"score":0.4544999897480011},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.43950000405311584},{"id":"https://openalex.org/C3913047","wikidata":"https://www.wikidata.org/wiki/Q1956265","display_name":"sync","level":3,"score":0.4348999857902527},{"id":"https://openalex.org/C75291252","wikidata":"https://www.wikidata.org/wiki/Q1315756","display_name":"TRACE (psycholinguistics)","level":2,"score":0.3878999948501587},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.38600000739097595},{"id":"https://openalex.org/C140745168","wikidata":"https://www.wikidata.org/wiki/Q1210082","display_name":"Tree traversal","level":2,"score":0.37119999527931213},{"id":"https://openalex.org/C161615301","wikidata":"https://www.wikidata.org/wiki/Q309396","display_name":"Keystroke logging","level":2,"score":0.36880001425743103},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.36059999465942383},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.35740000009536743},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.33799999952316284},{"id":"https://openalex.org/C162932704","wikidata":"https://www.wikidata.org/wiki/Q1058791","display_name":"Synchronizing","level":3,"score":0.3181999921798706},{"id":"https://openalex.org/C204495577","wikidata":"https://www.wikidata.org/wiki/Q1205349","display_name":"Callback","level":2,"score":0.30889999866485596},{"id":"https://openalex.org/C136197465","wikidata":"https://www.wikidata.org/wiki/Q1729295","display_name":"Variety (cybernetics)","level":2,"score":0.30239999294281006},{"id":"https://openalex.org/C45357846","wikidata":"https://www.wikidata.org/wiki/Q2001982","display_name":"Notation","level":2,"score":0.2874000072479248},{"id":"https://openalex.org/C2781139653","wikidata":"https://www.wikidata.org/wiki/Q7920330","display_name":"Ventriculotomy","level":3,"score":0.2865000069141388},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.2809999883174896},{"id":"https://openalex.org/C148609458","wikidata":"https://www.wikidata.org/wiki/Q7021281","display_name":"Nexus (standard)","level":2,"score":0.2793999910354614},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.27630001306533813},{"id":"https://openalex.org/C173018170","wikidata":"https://www.wikidata.org/wiki/Q165678","display_name":"Microcontroller","level":2,"score":0.2750000059604645},{"id":"https://openalex.org/C1009929","wikidata":"https://www.wikidata.org/wiki/Q179550","display_name":"Software bug","level":3,"score":0.2624000012874603},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.2558000087738037},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.2524000108242035},{"id":"https://openalex.org/C176181172","wikidata":"https://www.wikidata.org/wiki/Q3490301","display_name":"Nondeterministic algorithm","level":2,"score":0.25200000405311584}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3763136","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763136","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:archive.ugent.be:01KFB69MCM28BFM42ZD7BDESKQ","is_oa":true,"landing_page_url":"https://biblio.ugent.be/publication/01KFB69MCM28BFM42ZD7BDESKQ","pdf_url":null,"source":{"id":"https://openalex.org/S4306400478","display_name":"Ghent University Academic Bibliography (Ghent University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I32597200","host_organization_name":"Ghent University","host_organization_lineage":["https://openalex.org/I32597200"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ISSN: 2475-1421","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:arXiv.org:2509.06845","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2509.06845","pdf_url":"https://arxiv.org/pdf/2509.06845","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"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":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/3763136","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763136","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8204279334","display_name":null,"funder_award_id":"FWOOPR2020008201","funder_id":"https://openalex.org/F4320321730","funder_display_name":"Fonds Wetenschappelijk Onderzoek"}],"funders":[{"id":"https://openalex.org/F4320321730","display_name":"Fonds Wetenschappelijk Onderzoek","ror":"https://ror.org/03qtxy027"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":61,"referenced_works":["https://openalex.org/W40444246","https://openalex.org/W1470114689","https://openalex.org/W1539345619","https://openalex.org/W1549714654","https://openalex.org/W1566086941","https://openalex.org/W1574570499","https://openalex.org/W1592668793","https://openalex.org/W1673079227","https://openalex.org/W1963557108","https://openalex.org/W1987371135","https://openalex.org/W2000839378","https://openalex.org/W2004269492","https://openalex.org/W2040851906","https://openalex.org/W2048632649","https://openalex.org/W2059865504","https://openalex.org/W2061939373","https://openalex.org/W2068678118","https://openalex.org/W2081840025","https://openalex.org/W2083796365","https://openalex.org/W2096449544","https://openalex.org/W2101512909","https://openalex.org/W2106910606","https://openalex.org/W2114638353","https://openalex.org/W2149843953","https://openalex.org/W2161836710","https://openalex.org/W2172035080","https://openalex.org/W2274274617","https://openalex.org/W2279321119","https://openalex.org/W2336693191","https://openalex.org/W2491846690","https://openalex.org/W2526501380","https://openalex.org/W2620179038","https://openalex.org/W2784037720","https://openalex.org/W2799377964","https://openalex.org/W2899875271","https://openalex.org/W2902858338","https://openalex.org/W2956391555","https://openalex.org/W2963723316","https://openalex.org/W2964420657","https://openalex.org/W3006144473","https://openalex.org/W3024740858","https://openalex.org/W3025214799","https://openalex.org/W3177385908","https://openalex.org/W4230332567","https://openalex.org/W4231486519","https://openalex.org/W4233730851","https://openalex.org/W4246263814","https://openalex.org/W4248284780","https://openalex.org/W4252135746","https://openalex.org/W4253477627","https://openalex.org/W4256684041","https://openalex.org/W4289547752","https://openalex.org/W4302071204","https://openalex.org/W4312081346","https://openalex.org/W4386746427","https://openalex.org/W4389802965","https://openalex.org/W4391787563","https://openalex.org/W4399089917","https://openalex.org/W6929180006","https://openalex.org/W7077142618","https://openalex.org/W7080532634"],"related_works":[],"abstract_inverted_index":{"Debugging":[0],"non-deterministic":[1,28],"programs":[2,29,72,250],"on":[3,252],"microcontrollers":[4],"is":[5,122,132],"notoriously":[6],"challenging,":[7],"especially":[8],"when":[9,127],"bugs":[10],"manifest":[11],"in":[12,124,128],"unpredictable,":[13],"input-dependent":[14],"execution":[15,37,64],"paths.":[16,38],"A":[17],"recent":[18],"approach,":[19],"called":[20,201],"multiverse":[21,40,79,144,247],"debugging,":[22,145],"makes":[23],"it":[24],"easier":[25],"to":[26,33,55,143,209],"debug":[27],"by":[30,134],"allowing":[31],"programmers":[32],"explore":[34,185],"all":[35],"potential":[36],"Current":[39],"debuggers":[41,80],"enable":[42],"both":[43],"forward":[44],"and":[45,51,110,162,213,235],"backward":[46],"traversal":[47],"of":[48,152,159,166,178,215,221,242],"program":[49,84,113,187],"paths,":[50],"some":[52],"facilitate":[53],"jumping":[54],"any":[56],"previously":[57],"visited":[58],"states,":[59,85,114],"potentially":[60],"branching":[61],"into":[62],"alternative":[63],"paths":[65],"within":[66],"the":[67,99,103,125,130,135,157,164,181,204,211,222],"state":[68],"space.":[69],"Unfortunately,":[70],"debugging":[71,100,248],"that":[73,170],"involve":[74],"input/output":[75,153,179],"operations":[76,180],"using":[77],"existing":[78],"can":[81,96,147,190],"reveal":[82],"inaccessible":[83,112],"i.e.":[86],"states":[87,188],"which":[88,146,189],"are":[89],"not":[90],"encountered":[91],"during":[92,193],"regular":[93,194],"execution.":[94,195],"This":[95,137],"significantly":[97],"hinder":[98],"process,":[101],"as":[102],"programmer":[104],"may":[105,117],"spend":[106],"substantial":[107],"time":[108],"exploring":[109],"examining":[111],"or":[115],"worse,":[116],"mistakenly":[118],"assume":[119],"a":[120,140,149,175,199,219,226,231,239],"bug":[121],"present":[123],"code,":[126],"fact,":[129],"issue":[131],"caused":[133],"debugger.":[136],"paper":[138],"presents":[139],"novel":[141],"approach":[142,161,223,245],"accommodate":[148],"broad":[150],"spectrum":[151],"operations.":[154],"We":[155,196],"provide":[156],"semantics":[158],"our":[160,167,216,244],"prove":[163],"correctness":[165],"debugger,":[168],"ensuring":[169],"despite":[171],"having":[172],"support":[173],"for":[174,249],"wide":[176],"range":[177],"debugger":[182],"will":[183],"only":[184],"those":[186],"be":[191],"reached":[192],"have":[197],"developed":[198],"prototype,":[200],"MIO,":[202],"leveraging":[203],"WARDuino":[205],"WebAssembly":[206],"virtual":[207],"machine":[208],"demonstrate":[210],"feasibility":[212],"efficiency":[214],"techniques.":[217],"As":[218],"demonstration":[220],"we":[224],"highlight":[225],"color":[227,236],"dial":[228],"built":[229],"with":[230],"Lego":[232],"Mindstorms":[233],"motor,":[234],"sensor,":[237],"providing":[238],"tangible":[240],"example":[241],"how":[243],"enables":[246],"running":[251],"an":[253],"STM32":[254],"microcontroller.":[255]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-09T00:00:00"}
