{"id":"https://openalex.org/W4414978540","doi":"https://doi.org/10.1145/3763124","title":"Debugging WebAssembly? Put Some Whamm on It!","display_name":"Debugging WebAssembly? Put Some Whamm on It!","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4414978540","doi":"https://doi.org/10.1145/3763124"},"language":"en","primary_location":{"id":"doi:10.1145/3763124","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763124","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3763124","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5053447873","display_name":"Elizabeth Gilbert","orcid":"https://orcid.org/0009-0005-7242-6179"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Elizabeth Gilbert","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0009-0005-7242-6179","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101819480","display_name":"Matthew Schneider","orcid":"https://orcid.org/0009-0009-4266-7210"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Matthew Schneider","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0009-0009-4266-7210","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5119914618","display_name":"Zixi An","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zixi An","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0009-0004-2557-6230","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5119914619","display_name":"Suhas Thalanki","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Suhas Thalanki","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0009-0003-5631-2767","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109236336","display_name":"Wavid Bowman","orcid":null},"institutions":[{"id":"https://openalex.org/I33213144","display_name":"University of Florida","ror":"https://ror.org/02y3ad647","country_code":"US","type":"education","lineage":["https://openalex.org/I33213144"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Wavid Bowman","raw_affiliation_strings":["University of Florida, Gainesville, USA"],"raw_orcid":"https://orcid.org/0009-0000-9228-591X","affiliations":[{"raw_affiliation_string":"University of Florida, Gainesville, USA","institution_ids":["https://openalex.org/I33213144"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5036352000","display_name":"Anbin Bai","orcid":null},"institutions":[{"id":"https://openalex.org/I57206974","display_name":"New York University","ror":"https://ror.org/0190ak572","country_code":"US","type":"education","lineage":["https://openalex.org/I57206974"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Alexander Y. Bai","raw_affiliation_strings":["New York University, New York, USA"],"raw_orcid":"https://orcid.org/0009-0009-7458-7864","affiliations":[{"raw_affiliation_string":"New York University, New York, USA","institution_ids":["https://openalex.org/I57206974"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034437441","display_name":"Ben L. Titzer","orcid":"https://orcid.org/0000-0002-9690-2089"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ben L. Titzer","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0002-9690-2089","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5021433095","display_name":"Heather Miller","orcid":"https://orcid.org/0000-0002-2059-5406"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Heather Miller","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0002-2059-5406","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":8,"corresponding_author_ids":["https://openalex.org/A5053447873"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":1.9269,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.89709948,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"2058","last_page":"2086"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.991599977016449,"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/T11424","display_name":"Security and Verification in Computing","score":0.991599977016449,"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/T12034","display_name":"Digital and Cyber Forensics","score":0.9735999703407288,"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"}},{"id":"https://openalex.org/T11338","display_name":"Advancements in Photolithography Techniques","score":0.9682000279426575,"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/bytecode","display_name":"Bytecode","score":0.7541000247001648},{"id":"https://openalex.org/keywords/instrumentation","display_name":"Instrumentation (computer programming)","score":0.7515000104904175},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.7443000078201294},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.522599995136261},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5080999732017517},{"id":"https://openalex.org/keywords/debugger","display_name":"Debugger","score":0.4832000136375427},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.44020000100135803},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4000999927520752}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7827000021934509},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.7541000247001648},{"id":"https://openalex.org/C118530786","wikidata":"https://www.wikidata.org/wiki/Q1134732","display_name":"Instrumentation (computer programming)","level":2,"score":0.7515000104904175},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.7443000078201294},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.522599995136261},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5080999732017517},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4860000014305115},{"id":"https://openalex.org/C2778485113","wikidata":"https://www.wikidata.org/wiki/Q193231","display_name":"Debugger","level":3,"score":0.4832000136375427},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.461899995803833},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.44020000100135803},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.423799991607666},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4000999927520752},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.37619999051094055},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.32339999079704285},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.32280001044273376},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.3174000084400177},{"id":"https://openalex.org/C202973057","wikidata":"https://www.wikidata.org/wiki/Q7380130","display_name":"Runtime verification","level":3,"score":0.31679999828338623},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.3084000051021576},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.2989000082015991},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.2856000065803528},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.2777999937534332},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.2732999920845032},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.25690001249313354},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.2533999979496002}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3763124","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763124","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3763124","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763124","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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/G8125711872","display_name":null,"funder_award_id":"2148301","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W1992219613","https://openalex.org/W2047226031","https://openalex.org/W2080696000","https://openalex.org/W2098984303","https://openalex.org/W2115175456","https://openalex.org/W2130261200","https://openalex.org/W2134633067","https://openalex.org/W2794883415","https://openalex.org/W2887682444","https://openalex.org/W2951450826","https://openalex.org/W3099921615","https://openalex.org/W3161394903","https://openalex.org/W3171759289","https://openalex.org/W4205983429","https://openalex.org/W4230822993","https://openalex.org/W4239035626","https://openalex.org/W4246263814","https://openalex.org/W4312875777","https://openalex.org/W4362505480","https://openalex.org/W4363647646","https://openalex.org/W4414978540","https://openalex.org/W7077156247"],"related_works":[],"abstract_inverted_index":{"Debugging":[0],"and":[1,8,55,78,101,118,124,133,156,192,214,233,239],"monitoring":[2],"programs":[3,210],"are":[4,36],"integral":[5],"to":[6,49,84,142,145,164,188],"engineering":[7],"deploying":[9],"software.":[10],"Dynamic":[11],"analyses":[12],"monitor":[13],"applications":[14],"through":[15,131],"source":[16],"code":[17,22],"or":[18,23,29],"IR":[19],"injection,":[20],"machine":[21,27],"bytecode":[24,81],"rewriting,":[25],"virtual":[26],"APIs,":[28],"direct":[30],"hardware":[31],"support.":[32,58,223],"While":[33],"these":[34],"techniques":[35,45],"viable":[37],"within":[38],"their":[39],"respective":[40],"domains,":[41],"common":[42],"tooling":[43,92,201],"across":[44],"is":[46,173,236],"rare,":[47],"leading":[48],"fragmentation":[50,213],"of":[51,98,104,170,218,230],"skills,":[52],"duplicated":[53],"efforts,":[54],"inconsistent":[56],"feature":[57],"We":[59,224],"address":[60],"this":[61],"problem":[62],"in":[63,179],"the":[64,186,200,216,219],"WebAssembly":[65],"ecosystem":[66],"with":[67,113,227],"Whamm,":[68],"an":[69],"instrumentation":[70,96,112,141],"framework":[71],"for":[72,221],"Wasm":[73,147,150],"that":[74,174],"uses":[75],"engine-level":[76],"probing":[77],"has":[79],"a":[80,146],"rewriting":[82],"fallback":[83],"promote":[85],"portability.":[86],"Whamm":[87,109,137,198,226],"solves":[88],"three":[89],"problems:":[90],"1)":[91],"fragmentation,":[93],"2)":[94],"prohibitive":[95],"overhead":[97],"general-purpose":[99],"frameworks,":[100],"3)":[102],"tedium":[103],"tailoring":[105],"low-level":[106],"high-performance":[107],"mechanisms.":[108],"provides":[110],"fully-programmable":[111],"declarative":[114],"match":[115,180],"rules,":[116,181],"static":[117],"dynamic":[119],"predication,":[120],"automatic":[121],"state":[122,178,217],"reporting,":[123],"user":[125],"library":[126],"support,":[127],"achieving":[128],"high":[129],"performance":[130],"compiler":[132],"engine":[134,138,148,154,187,222],"optimizations.":[135],"The":[136],"API":[139],"allows":[140],"be":[143],"provided":[144],"as":[149,203],"code,":[151],"reusing":[152],"existing":[153],"optimizations":[155],"unlocking":[157],"new":[158],"ones,":[159],"most":[160],"notably":[161],"intrinsification":[162],",":[163],"minimize":[165],"overhead.":[166],"A":[167],"key":[168],"insight":[169],"our":[171],"work":[172],"explicitly":[175],"requesting":[176],"program":[177],"rather":[182],"than":[183],"reflection,":[184],"enables":[185],"efficiently":[189],"bundle":[190],"arguments":[191],"even":[193],"inline":[194],"compiled":[195],"probe":[196],"logic.":[197],"streamlines":[199],"effort,":[202],"its":[204],"bytecode-rewriting":[205],"target":[206],"can":[207],"run":[208],"instrumented":[209],"everywhere,":[211],"lowering":[212],"advancing":[215],"art":[220],"evaluate":[225],"case":[228],"studies":[229],"non-trivial":[231],"monitors":[232],"show":[234],"it":[235],"expressive,":[237],"powerful,":[238],"efficient.":[240]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-05-21T09:19:25.381259","created_date":"2025-10-10T00:00:00"}
