{"id":"https://openalex.org/W2546781636","doi":"https://doi.org/10.1145/2950290.2983944","title":"Automating repetitive code changes using examples","display_name":"Automating repetitive code changes using examples","publication_year":2016,"publication_date":"2016-11-01","ids":{"openalex":"https://openalex.org/W2546781636","doi":"https://doi.org/10.1145/2950290.2983944","mag":"2546781636"},"language":"en","primary_location":{"id":"doi:10.1145/2950290.2983944","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2950290.2983944","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering","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/A5052829449","display_name":"Reudismam Rolim de Sousa","orcid":"https://orcid.org/0000-0001-9728-0130"},"institutions":[{"id":"https://openalex.org/I41455075","display_name":"Universidade Federal de Campina Grande","ror":"https://ror.org/00eftnx64","country_code":"BR","type":"education","lineage":["https://openalex.org/I41455075"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Reudismam Rolim","raw_affiliation_strings":["Federal University of Campina Grande, Brazil"],"affiliations":[{"raw_affiliation_string":"Federal University of Campina Grande, Brazil","institution_ids":["https://openalex.org/I41455075"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5052829449"],"corresponding_institution_ids":["https://openalex.org/I41455075"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.15445256,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"1063","last_page":"1065"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"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":1.0,"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.9988999962806702,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9969000220298767,"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/codebase","display_name":"Codebase","score":0.8830218315124512},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8661367893218994},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.8440713882446289},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6581767797470093},{"id":"https://openalex.org/keywords/digital-subscriber-line","display_name":"Digital subscriber line","score":0.6377995610237122},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.6272236704826355},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.579720139503479},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.562468945980072},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5364924073219299},{"id":"https://openalex.org/keywords/ranking","display_name":"Ranking (information retrieval)","score":0.44606298208236694},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.44527536630630493},{"id":"https://openalex.org/keywords/program-synthesis","display_name":"Program synthesis","score":0.4157237410545349},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.33786290884017944},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2577599883079529},{"id":"https://openalex.org/keywords/information-retrieval","display_name":"Information retrieval","score":0.20967096090316772},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1874781847000122},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.1461644470691681},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.09822815656661987}],"concepts":[{"id":"https://openalex.org/C51929080","wikidata":"https://www.wikidata.org/wiki/Q2425187","display_name":"Codebase","level":3,"score":0.8830218315124512},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8661367893218994},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.8440713882446289},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6581767797470093},{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.6377995610237122},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.6272236704826355},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.579720139503479},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.562468945980072},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5364924073219299},{"id":"https://openalex.org/C189430467","wikidata":"https://www.wikidata.org/wiki/Q7293293","display_name":"Ranking (information retrieval)","level":2,"score":0.44606298208236694},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.44527536630630493},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.4157237410545349},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.33786290884017944},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2577599883079529},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.20967096090316772},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1874781847000122},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.1461644470691681},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.09822815656661987},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2950290.2983944","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2950290.2983944","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.44999998807907104}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W1498075971","https://openalex.org/W1577422779","https://openalex.org/W1791762382","https://openalex.org/W1966439887","https://openalex.org/W1973831620","https://openalex.org/W1982227016","https://openalex.org/W1988281920","https://openalex.org/W1988346254","https://openalex.org/W1999298208","https://openalex.org/W2039168567","https://openalex.org/W2045765932","https://openalex.org/W2060610732","https://openalex.org/W2062973095","https://openalex.org/W2073398506","https://openalex.org/W2090111344","https://openalex.org/W2101723202","https://openalex.org/W2132525863","https://openalex.org/W2144951274","https://openalex.org/W2160580192","https://openalex.org/W2166478491","https://openalex.org/W2913273467","https://openalex.org/W4230190751","https://openalex.org/W4237412827"],"related_works":["https://openalex.org/W4312691020","https://openalex.org/W2597601979","https://openalex.org/W89830103","https://openalex.org/W2889864133","https://openalex.org/W1936706003","https://openalex.org/W2955640403","https://openalex.org/W4287330506","https://openalex.org/W4226265053","https://openalex.org/W4221160381","https://openalex.org/W100507624"],"abstract_inverted_index":{"While":[0],"adding":[1],"features,":[2],"fixing":[3],"bugs,":[4],"or":[5],"refactoring":[6],"the":[7,59,65,72,78,88,93,130,134,139,162,168,170],"code,":[8],"developers":[9,39],"may":[10],"perform":[11,49],"repetitive":[12,27,50,141,152],"code":[13,61,160],"edits.":[14],"Although":[15],"Integrated":[16],"Development":[17],"Environments":[18],"(IDEs)":[19],"automate":[20],"some":[21,68],"transformations":[22,121],"such":[23],"as":[24,57,76],"renaming,":[25],"many":[26],"edits":[28,51,67],"are":[29],"performed":[30],"manually,":[31],"which":[32],"is":[33],"error-prone":[34],"and":[35,63,74,103],"time-consuming.":[36],"To":[37],"help":[38],"to":[40,48,86,118,128],"apply":[41],"these":[42],"edits,":[43],"we":[44],"propose":[45],"a":[46,98,109,148],"technique":[47,55,96,163],"using":[52,173],"examples.":[53,176],"The":[54,95],"receives":[56],"input":[58],"source":[60,159],"before":[62],"after":[64],"developer":[66],"target":[69,90],"locations":[70,91],"of":[71,137,150,167],"change":[73],"produces":[75],"output":[77],"top-ranked":[79],"program":[80,100,113,120,131],"transformation":[81,132,172],"that":[82],"can":[83],"be":[84],"applied":[85],"edit":[87,153],"remaining":[89],"in":[92,122,147,165],"codebase.":[94],"uses":[97],"state-of-the-art":[99],"synthesis":[101,116],"methodology":[102],"has":[104],"three":[105],"main":[106],"components:":[107],"a)":[108],"DSL":[110],"for":[111],"describing":[112],"transformations;":[114],"b)":[115],"algorithms":[117,127],"learn":[119],"this":[123],"DSL;":[124],"c)":[125],"ranking":[126],"select":[129],"with":[133],"higher":[135],"probability":[136],"performing":[138],"desired":[140],"edit.":[142],"In":[143],"our":[144],"preliminary":[145],"evaluation,":[146],"dataset":[149],"59":[151],"cases":[154],"taken":[155],"from":[156],"real":[157],"C#":[158],"repositories,":[161],"performed,":[164],"83%":[166],"cases,":[169],"intended":[171],"only":[174],"2.8":[175]},"counts_by_year":[{"year":2020,"cited_by_count":1}],"updated_date":"2026-04-17T18:11:37.981687","created_date":"2025-10-10T00:00:00"}
