{"id":"https://openalex.org/W1997147920","doi":"https://doi.org/10.1002/spe.4380231102","title":"Compile\u2010time copy elimination","display_name":"Compile\u2010time copy elimination","publication_year":1993,"publication_date":"1993-11-01","ids":{"openalex":"https://openalex.org/W1997147920","doi":"https://doi.org/10.1002/spe.4380231102","mag":"1997147920"},"language":"en","primary_location":{"id":"doi:10.1002/spe.4380231102","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.4380231102","pdf_url":null,"source":{"id":"https://openalex.org/S122199241","display_name":"Software Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Software: Practice and Experience","raw_type":"journal-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/A5032510993","display_name":"Peter Schnorf","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Peter Schnorf","raw_affiliation_strings":["Computer Systems Laboratory, Stanford University, Stanford, CA 94305\u20134055, U.S.A"],"affiliations":[{"raw_affiliation_string":"Computer Systems Laboratory, Stanford University, Stanford, CA 94305\u20134055, U.S.A","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083750533","display_name":"Mahadevan Ganapathi","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mahadevan Ganapathi","raw_affiliation_strings":["Computer Systems Laboratory, Stanford University, Stanford, CA 94305\u20134055, U.S.A"],"affiliations":[{"raw_affiliation_string":"Computer Systems Laboratory, Stanford University, Stanford, CA 94305\u20134055, U.S.A","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5022706180","display_name":"John L. Hennessy","orcid":"https://orcid.org/0000-0003-0356-1041"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"John L. Hennessy","raw_affiliation_strings":["Computer Systems Laboratory, Stanford University, Stanford, CA 94305\u20134055, U.S.A"],"affiliations":[{"raw_affiliation_string":"Computer Systems Laboratory, Stanford University, Stanford, CA 94305\u20134055, U.S.A","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5032510993"],"corresponding_institution_ids":["https://openalex.org/I97018004"],"apc_list":{"value":4220,"currency":"USD","value_usd":4220},"apc_paid":null,"fwci":0.3795,"has_fulltext":false,"cited_by_count":16,"citation_normalized_percentile":{"value":0.64366786,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"23","issue":"11","first_page":"1175","last_page":"1200"},"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.9994999766349792,"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.9994999766349792,"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/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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9994999766349792,"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/computer-science","display_name":"Computer science","score":0.8742547631263733},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.6812806725502014},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6609333753585815},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.5957015752792358},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.5324944257736206},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5231952667236328},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5051358342170715},{"id":"https://openalex.org/keywords/control-flow-graph","display_name":"Control flow graph","score":0.49927639961242676},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.49864745140075684},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.47129642963409424},{"id":"https://openalex.org/keywords/substructure","display_name":"Substructure","score":0.4633021950721741},{"id":"https://openalex.org/keywords/program-optimization","display_name":"Program optimization","score":0.45993876457214355},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.45735517144203186},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.44278568029403687},{"id":"https://openalex.org/keywords/data-flow-analysis","display_name":"Data-flow analysis","score":0.4219716489315033},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.42189091444015503},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3663017153739929},{"id":"https://openalex.org/keywords/data-flow-diagram","display_name":"Data flow diagram","score":0.23366263508796692},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.12115874886512756}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8742547631263733},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.6812806725502014},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6609333753585815},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.5957015752792358},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.5324944257736206},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5231952667236328},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5051358342170715},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.49927639961242676},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.49864745140075684},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.47129642963409424},{"id":"https://openalex.org/C99679407","wikidata":"https://www.wikidata.org/wiki/Q56761637","display_name":"Substructure","level":2,"score":0.4633021950721741},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.45993876457214355},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.45735517144203186},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.44278568029403687},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.4219716489315033},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.42189091444015503},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3663017153739929},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.23366263508796692},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.12115874886512756},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C66938386","wikidata":"https://www.wikidata.org/wiki/Q633538","display_name":"Structural engineering","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1002/spe.4380231102","is_oa":false,"landing_page_url":"https://doi.org/10.1002/spe.4380231102","pdf_url":null,"source":{"id":"https://openalex.org/S122199241","display_name":"Software Practice and Experience","issn_l":"0038-0644","issn":["0038-0644","1097-024X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320595","host_organization_name":"Wiley","host_organization_lineage":["https://openalex.org/P4310320595"],"host_organization_lineage_names":["Wiley"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Software: Practice and Experience","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":10,"referenced_works":["https://openalex.org/W30965247","https://openalex.org/W1495743387","https://openalex.org/W1552083324","https://openalex.org/W1982205631","https://openalex.org/W1986388229","https://openalex.org/W2001865102","https://openalex.org/W2031889887","https://openalex.org/W2058847156","https://openalex.org/W2098688018","https://openalex.org/W2172307690"],"related_works":["https://openalex.org/W2151163382","https://openalex.org/W1999711970","https://openalex.org/W2162436812","https://openalex.org/W4256382613","https://openalex.org/W2002789453","https://openalex.org/W3016804885","https://openalex.org/W2134222034","https://openalex.org/W1499096040","https://openalex.org/W1536215324","https://openalex.org/W2606660759"],"abstract_inverted_index":{"Abstract":[0],"Single\u2010assignment":[1],"and":[2,22,85,101,112],"functional":[3],"languages":[4,41],"have":[5],"value":[6],"semantics":[7],"that":[8,50,70],"do":[9],"not":[10],"permit":[11],"side\u2010effects.":[12],"This":[13,43],"lack":[14],"of":[15,20,55,91],"side\u2010effects":[16],"makes":[17],"automatic":[18],"detection":[19],"parallelism":[21],"optimization":[23],"for":[24],"data":[25,76],"locality":[26],"in":[27,38],"programs":[28],"much":[29],"easier.":[30],"However,":[31],"the":[32,52,81,115,132],"same":[33],"property":[34],"poses":[35],"a":[36,88,122],"challenge":[37],"implementing":[39],"these":[40],"efficiently.":[42],"paper":[44],"describes":[45],"an":[46,74],"optimizing":[47],"compiler":[48],"system":[49],"solves":[51],"key":[53],"problem":[54,82],"aggregate":[56],"copy":[57,119],"elimination.":[58],"The":[59],"methods":[60],"developed":[61],"rely":[62],"exclusively":[63],"on":[64,131],"compile\u2010time":[65],"algorithms,":[66],"including":[67],"interprocedural":[68],"analysis,":[69,87],"are":[71],"applied":[72],"to":[73,105,121],"intermediate":[75],"flow":[77],"representation.":[78],"By":[79],"dividing":[80],"into":[83],"update\u2010in\u2010place":[84],"build\u2010in\u2010place":[86],"small":[89],"set":[90],"relatively":[92],"simple":[93],"techniques\u2014edge":[94],"substitution,":[95],"graph":[96],"pattern":[97],"matching,":[98],"substructure":[99,102],"sharing":[100],"targeting\u2014was":[103],"found":[104],"be":[106],"very":[107,123],"powerful.":[108],"If":[109],"combined":[110],"properly":[111],"implemented":[113],"carefully,":[114],"algorithms":[116],"eliminate":[117],"unnecessary":[118],"operations":[120],"high":[124],"degree.":[125],"No":[126],"run\u2010time":[127],"overhead":[128],"is":[129],"imposed":[130],"compiled":[133],"programs.":[134]},"counts_by_year":[{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
