{"id":"https://openalex.org/W3033748891","doi":"https://doi.org/10.1145/3385412.3386001","title":"Semantic code search via equational reasoning","display_name":"Semantic code search via equational reasoning","publication_year":2020,"publication_date":"2020-06-07","ids":{"openalex":"https://openalex.org/W3033748891","doi":"https://doi.org/10.1145/3385412.3386001","mag":"3033748891"},"language":"en","primary_location":{"id":"doi:10.1145/3385412.3386001","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3385412.3386001","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3385412.3386001","source":null,"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 41st ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3385412.3386001","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5044011421","display_name":"Varot Premtoon","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Varot Premtoon","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5064054725","display_name":"James Koppel","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"James Koppel","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5010786661","display_name":"Armando Solar-Lezama","orcid":"https://orcid.org/0000-0001-7604-8252"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Armando Solar-Lezama","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5044011421"],"corresponding_institution_ids":["https://openalex.org/I63966007"],"apc_list":null,"apc_paid":null,"fwci":9.4579,"has_fulltext":true,"cited_by_count":48,"citation_normalized_percentile":{"value":0.97975495,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"1066","last_page":"1082"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9991000294685364,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9991000294685364,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9972000122070312,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9929999709129333,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8808544874191284},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.8669532537460327},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8087412118911743},{"id":"https://openalex.org/keywords/oracle","display_name":"Oracle","score":0.5882542729377747},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5722687840461731},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.5457266569137573},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.45880261063575745},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.43976590037345886},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.43020182847976685},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.42927515506744385},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.42410242557525635},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4039856195449829},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.12886351346969604}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8808544874191284},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.8669532537460327},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8087412118911743},{"id":"https://openalex.org/C55166926","wikidata":"https://www.wikidata.org/wiki/Q2892946","display_name":"Oracle","level":2,"score":0.5882542729377747},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5722687840461731},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.5457266569137573},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.45880261063575745},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.43976590037345886},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.43020182847976685},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.42927515506744385},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.42410242557525635},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4039856195449829},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.12886351346969604},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3385412.3386001","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3385412.3386001","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3385412.3386001","source":null,"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 41st ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:dspace.mit.edu:1721.1/136993","is_oa":true,"landing_page_url":"https://hdl.handle.net/1721.1/136993","pdf_url":null,"source":{"id":"https://openalex.org/S4306400425","display_name":"DSpace@MIT (Massachusetts Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I63966007","host_organization_name":"Massachusetts Institute of Technology","host_organization_lineage":["https://openalex.org/I63966007"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM","raw_type":"http://purl.org/eprint/type/ConferencePaper"}],"best_oa_location":{"id":"doi:10.1145/3385412.3386001","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3385412.3386001","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3385412.3386001","source":null,"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 41st ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.6499999761581421}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3033748891.pdf","grobid_xml":"https://content.openalex.org/works/W3033748891.grobid-xml"},"referenced_works_count":89,"referenced_works":["https://openalex.org/W54234307","https://openalex.org/W1588986231","https://openalex.org/W1815217284","https://openalex.org/W1971132977","https://openalex.org/W1973828066","https://openalex.org/W1975033347","https://openalex.org/W1982227016","https://openalex.org/W1986541713","https://openalex.org/W1988574803","https://openalex.org/W2006291142","https://openalex.org/W2011434643","https://openalex.org/W2021655726","https://openalex.org/W2021673689","https://openalex.org/W2033114255","https://openalex.org/W2041190309","https://openalex.org/W2055477538","https://openalex.org/W2060055745","https://openalex.org/W2078095352","https://openalex.org/W2083878868","https://openalex.org/W2090111344","https://openalex.org/W2094269821","https://openalex.org/W2096491586","https://openalex.org/W2097001189","https://openalex.org/W2100008736","https://openalex.org/W2100591395","https://openalex.org/W2106259924","https://openalex.org/W2107376583","https://openalex.org/W2107697055","https://openalex.org/W2112725702","https://openalex.org/W2115857898","https://openalex.org/W2116502002","https://openalex.org/W2117642462","https://openalex.org/W2119664062","https://openalex.org/W2120322286","https://openalex.org/W2125260159","https://openalex.org/W2131724884","https://openalex.org/W2134092629","https://openalex.org/W2134429122","https://openalex.org/W2136099030","https://openalex.org/W2144344516","https://openalex.org/W2151951885","https://openalex.org/W2152397470","https://openalex.org/W2153131284","https://openalex.org/W2153943889","https://openalex.org/W2154021641","https://openalex.org/W2157976942","https://openalex.org/W2158439356","https://openalex.org/W2162778607","https://openalex.org/W2164778826","https://openalex.org/W2169761331","https://openalex.org/W2169952536","https://openalex.org/W2175297521","https://openalex.org/W2247374552","https://openalex.org/W2286236884","https://openalex.org/W2298313545","https://openalex.org/W2412440871","https://openalex.org/W2442987006","https://openalex.org/W2444132761","https://openalex.org/W2511803001","https://openalex.org/W2520809601","https://openalex.org/W2547932336","https://openalex.org/W2622972021","https://openalex.org/W2627050930","https://openalex.org/W2739978563","https://openalex.org/W2742926802","https://openalex.org/W2754109047","https://openalex.org/W2794601162","https://openalex.org/W2805788202","https://openalex.org/W2807866521","https://openalex.org/W2808275365","https://openalex.org/W2895718634","https://openalex.org/W2897989157","https://openalex.org/W2900622615","https://openalex.org/W2922561674","https://openalex.org/W2954628458","https://openalex.org/W2956048495","https://openalex.org/W2968179027","https://openalex.org/W3015278611","https://openalex.org/W3104874136","https://openalex.org/W3105535951","https://openalex.org/W3125073197","https://openalex.org/W4229730107","https://openalex.org/W4232188856","https://openalex.org/W4246264663","https://openalex.org/W4246553962","https://openalex.org/W4247950230","https://openalex.org/W4256028358","https://openalex.org/W4294032360","https://openalex.org/W6726983684"],"related_works":["https://openalex.org/W2998381397","https://openalex.org/W4236419692","https://openalex.org/W650988184","https://openalex.org/W2162410319","https://openalex.org/W2137356287","https://openalex.org/W4321184925","https://openalex.org/W1483618713","https://openalex.org/W60915090","https://openalex.org/W2025840053","https://openalex.org/W2161692994"],"abstract_inverted_index":{"We":[0],"present":[1],"a":[2,31,44,65,99,105,128,132,137,148],"new":[3],"approach":[4,21],"to":[5],"semantic":[6],"code":[7,87,112,125],"search":[8],"based":[9],"on":[10,162],"equational":[11],"reasoning,":[12],"and":[13,167,171],"the":[14,27,35,120,163],"Yogo":[15,108,123,133,159],"tool":[16],"implementing":[17],"this":[18],"approach.":[19],"Our":[20,116],"works":[22],"by":[23,147],"considering":[24],"not":[25],"only":[26],"dataflow":[28,36],"graph":[29],"of":[30,38,46,91,102,122,157],"function,":[32],"but":[33,67],"also":[34],"graphs":[37],"all":[39],"equivalent":[40,111],"functions":[41],"reachable":[42],"via":[43],"set":[45],"rewrite":[47],"rules.":[48],"In":[49],"doing":[50],"so,":[51],"it":[52,59,83],"can":[53,84,109],"recognize":[54,85],"an":[55,89],"operation":[56],"even":[57],"if":[58],"uses":[60],"alternate":[61],"APIs,":[62],"is":[63,70,77,88,160],"in":[64,113,139],"different":[66],"mathematically-equivalent":[68],"form,":[69],"split":[71],"apart":[72],"with":[73,79],"temporary":[74],"variables,":[75],"or":[76],"interleaved":[78],"other":[80],"code.":[81],"Furthermore,":[82],"when":[86],"instance":[90],"some":[92],"higher-level":[93],"concept":[94],"such":[95],"as":[96,131],"iterating":[97],"through":[98],"file.":[100],"Because":[101],"this,":[103],"from":[104],"single":[106],"query,":[107,134],"find":[110],"multiple":[114],"languages.":[115],"evaluation":[117],"further":[118],"shows":[119],"utility":[121],"beyond":[124],"search:":[126],"encoding":[127],"buggy":[129],"pattern":[130],"we":[135],"found":[136],"bug":[138],"Oracle\u2019s":[140],"Graal":[141],"compiler":[142],"which":[143],"had":[144],"been":[145],"missed":[146],"hand-written":[149],"static":[150],"analyzer":[151],"designed":[152],"for":[153],"that":[154],"exact":[155],"kind":[156],"bug.":[158],"built":[161],"Cubix":[164],"multi-language":[165],"infrastructure,":[166],"currently":[168],"supports":[169],"Java":[170],"Python.":[172]},"counts_by_year":[{"year":2025,"cited_by_count":7},{"year":2024,"cited_by_count":7},{"year":2023,"cited_by_count":8},{"year":2022,"cited_by_count":15},{"year":2021,"cited_by_count":11}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
