{"id":"https://openalex.org/W1981532843","doi":"https://doi.org/10.1145/2814251.2814260","title":"Modular capture avoidance for program transformations","display_name":"Modular capture avoidance for program transformations","publication_year":2015,"publication_date":"2015-10-26","ids":{"openalex":"https://openalex.org/W1981532843","doi":"https://doi.org/10.1145/2814251.2814260","mag":"1981532843"},"language":"en","primary_location":{"id":"doi:10.1145/2814251.2814260","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814251.2814260","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering","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/A5089955318","display_name":"Nico Ritschel","orcid":"https://orcid.org/0000-0001-5600-2978"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Nico Ritschel","raw_affiliation_strings":["TU Darmstadt, Germany","[TU, Darmstadt, Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]},{"raw_affiliation_string":"[TU, Darmstadt, Germany]","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5059992246","display_name":"Sebastian Erdweg","orcid":"https://orcid.org/0000-0002-1974-5956"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sebastian Erdweg","raw_affiliation_strings":["TU Darmstadt, Germany","[TU, Darmstadt, Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]},{"raw_affiliation_string":"[TU, Darmstadt, Germany]","institution_ids":["https://openalex.org/I31512782"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I31512782"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"59","last_page":"70"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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/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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9986000061035156,"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.8402724266052246},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7592006325721741},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.6481552124023438},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6335156559944153},{"id":"https://openalex.org/keywords/variable","display_name":"Variable (mathematics)","score":0.6254345178604126},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5685046911239624},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5107169151306152},{"id":"https://openalex.org/keywords/identifier","display_name":"Identifier","score":0.4911210238933563},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.4706653356552124},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4583413600921631},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.22442841529846191},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.07838708162307739},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.07318973541259766}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8402724266052246},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7592006325721741},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.6481552124023438},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6335156559944153},{"id":"https://openalex.org/C182365436","wikidata":"https://www.wikidata.org/wiki/Q50701","display_name":"Variable (mathematics)","level":2,"score":0.6254345178604126},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5685046911239624},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5107169151306152},{"id":"https://openalex.org/C154504017","wikidata":"https://www.wikidata.org/wiki/Q853614","display_name":"Identifier","level":2,"score":0.4911210238933563},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.4706653356552124},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4583413600921631},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.22442841529846191},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.07838708162307739},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.07318973541259766},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2814251.2814260","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814251.2814260","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.725.882","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.725.882","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.informatik.uni-marburg.de/%7Eseba/publications/name-fix-modular.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W121159850","https://openalex.org/W178233638","https://openalex.org/W781995223","https://openalex.org/W1501465837","https://openalex.org/W1797366402","https://openalex.org/W1978948468","https://openalex.org/W1989877409","https://openalex.org/W2022475779","https://openalex.org/W2029786195","https://openalex.org/W2040581748","https://openalex.org/W2041042116","https://openalex.org/W2081723875","https://openalex.org/W2104789737","https://openalex.org/W2135785452","https://openalex.org/W2136110102","https://openalex.org/W2151073063","https://openalex.org/W2153887189","https://openalex.org/W2160231989","https://openalex.org/W2191031914","https://openalex.org/W2278011425","https://openalex.org/W2302326473","https://openalex.org/W2904205446","https://openalex.org/W2912858146","https://openalex.org/W4255025298"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W2072205733","https://openalex.org/W2395465245","https://openalex.org/W2101762871","https://openalex.org/W3176957927","https://openalex.org/W4296534969","https://openalex.org/W4312761314","https://openalex.org/W2476494490","https://openalex.org/W3194667890","https://openalex.org/W4231266416"],"abstract_inverted_index":{"The":[0],"application":[1,127],"of":[2,10,19,32,43,55,83,91,98,107,139,154],"program":[3],"transformations":[4],"and":[5,52,72,103,118,152],"refactorings":[6],"involves":[7],"the":[8,16,20,33,41,53,126,137],"risk":[9],"capturing":[11],"variables,":[12],"which":[13],"may":[14],"break":[15],"intended":[17],"semantics":[18],"transformed":[21],"code.":[22],"One":[23],"way":[24],"to":[25,62,87,101,123,128,144],"resolve":[26,146],"variable":[27,74,147],"capture":[28,75,148],"is":[29,46,58],"by":[30],"renaming":[31,42,54],"involved":[34],"identifiers.":[35],"However,":[36],"in":[37,85],"a":[38,49,79],"modular":[39],"context,":[40],"exported":[44,92,99],"declarations":[45,57,100,109],"undesirable":[47],"(affecting":[48],"module's":[50],"clients),":[51],"imported":[56,108],"impossible":[59],"(requiring":[60],"changes":[61],"third-party":[63],"modules).":[64],"We":[65,77],"present":[66],"an":[67],"algorithm":[68],"name-fix":[69,84,124],"that":[70,131],"detects":[71],"eliminates":[73],"modularly.":[76],"extend":[78],"previous":[80],"non-modular":[81],"version":[82],"order":[86],"(i)":[88],"minimize":[89],"renamings":[90,97,106],"declarations,":[93,120],"(ii)":[94],"propagate":[95],"necessary":[96],"clients,":[102],"(iii)":[104],"avoid":[105],"altogether.":[110],"Together":[111],"with":[112],"support":[113],"for":[114,149],"transitive":[115],"name":[116],"bindings":[117],"conflicting":[119],"our":[121],"extensions":[122],"enable":[125],"real-world":[129],"languages":[130],"feature":[132],"separate":[133],"compilation.":[134],"To":[135],"demonstrate":[136],"applicability":[138],"name-fix,":[140],"we":[141],"use":[142],"it":[143],"modularly":[145],"optimizations,":[150],"refactorings,":[151],"desugarings":[153],"Lightweight":[155],"Java.":[156]},"counts_by_year":[{"year":2017,"cited_by_count":1}],"updated_date":"2026-07-15T18:14:33.161393","created_date":"2025-10-10T00:00:00"}
