{"id":"https://openalex.org/W2134087751","doi":"https://doi.org/10.1145/1542476.1542513","title":"Proving optimizations correct using parameterized program equivalence","display_name":"Proving optimizations correct using parameterized program equivalence","publication_year":2009,"publication_date":"2009-06-15","ids":{"openalex":"https://openalex.org/W2134087751","doi":"https://doi.org/10.1145/1542476.1542513","mag":"2134087751"},"language":"en","primary_location":{"id":"doi:10.1145/1542476.1542513","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1542476.1542513","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5070554823","display_name":"S. Kundu","orcid":"https://orcid.org/0000-0001-6085-7186"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California, San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Sudipta Kundu","raw_affiliation_strings":["University of California, San Diego, San Diego, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, San Diego, San Diego, CA, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5042187082","display_name":"Zachary Tatlock","orcid":"https://orcid.org/0000-0002-4731-0124"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California, San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zachary Tatlock","raw_affiliation_strings":["University of California, San Diego, San Diego, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, San Diego, San Diego, CA, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043665959","display_name":"Sorin Lerner","orcid":"https://orcid.org/0000-0003-3957-0628"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California, San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sorin Lerner","raw_affiliation_strings":["University of California, San Diego, San Diego, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, San Diego, San Diego, CA, USA","institution_ids":["https://openalex.org/I36258959"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5070554823"],"corresponding_institution_ids":["https://openalex.org/I36258959"],"apc_list":null,"apc_paid":null,"fwci":6.3426,"has_fulltext":false,"cited_by_count":111,"citation_normalized_percentile":{"value":0.9691133,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"327","last_page":"337"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9997000098228455,"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.9997000098228455,"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.9994999766349792,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9991999864578247,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/parameterized-complexity","display_name":"Parameterized complexity","score":0.8976849913597107},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7654072046279907},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.6942119598388672},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5879823565483093},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.5862864255905151},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5217531323432922},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.48639944195747375},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.4816664457321167},{"id":"https://openalex.org/keywords/program-optimization","display_name":"Program optimization","score":0.4496033787727356},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.4329474866390228},{"id":"https://openalex.org/keywords/program-synthesis","display_name":"Program synthesis","score":0.4249942898750305},{"id":"https://openalex.org/keywords/semantic-equivalence","display_name":"Semantic equivalence","score":0.41048765182495117},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.39795440435409546},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.36956948041915894},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.35851842164993286},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.21322783827781677},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.16886353492736816},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.0915040373802185},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.08687043190002441}],"concepts":[{"id":"https://openalex.org/C165464430","wikidata":"https://www.wikidata.org/wiki/Q1570441","display_name":"Parameterized complexity","level":2,"score":0.8976849913597107},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7654072046279907},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.6942119598388672},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5879823565483093},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.5862864255905151},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5217531323432922},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.48639944195747375},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.4816664457321167},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.4496033787727356},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.4329474866390228},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.4249942898750305},{"id":"https://openalex.org/C37926939","wikidata":"https://www.wikidata.org/wiki/Q7449061","display_name":"Semantic equivalence","level":4,"score":0.41048765182495117},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.39795440435409546},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.36956948041915894},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.35851842164993286},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.21322783827781677},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.16886353492736816},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0915040373802185},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.08687043190002441},{"id":"https://openalex.org/C2129575","wikidata":"https://www.wikidata.org/wiki/Q54837","display_name":"Semantic Web","level":2,"score":0.0},{"id":"https://openalex.org/C511149849","wikidata":"https://www.wikidata.org/wiki/Q7449051","display_name":"Semantic computing","level":3,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1542476.1542513","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1542476.1542513","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.348.3828","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.348.3828","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.ucsd.edu/%7Eztatlock/pub/pec-kundu-pldi09.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.396.3177","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.396.3177","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://mesl.ucsd.edu/site/pubs/Kundu_PLDI09.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W258022877","https://openalex.org/W1503973138","https://openalex.org/W1506441957","https://openalex.org/W1519861553","https://openalex.org/W1538046926","https://openalex.org/W1892233740","https://openalex.org/W1981899763","https://openalex.org/W1984458638","https://openalex.org/W1990011664","https://openalex.org/W1992347193","https://openalex.org/W1994660988","https://openalex.org/W1998368317","https://openalex.org/W2000178662","https://openalex.org/W2008609084","https://openalex.org/W2035030296","https://openalex.org/W2040856861","https://openalex.org/W2042220347","https://openalex.org/W2043100293","https://openalex.org/W2045437741","https://openalex.org/W2050948770","https://openalex.org/W2055477538","https://openalex.org/W2065635796","https://openalex.org/W2081917916","https://openalex.org/W2088056808","https://openalex.org/W2097699872","https://openalex.org/W2114067856","https://openalex.org/W2125346056","https://openalex.org/W2129695855","https://openalex.org/W2144540543","https://openalex.org/W2149996206","https://openalex.org/W2158244922","https://openalex.org/W2421851683","https://openalex.org/W2911450990","https://openalex.org/W4247332426","https://openalex.org/W4300706075","https://openalex.org/W6630104300","https://openalex.org/W6677084613","https://openalex.org/W7055672630"],"related_works":["https://openalex.org/W2358267624","https://openalex.org/W2393471651","https://openalex.org/W2133860611","https://openalex.org/W2889000703","https://openalex.org/W2371501690","https://openalex.org/W3169195854","https://openalex.org/W2899265977","https://openalex.org/W2012436850","https://openalex.org/W2134222034","https://openalex.org/W2015995083"],"abstract_inverted_index":{"Translation":[0],"validation":[1,24,48],"is":[2,60,86],"a":[3,44,61,73,78,126,145,161],"technique":[4,124],"for":[5,113,147],"checking":[6],"that,":[7],"after":[8],"an":[9],"optimization":[10,19],"has":[11,25],"run,":[12],"the":[13,18,52,102,131,139,180,193],"input":[14],"and":[15,112,155,174],"output":[16],"of":[17,46,54,80,104,133,141,163,182],"are":[20,117],"equivalent.":[21,34],"Traditionally,":[22],"translation":[23,47],"been":[26],"used":[27,156,185],"to":[28,159,178,189],"prove":[29,51,101],"concrete,":[30],"fully":[31],"specified":[32,63],"programs":[33,97],"In":[35],"this":[36,157],"paper":[37],"we":[38,143,184,195],"present":[39],"Parameterized":[40],"Equivalence":[41],"Checking":[42],"(PEC),":[43],"generalization":[45],"that":[49,65,87,107,128,191],"can":[50,66,100,129],"equivalence":[53,132],"parameterized":[55,58,74,96,135],"programs.":[56,70,136],"A":[57],"program":[59,64,75,201],"partially":[62],"represent":[67,108],"multiple":[68],"concrete":[69],"For":[71],"example,":[72],"may":[76],"contain":[77],"section":[79],"code":[81],"whose":[82],"only":[83],"known":[84],"property":[85],"it":[88],"does":[89],"not":[90],"modify":[91],"certain":[92],"variables.":[93],"By":[94],"proving":[95],"equivalent,":[98],"PEC":[99,123,187],"correctness":[103],"transformation":[105],"rules":[106],"complex":[109,149],"optimizations":[110,150,164,194],"once":[111],"all,":[114],"before":[115],"they":[116],"ever":[118],"run.":[119],"We":[120],"implemented":[121,196],"our":[122,186,198],"in":[125,197],"tool":[127],"establish":[130],"two":[134],"To":[137],"highlight":[138],"power":[140],"PEC,":[142,183],"designed":[144],"language":[146,158,199],"implementing":[148],"using":[151],"many-to-many":[152],"rewrite":[153],"rules,":[154],"implement":[160],"variety":[162],"including":[165],"software":[166],"pipelining,":[167],"loop":[168,170,172,175],"unrolling,":[169],"unswitching,":[171],"interchange,":[173],"fusion.":[176],"Finally,":[177],"demonstrate":[179],"effectiveness":[181],"implementation":[188],"verify":[190],"all":[192],"preserve":[200],"behavior.":[202]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":10},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":10},{"year":2018,"cited_by_count":7},{"year":2017,"cited_by_count":13},{"year":2016,"cited_by_count":11},{"year":2015,"cited_by_count":7},{"year":2014,"cited_by_count":10},{"year":2013,"cited_by_count":7},{"year":2012,"cited_by_count":6}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
