{"id":"https://openalex.org/W2159291506","doi":"https://doi.org/10.1109/cgo.2013.6495002","title":"Idempotent code generation: Implementation, analysis, and evaluation","display_name":"Idempotent code generation: Implementation, analysis, and evaluation","publication_year":2013,"publication_date":"2013-02-01","ids":{"openalex":"https://openalex.org/W2159291506","doi":"https://doi.org/10.1109/cgo.2013.6495002","mag":"2159291506"},"language":"en","primary_location":{"id":"doi:10.1109/cgo.2013.6495002","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2013.6495002","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"conference-paper","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/A5075837744","display_name":"Marc de Kruijf","orcid":null},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"M. de Kruijf","raw_affiliation_strings":["Google, Inc., USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Google, Inc., USA","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5028943049","display_name":"Karthikeyan Sankaralingam","orcid":"https://orcid.org/0000-0002-8315-2389"},"institutions":[{"id":"https://openalex.org/I135310074","display_name":"University of Wisconsin\u2013Madison","ror":"https://ror.org/01y2jtd41","country_code":"US","type":"education","lineage":["https://openalex.org/I135310074"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"K. Sankaralingam","raw_affiliation_strings":["University of Wisconsin-Madison, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Wisconsin-Madison, USA","institution_ids":["https://openalex.org/I135310074"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.9455,"has_fulltext":false,"cited_by_count":60,"citation_normalized_percentile":{"value":0.94556047,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"12"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9973999857902527,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9969000220298767,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/compiler","display_name":"Compiler","score":0.8291893601417542},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8159317970275879},{"id":"https://openalex.org/keywords/idempotence","display_name":"Idempotence","score":0.7180567979812622},{"id":"https://openalex.org/keywords/dead-code-elimination","display_name":"Dead code elimination","score":0.6289889216423035},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5924989581108093},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5812329649925232},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5420054793357849},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.48821714520454407},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.4634779393672943},{"id":"https://openalex.org/keywords/interprocedural-optimization","display_name":"Interprocedural optimization","score":0.4268327057361603},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.4118776321411133},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.3307194113731384},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.3224228620529175},{"id":"https://openalex.org/keywords/object-code","display_name":"Object code","score":0.17545640468597412},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.17005136609077454},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1040562093257904},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.09254863858222961}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8291893601417542},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8159317970275879},{"id":"https://openalex.org/C172252984","wikidata":"https://www.wikidata.org/wiki/Q368988","display_name":"Idempotence","level":2,"score":0.7180567979812622},{"id":"https://openalex.org/C2144512","wikidata":"https://www.wikidata.org/wiki/Q1143090","display_name":"Dead code elimination","level":5,"score":0.6289889216423035},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5924989581108093},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5812329649925232},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5420054793357849},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.48821714520454407},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4634779393672943},{"id":"https://openalex.org/C111564260","wikidata":"https://www.wikidata.org/wiki/Q4288856","display_name":"Interprocedural optimization","level":5,"score":0.4268327057361603},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.4118776321411133},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.3307194113731384},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.3224228620529175},{"id":"https://openalex.org/C154526789","wikidata":"https://www.wikidata.org/wiki/Q157965","display_name":"Object code","level":4,"score":0.17545640468597412},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.17005136609077454},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1040562093257904},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.09254863858222961},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/cgo.2013.6495002","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2013.6495002","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.269.5550","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.269.5550","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.wisc.edu/vertical/papers/2013/cgo13-idem.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","score":0.5199999809265137,"display_name":"Industry, innovation and infrastructure"}],"awards":[],"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":23,"referenced_works":["https://openalex.org/W35708471","https://openalex.org/W1491178396","https://openalex.org/W1721908487","https://openalex.org/W2042777048","https://openalex.org/W2044206819","https://openalex.org/W2078958381","https://openalex.org/W2084724480","https://openalex.org/W2106579652","https://openalex.org/W2108637333","https://openalex.org/W2123869284","https://openalex.org/W2134633067","https://openalex.org/W2145625133","https://openalex.org/W2153185479","https://openalex.org/W2163264184","https://openalex.org/W2198189844","https://openalex.org/W2273440736","https://openalex.org/W2472980127","https://openalex.org/W4239813889","https://openalex.org/W4241230807","https://openalex.org/W4245306667","https://openalex.org/W4246166885","https://openalex.org/W4300846441","https://openalex.org/W6827556345"],"related_works":["https://openalex.org/W2053033210","https://openalex.org/W2083681681","https://openalex.org/W1597127505","https://openalex.org/W4220800565","https://openalex.org/W2013570895","https://openalex.org/W2142079700","https://openalex.org/W2036668966","https://openalex.org/W2324321492","https://openalex.org/W2354612562","https://openalex.org/W2577630842"],"abstract_inverted_index":{"Leveraging":[0],"idempotence":[1,27],"for":[2,63,85],"efficient":[3],"recovery":[4,30],"is":[5,164,197],"of":[6,42,67,98,112,202],"emerging":[7],"interest":[8,201],"in":[9,95,118,131,205],"compiler":[10,133,168,195,212],"design.":[11],"In":[12,57,199],"particular,":[13],"identifying":[14],"semantically":[15],"idempotent":[16,68,104,155,188],"code":[17,22,65,69,114],"and":[18,49,71,129,157,160,214],"then":[19],"compiling":[20],"such":[21],"to":[23,127,147,166,190],"preserve":[24],"the":[25,40,64,96,109,119,132,174,185,200],"semantic":[26],"property":[28],"enables":[29],"with":[31,153],"substantially":[32],"lower":[33],"overheads":[34,93,170],"than":[35],"competing":[36],"software":[37],"techniques.":[38],"However,":[39,101],"efficacy":[41],"this":[43,58,191,206],"technique":[44],"depends":[45],"on":[46],"application-,":[47],"architecture-,":[48],"compiler-specific":[50],"factors":[51],"that":[52,90],"are":[53,78],"not":[54],"well":[55],"understood.":[56],"paper,":[59],"we":[60,88,150,208],"develop":[61],"algorithms":[62,74],"generation":[66],"regions":[70],"evaluate":[72],"these":[73,81,86],"considering":[75],"how":[76],"they":[77],"impacted":[79],"by":[80,115,125,145],"factors.":[82],"Without":[83],"optimizing":[84],"factors,":[87],"find":[89,151],"typical":[91],"performance":[92,111,124,144,169,181],"fall":[94],"range":[97],"roughly":[99],"10-15%.":[100],"manipulating":[102],"application":[103],"region":[105,156],"size":[106],"typically":[107],"improves":[108],"run-time":[110],"compiled":[113],"2-10%,":[116],"differences":[117],"architecture":[120],"instruction":[121],"set":[122],"affect":[123],"up":[126,146],"15%,":[128],"knowing":[130],"whether":[134],"control":[135],"flow":[136],"side-effects":[137],"can":[138,142],"or":[139],"cannot":[140],"occur":[141],"impact":[143],"10%.":[148],"Overall,":[149],"that,":[152],"small":[154],"careful":[158],"architecture-":[159],"application-specific":[161],"tuning,":[162],"it":[163,216],"possible":[165,187],"bring":[167],"consistently":[171],"down":[172],"into":[173],"single-digit":[175],"percentage":[176],"range.":[177],"The":[178],"absolute":[179],"best":[180],"occurs":[182],"when":[183],"constructing":[184],"largest":[186],"regions;":[189],"end,":[192],"however,":[193],"better":[194],"support":[196],"needed.":[198],"spurring":[203],"development":[204],"area,":[207],"open-source":[209],"our":[210],"LLVM":[211],"implementation":[213],"make":[215],"available":[217],"as":[218],"a":[219],"research":[220],"tool.":[221]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":7},{"year":2019,"cited_by_count":7},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":9},{"year":2015,"cited_by_count":8},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":4}],"updated_date":"2026-08-12T21:12:35.861297","created_date":"2025-10-10T00:00:00"}
