{"id":"https://openalex.org/W3109485936","doi":"https://doi.org/10.1145/3428232","title":"Compiling symbolic execution with staging and algebraic effects","display_name":"Compiling symbolic execution with staging and algebraic effects","publication_year":2020,"publication_date":"2020-11-13","ids":{"openalex":"https://openalex.org/W3109485936","doi":"https://doi.org/10.1145/3428232","mag":"3109485936"},"language":"en","primary_location":{"id":"doi:10.1145/3428232","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3428232","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3428232","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://dl.acm.org/doi/pdf/10.1145/3428232","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5054308182","display_name":"Guannan Wei","orcid":"https://orcid.org/0000-0002-3150-2033"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Guannan Wei","raw_affiliation_strings":["Purdue University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019063975","display_name":"Oliver Bra\u010devac","orcid":"https://orcid.org/0000-0003-3569-4869"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Oliver Bra\u010devac","raw_affiliation_strings":["Purdue University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081573804","display_name":"Shangyin Tan","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Shangyin Tan","raw_affiliation_strings":["Purdue University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5003153354","display_name":"Tiark Rompf","orcid":"https://orcid.org/0000-0002-2068-3238"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tiark Rompf","raw_affiliation_strings":["Purdue University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.2445,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.88570764,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"4","issue":"OOPSLA","first_page":"1","last_page":"33"},"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.9998000264167786,"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.9998000264167786,"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/T10260","display_name":"Software Engineering Research","score":0.9991999864578247,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9987999796867371,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8703895807266235},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.8541170358657837},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7181113958358765},{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.6791874170303345},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6365541219711304},{"id":"https://openalex.org/keywords/concolic-testing","display_name":"Concolic testing","score":0.5952074527740479},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5848610401153564},{"id":"https://openalex.org/keywords/symbolic-trajectory-evaluation","display_name":"Symbolic trajectory evaluation","score":0.485595166683197},{"id":"https://openalex.org/keywords/the-symbolic","display_name":"The Symbolic","score":0.47615644335746765},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.4104636311531067},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3691629469394684},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.16782698035240173},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.13235709071159363}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8703895807266235},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.8541170358657837},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7181113958358765},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.6791874170303345},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6365541219711304},{"id":"https://openalex.org/C11219265","wikidata":"https://www.wikidata.org/wiki/Q5158734","display_name":"Concolic testing","level":4,"score":0.5952074527740479},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5848610401153564},{"id":"https://openalex.org/C23123167","wikidata":"https://www.wikidata.org/wiki/Q7661193","display_name":"Symbolic trajectory evaluation","level":3,"score":0.485595166683197},{"id":"https://openalex.org/C2776095079","wikidata":"https://www.wikidata.org/wiki/Q489538","display_name":"The Symbolic","level":2,"score":0.47615644335746765},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.4104636311531067},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3691629469394684},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.16782698035240173},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.13235709071159363},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C15744967","wikidata":"https://www.wikidata.org/wiki/Q9418","display_name":"Psychology","level":0,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C11171543","wikidata":"https://www.wikidata.org/wiki/Q41630","display_name":"Psychoanalysis","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3428232","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3428232","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3428232","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/3428232","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3428232","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3428232","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":[{"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16","score":0.5699999928474426}],"awards":[{"id":"https://openalex.org/G1083356329","display_name":null,"funder_award_id":"1564207","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G3747613611","display_name":null,"funder_award_id":"1553471","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6507897216","display_name":null,"funder_award_id":"DE-SC0018050","funder_id":"https://openalex.org/F4320337708","funder_display_name":"Bioenergy Technologies Office"},{"id":"https://openalex.org/G7364598548","display_name":null,"funder_award_id":"DE-SC0018050","funder_id":"https://openalex.org/F4320306084","funder_display_name":"U.S. Department of Energy"},{"id":"https://openalex.org/G787217599","display_name":"FMitF: Track I: Symbolic Reasoning with Graph Networks","funder_award_id":"1918483","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"},{"id":"https://openalex.org/F4320306084","display_name":"U.S. Department of Energy","ror":"https://ror.org/01bj3aw27"},{"id":"https://openalex.org/F4320309327","display_name":"Google","ror":"https://ror.org/00njsd438"},{"id":"https://openalex.org/F4320316785","display_name":"VMware","ror":null},{"id":"https://openalex.org/F4320337708","display_name":"Bioenergy Technologies Office","ror":null}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":96,"referenced_works":["https://openalex.org/W1511834278","https://openalex.org/W1517960827","https://openalex.org/W1556604985","https://openalex.org/W1606211906","https://openalex.org/W1608933122","https://openalex.org/W1753832216","https://openalex.org/W1939001241","https://openalex.org/W1971752790","https://openalex.org/W1977710006","https://openalex.org/W1981580304","https://openalex.org/W1995109607","https://openalex.org/W1995674161","https://openalex.org/W1997143185","https://openalex.org/W2001698600","https://openalex.org/W2007759294","https://openalex.org/W2022114508","https://openalex.org/W2026667713","https://openalex.org/W2037984920","https://openalex.org/W2043416466","https://openalex.org/W2047694629","https://openalex.org/W2048365843","https://openalex.org/W2057156093","https://openalex.org/W2059019165","https://openalex.org/W2059720667","https://openalex.org/W2070262175","https://openalex.org/W2073904768","https://openalex.org/W2078944436","https://openalex.org/W2081841061","https://openalex.org/W2094382938","https://openalex.org/W2094455839","https://openalex.org/W2096314727","https://openalex.org/W2096449544","https://openalex.org/W2104527179","https://openalex.org/W2105443946","https://openalex.org/W2107147876","https://openalex.org/W2112448454","https://openalex.org/W2121309409","https://openalex.org/W2123092976","https://openalex.org/W2129902163","https://openalex.org/W2132897303","https://openalex.org/W2133051483","https://openalex.org/W2134633067","https://openalex.org/W2138788987","https://openalex.org/W2154697693","https://openalex.org/W2160183719","https://openalex.org/W2163499368","https://openalex.org/W2163552400","https://openalex.org/W2208976468","https://openalex.org/W2285827435","https://openalex.org/W2293168108","https://openalex.org/W2469868625","https://openalex.org/W2492256179","https://openalex.org/W2562397426","https://openalex.org/W2572804059","https://openalex.org/W2611698539","https://openalex.org/W2738478951","https://openalex.org/W2744389017","https://openalex.org/W2752983867","https://openalex.org/W2753928047","https://openalex.org/W2761495671","https://openalex.org/W2767680799","https://openalex.org/W2777619085","https://openalex.org/W2798416929","https://openalex.org/W2798644064","https://openalex.org/W2805929662","https://openalex.org/W2887637582","https://openalex.org/W2896434942","https://openalex.org/W2898037052","https://openalex.org/W2898972062","https://openalex.org/W2899769134","https://openalex.org/W2904982962","https://openalex.org/W2905598133","https://openalex.org/W2911706275","https://openalex.org/W2914209329","https://openalex.org/W2955127932","https://openalex.org/W2963723316","https://openalex.org/W2974073952","https://openalex.org/W2979393298","https://openalex.org/W2979523740","https://openalex.org/W2979609173","https://openalex.org/W2980312990","https://openalex.org/W3032100144","https://openalex.org/W3036266772","https://openalex.org/W3045524630","https://openalex.org/W3099703838","https://openalex.org/W3101155261","https://openalex.org/W3121734556","https://openalex.org/W3123143760","https://openalex.org/W3160056598","https://openalex.org/W4234171087","https://openalex.org/W4237492309","https://openalex.org/W4240476803","https://openalex.org/W4243361021","https://openalex.org/W4244413641","https://openalex.org/W4246781209","https://openalex.org/W4249124297"],"related_works":["https://openalex.org/W2553223552","https://openalex.org/W2047694629","https://openalex.org/W2101264565","https://openalex.org/W34311366","https://openalex.org/W3141167149","https://openalex.org/W2078988604","https://openalex.org/W2044213223","https://openalex.org/W3139784857","https://openalex.org/W4254035807","https://openalex.org/W4386755271"],"abstract_inverted_index":{"Building":[0],"effective":[1],"symbolic":[2,21,40,71,97,106,116,144,157,213],"execution":[3,22,41,98,101,107,145,158],"engines":[4,159],"poses":[5],"challenges":[6],"in":[7,20,45,52,160],"multiple":[8],"dimensions:":[9],"an":[10],"engine":[11],"must":[12],"correctly":[13],"model":[14],"the":[15,46,49,105,115,125,129,143,150,204],"program":[16,127],"semantics,":[17,108],"provide":[18],"flexibility":[19],"strategies,":[23,99],"and":[24,38,81,121,152,174,207],"execute":[25],"them":[26],"efficiently.":[27],"This":[28],"paper":[29],"proposes":[30],"a":[31,55,78,85,135,161,169,179,211],"principled":[32],"approach":[33,167],"to":[34,65,95,104,124,155,178],"building":[35,156],"correct,":[36],"flexible,":[37],"efficient":[39,139],"engines,":[42],"directly":[43],"rooted":[44],"semantics":[47],"of":[48,54,70,90,182,201],"underlying":[50],"language":[51,172],"terms":[53],"high-level":[56],"definitional":[57,60,117],"interpreter.":[58],"The":[59],"interpreter":[61,118,214],"induces":[62],"algebraic":[63],"effects":[64,92],"abstract":[66],"over":[67,203,209],"semantic":[68],"variants":[69],"execution,":[72],"e.g.,":[73],"collecting":[74],"path":[75,82,192],"conditions":[76],"as":[77,84],"state":[79],"effect":[80,188],"exploration":[83],"nondeterminism":[86],"effect.":[87],"Different":[88],"handlers":[89,189],"these":[91],"give":[93],"rise":[94],"different":[96],"making":[100],"strategies":[102],"orthogonal":[103],"thus":[109],"improving":[110],"flexibility.":[111],"Furthermore,":[112],"by":[113],"annotating":[114],"with":[119],"binding-times":[120],"specializing":[122],"it":[123],"input":[126],"via":[128],"first":[130],"Futamura":[131],"projection,":[132],"we":[133],"obtain":[134],"\"symbolic":[136],"compiler\",":[137],"generating":[138],"instrumented":[140],"code":[141],"having":[142],"semantics.":[146],"Our":[147],"work":[148],"reconciles":[149],"interpretation-":[151],"instrumentation-based":[153],"approaches":[154],"uniform":[162],"framework.":[163],"We":[164,185],"illustrate":[165],"our":[166,196],"on":[168],"simple":[170],"imperative":[171],"step-by-step":[173],"then":[175],"scale":[176],"up":[177],"significant":[180],"subset":[181],"LLVM":[183,216],"IR.":[184,217],"also":[186],"show":[187],"for":[190,215],"common":[191],"selection":[193],"strategies.":[194],"Evaluating":[195],"prototype's":[197],"performance":[198],"shows":[199],"speedups":[200],"10~30x":[202],"unstaged":[205],"counterpart,":[206],"~2x":[208],"KLEE,":[210],"state-of-the-art":[212]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2021,"cited_by_count":4}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
