Unprecedented Code Change Automation: The Fusion of LLMs and Transformation by Example

Software developers often repeat the same code changes within a project or across different projects. These repetitive changes are known as “code change patterns” (CPATs). Automating CPATs is crucial to expedite the software development process. While current Transformation by Example (TBE) techniqu...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings of the ACM on software engineering Jg. 1; H. FSE; S. 631 - 653
Hauptverfasser: Dilhara, Malinda, Bellur, Abhiram, Bryksin, Timofey, Dig, Danny
Format: Journal Article
Sprache:Englisch
Veröffentlicht: New York, NY, USA ACM 12.07.2024
Schlagworte:
ISSN:2994-970X, 2994-970X
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Software developers often repeat the same code changes within a project or across different projects. These repetitive changes are known as “code change patterns” (CPATs). Automating CPATs is crucial to expedite the software development process. While current Transformation by Example (TBE) techniques can automate CPATs, they are limited by the quality and quantity of the provided input examples. Thus, they miss transforming code variations that do not have the exact syntax, data-, or control-flow of the provided input examples, despite being semantically similar. Large Language Models (LLMs), pre-trained on extensive source code datasets, offer a potential solution. Harnessing the capability of LLMs to generate semantically equivalent, yet previously unseen variants of the original CPAT could significantly increase the effectiveness of TBE systems. In this paper, we first discover best practices for harnessing LLMs to generate code variants that meet three criteria: correctness (semantic equivalence to the original CPAT), usefulness (reflecting what developers typically write), and applicability (aligning with the primary intent of the original CPAT). We then implement these practices in our tool PyCraft, which synergistically combines static code analysis, dynamic analysis, and LLM capabilities. By employing chain-of-thought reasoning, PyCraft generates variations of input examples and comprehensive test cases that identify correct variations with an F-measure of 96.6%. Our algorithm uses feedback iteration to expand the original input examples by an average factor of 58x. Using these richly generated examples, we inferred transformation rules and then automated these changes, resulting in an increase of up to 39x, with an average increase of 14x in target codes compared to a previous state-of-the-art tool that relies solely on static analysis. We submitted patches generated by PyCraft to a range of projects, notably esteemed ones like microsoft/DeepSpeed and IBM/inFairness. Their developers accepted and merged 83% the 86 CPAT instances submitted through 44 pull requests. This confirms the usefulness of these changes.
AbstractList Software developers often repeat the same code changes within a project or across different projects. These repetitive changes are known as “code change patterns” (CPATs). Automating CPATs is crucial to expedite the software development process. While current Transformation by Example (TBE) techniques can automate CPATs, they are limited by the quality and quantity of the provided input examples. Thus, they miss transforming code variations that do not have the exact syntax, data-, or control-flow of the provided input examples, despite being semantically similar. Large Language Models (LLMs), pre-trained on extensive source code datasets, offer a potential solution. Harnessing the capability of LLMs to generate semantically equivalent, yet previously unseen variants of the original CPAT could significantly increase the effectiveness of TBE systems. In this paper, we first discover best practices for harnessing LLMs to generate code variants that meet three criteria: correctness (semantic equivalence to the original CPAT), usefulness (reflecting what developers typically write), and applicability (aligning with the primary intent of the original CPAT). We then implement these practices in our tool PyCraft, which synergistically combines static code analysis, dynamic analysis, and LLM capabilities. By employing chain-of-thought reasoning, PyCraft generates variations of input examples and comprehensive test cases that identify correct variations with an F-measure of 96.6%. Our algorithm uses feedback iteration to expand the original input examples by an average factor of 58x. Using these richly generated examples, we inferred transformation rules and then automated these changes, resulting in an increase of up to 39x, with an average increase of 14x in target codes compared to a previous state-of-the-art tool that relies solely on static analysis. We submitted patches generated by PyCraft to a range of projects, notably esteemed ones like microsoft/DeepSpeed and IBM/inFairness. Their developers accepted and merged 83% the 86 CPAT instances submitted through 44 pull requests. This confirms the usefulness of these changes.
ArticleNumber 29
Author Bellur, Abhiram
Dilhara, Malinda
Dig, Danny
Bryksin, Timofey
Author_xml – sequence: 1
  givenname: Malinda
  orcidid: 0000-0001-5471-7179
  surname: Dilhara
  fullname: Dilhara, Malinda
  email: malinda.malwala@colorado.edu
  organization: University of Colorado, Boulder, USA
– sequence: 2
  givenname: Abhiram
  orcidid: 0009-0008-7048-4406
  surname: Bellur
  fullname: Bellur, Abhiram
  email: Abhiram.Bellur@colorado.edu
  organization: University of Colorado, Boulder, USA
– sequence: 3
  givenname: Timofey
  orcidid: 0000-0001-9022-3563
  surname: Bryksin
  fullname: Bryksin, Timofey
  email: timofey.bryksin@jetbrains.com
  organization: JetBrains Research, Limassol, Cyprus
– sequence: 4
  givenname: Danny
  orcidid: 0000-0001-5046-2017
  surname: Dig
  fullname: Dig, Danny
  email: danny.dig@jetbrains.com
  organization: JetBrains Research - University of Colorado, Boulder, USA
BookMark eNpt0M9LwzAUB_AgCs45vHvKzVM1P9qm8TbKpkLFyybeSpq8uMqajKQD999b3RQRT-_Lex8ej3eGjp13gNAFJdeUptkNz1MusuwIjZiUaSIFeTn-lU_RJMY3QsjQoVSQEXpeuk0ADQZcDwaX3gAuV8q9Ap5ue9-pvvXuFi9WgOfbOGTsLa6qx4iVM3gRlIvWhz3DzQ7P3lW3WcM5OrFqHWFyqGO0nM8W5X1SPd09lNMqUZSxLBENJ4UVhRYibaAQTDHBjMwhJ40uNGeSZ1I11tjGilRqXhgNVg6UZjI3jI9Rst-rg48xgK11238d0wfVrmtK6s-_1Ie_DP7qj9-EtlNh94-83Eulux_0PfwAfB1rkA
CitedBy_id crossref_primary_10_1007_s10515_025_00500_0
Cites_doi 10.1145/3453478
10.1145/2568225.2568295
10.1145/3485538
10.1145/3474624.3474650
10.1145/1993316.1993537
10.1109/ICSME46990.2020.00098
10.1108/QROM-08-2016-1408
10.1145/3276954.3276960
10.1109/ICSE.2017.44
10.1145/3663529.3663803
10.1145/2902362
10.1109/TSE.2021.3128234
10.18653/v1
10.1109/ICSE43902.2021.00033
10.1109/ICSME52107.2021.00061
10.1109/IWESEP49350.2019.00016
10.1109/TSE.2020.2988396
10.1145/3062341.3062351
10.1109/ICSE.2013.6606596
10.1145/2884781.2884877
10.1145/3387905.3388608
10.1109/ASE56229.2023.00078
10.1145/3540250.3549143
10.1145/3360585
10.1145/2635868.2635901
10.1145/2568225.2568317
10.1145/3196398.3196445
10.1145/2000799.2000805
10.1145/3510003.3510115
10.1109/ICSE.2019.00089
10.14778/2977797.2977807
10.1145/3510003.3510225
10.1145/3314221.3314589
10.1007/s10664-021-10096-0
10.2307/2529310
10.1109/ICSE.2019.00072
10.1145/3360569
10.1109/ASE56229.2023.00117
10.1145/3276517
10.1145/2635868.2635898
10.1145/3387904.3389285
10.1109/ICPC.2019.00052
10.1145/3293882.3330571
10.1177/0049124113500475
10.1109/ASE51524.2021.9678615
10.1145/1062455.1062512
10.1109/WCRE.2013.6671308
10.1109/ICSE48619.2023.00091
10.1109/ASE.2008.44
ContentType Journal Article
Copyright Owner/Author
Copyright_xml – notice: Owner/Author
DBID AAYXX
CITATION
DOI 10.1145/3643755
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
CrossRef
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2994-970X
EndPage 653
ExternalDocumentID 10_1145_3643755
3643755
GrantInformation_xml – fundername: NSF
  grantid: CNS-1941898
  funderid: https://doi.org/10.13039/
GroupedDBID AAKMM
ACM
AEJOY
AKRVB
ALMA_UNASSIGNED_HOLDINGS
LHSKQ
M~E
AAYXX
CITATION
ROL
ID FETCH-LOGICAL-a1225-7b308f78c774be872a272d96e60bc8c329359abfdfbf749c38dcef9be81596d23
ISSN 2994-970X
IngestDate Sat Nov 29 07:50:29 EST 2025
Tue Nov 18 21:57:37 EST 2025
Mon Jul 14 20:49:06 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue FSE
Keywords Code Changes
Automation
Generative AI
Program by Example
Test Case Generation
Code Clone
Large Language Models
Machine Learning
Transformation by Example
Python
Language English
License This work is licensed under a Creative Commons Attribution International 4.0 License.
https://creativecommons.org/licenses/by/4.0
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a1225-7b308f78c774be872a272d96e60bc8c329359abfdfbf749c38dcef9be81596d23
ORCID 0009-0008-7048-4406
0000-0001-9022-3563
0000-0001-5471-7179
0000-0001-5046-2017
OpenAccessLink https://dl.acm.org/doi/10.1145/3643755
PageCount 23
ParticipantIDs crossref_citationtrail_10_1145_3643755
crossref_primary_10_1145_3643755
acm_primary_3643755
PublicationCentury 2000
PublicationDate 20240712
2024-07-12
PublicationDateYYYYMMDD 2024-07-12
PublicationDate_xml – month: 07
  year: 2024
  text: 20240712
  day: 12
PublicationDecade 2020
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationTitle Proceedings of the ACM on software engineering
PublicationTitleAbbrev ACM PACMSE
PublicationYear 2024
Publisher ACM
Publisher_xml – name: ACM
References Tattiya Sakulniwat, Raula Gaikovina Kula, Chaiyong Ragkhitwetsagul, Morakot Choetkiertikul, Thanwadee Sunetnanta, Dong Wang, Takashi Ishio, and Kenichi Matsumoto. 2019. Visualizing the Usage of Pythonic Idioms Over Time: A Case Study of the with open Idiom. https://doi.org/10.1109/IWESEP49350.2019.00016 10.1109/IWESEP49350.2019.00016
Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, and Anita Raja. 2021. An Empirical Study of Refactorings and Technical Debt in Machine Learning Systems. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE43902.2021.00033 10.1109/ICSE43902.2021.00033
Michael Pradel and Koushik Sen. 2018. DeepBugs: A Learning Approach to Name-Based Bug Detection. Proc. ACM Program. Lang., https://doi.org/10.1145/3276517 10.1145/3276517
David Wicks. 2017. The coding manual for qualitative researchers. Qualitative research in organizations and management: an international journal, https://doi.org/10.1108/QROM-08-2016-1408 10.1108/QROM-08-2016-1408
Reudismam Rolim, Gustavo Soares, Loris D’Antoni, Oleksandr Polozov, Sumit Gulwani, Rohit Gheyi, Ryo Suzuki, and Björn Hartmann. 2017. Learning Syntactic Program Transformations from Examples. In Proceedings of the 39th International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE.2017.44 10.1109/ICSE.2017.44
Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, brian ichter, Fei Xia, Ed Chi, Quoc V Le, and Denny Zhou. 2022. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.
Shuzheng Gao, Xin-Cheng Wen, Cuiyun Gao, Wenxuan Wang, Hongyu Zhang, and Michael R. Lyu. ASE 2023. What Makes Good In-context Demonstrations for Code Intelligence Tasks with LLMs? In Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). arxiv:2304.07575
Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, and Amanda Askell. 2020. Language models are few-shot learners. arXiv preprint arXiv:2005.14165.
Gabriel Poesia, Alex Polozov, Vu Le, Ashish Tiwari, Gustavo Soares, Christopher Meek, and Sumit Gulwani. 2021. Synchromesh: Reliable Code Generation from Pre-trained Language Models. In International Conference on Learning Representations. arxiv:2201.11227
André Hora, Nicolas Anquetil, Stéphane Ducasse, and Marco Tulio Valente. 2013. Mining system specific rules from change patterns. In 2013 20th Working Conference on Reverse Engineering (WCRE). https://doi.org/10.1109/WCRE.2013.6671308 10.1109/WCRE.2013.6671308
Reudismam Sousa, Gustavo Soares, Rohit Gheyi, Titus Barik, and Loris D’Antoni. 2021. Learning Quick Fixes from Code Repositories. SBES. https://doi.org/10.1145/3474624.3474650 10.1145/3474624.3474650
James Coplien. 1992. Advanced C++ Programming Styles and Idioms. Addison—W esley. Reading, MA.
Malinda Dilhara, Ameya Ketkar, and Danny Dig. 2021. Understanding Software-2.0: A Study of Machine Learning Library Usage and Evolution. ACM Trans. Softw. Eng. Methodol., issn:1049-331X https://doi.org/10.1145/3453478 10.1145/3453478
Malinda Dilhara, Danny Dig, and Ameya Ketkar. 2023. PYEVOLVE: Automating Frequent Code Changes in Python ML Systems. In 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE48619.2023.00091 10.1109/ICSE48619.2023.00091
Malinda Dilhara, Ameya Ketkar, Nikhith Sannidhi, and Danny Dig. 2022. Discovering Repetitive Code Changes in Python ML Systems. In Proceedings of the 44th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/3510003.3510225 10.1145/3510003.3510225
Zhiyu Fan and Xiang Gao. [n. d.]. Automated Repair of Programs from Large Language Models.
Xiang Gao, Arjun Radhakrishna, Gustavo Soares, Ridwan Shariffdeen, Sumit Gulwani, and Abhik Roychoudhury. 2021. APIfix: Output-Oriented Program Synthesis for Combating Breaking Changes in Libraries. Proc. ACM Program. Lang., https://doi.org/10.1145/3485538 10.1145/3485538
Houssem Ben Braiek, Foutse Khomh, and Bram Adams. 2018. The open-closed principle of modern machine learning frameworks. In Proceedings of the 15th International Conference on Mining Software Repositories (MSR). https://doi.org/10.1145/3196398.3196445 10.1145/3196398.3196445
Luis Serrano, Vu Anh Nguyen, Ferdian Thung, Lianghao Jiang, David Lo, Julia Lawall, and Gilles Muller. 2020. SPINFER: Inferring Semantic Patches for the Linux Kernel. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC). https://www.usenix.org/conference/atc20/presentation/serrano
Zejun Zhang, Zhenchang Xing, Xin Xia, Xiwei Xu, and Liming Zhu. 2022. Making Python code idiomatic by automatic refactoring non-idiomatic Python code with pythonic idioms. In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). https://doi.org/10.1145/3540250.3549143 10.1145/3540250.3549143
Aleksandra Eliseeva, Yaroslav Sokolov, Egor Bogomolov, Yaroslav Golubev, Danny Dig, and Timofey Bryksin. 2023. From Commit Message Generation to History-Aware Commit Message Completion. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE56229.2023.00078 10.1109/ASE56229.2023.00078
Matej Balog, Alexander L. Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. 2016. DeepCoder: Learning to Write Programs. ArXiv.
Stas Negara, Mihai Codoban, Danny Dig, and Ralph E. Johnson. 2014. Mining Fine-Grained Code Changes to Detect Unknown Change Patterns. In Proceedings of the 36th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/2568225.2568317 10.1145/2568225.2568317
Anders Miltner, Sumit Gulwani, Vu Le, Alan Leung, Arjun Radhakrishna, Gustavo Soares, Ashish Tiwari, and Abhishek Udupa. 2019. On the Fly Synthesis of Edit Suggestions. Proc. ACM Program. Lang., https://doi.org/10.1145/3360569 10.1145/3360569
Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xiaocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang, and Ming Zhou. 2020. CodeBERT: A Pre-Trained Model for Programming and Natural Languages. In Findings of the Association for Computational Linguistics: EMNLP 2020. https://doi.org/10.18653/v1/2020.findings-emnlp.139 10.18653/v1/2020.findings-emnlp.139
Yu Feng, Ruben Martins, Jacob Van Geffen, Isil Dillig, and Swarat Chaudhuri. 2017. Component-Based Synthesis of Table Consolidation and Transformation Tasks from Examples. PLDI. https://doi.org/10.1145/3062341.3062351 10.1145/3062341.3062351
Dorin Pomian, Abhiram Bellur, Malinda Dilhara, Zarina Kurbatova, Egor Bogomolov, Timofey Bryksin, and Danny Dig. 2024. Together We Go Further: LLMs and IDE Static Analysis for Extract Method Refactoring. arxiv:2401.15298.
Hitesh Sajnani, Vaibhav Saini, Jeffrey Svajlenko, Chanchal K. Roy, and Cristina V. Lopes. 2016. SourcererCC: Scaling Code Clone Detection to Big-Code. In Proceedings of the 38th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/2884781.2884877 10.1145/2884781.2884877
Tongjie Wang, Yaroslav Golubev, Oleg Smirnov, Jiawei Li, Timofey Bryksin, and Iftekhar Ahmed. 2021. PyNose: A Test Smell Detector For Python. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE51524.2021.9678615 10.1109/ASE51524.2021.9678615
PyCraft-Authors. 2023. PyCraft. https://pycrafttool.github.io Accessed: 2024-02-26
Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, and Syed Ahmed. 2019. Safe Automated Refactoring for Intelligent Parallelization of Java 8 Streams. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE.2019.00072 10.1109/ICSE.2019.00072
Abram Hindle, Earl T. Barr, Mark Gabel, Zhendong Su, and Premkumar Devanbu. 2016. On the Naturalness of Software. Commun. ACM, issn:0001-0782 https://doi.org/10.1145/2902362 10.1145/2902362
Shengzhe Xu, Ziqi Dong, and Na Meng. 2019. Meditor: Inference and Application of API Migration Edits. In 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC). https://doi.org/10.1109/ICPC.2019.00052 10.1109/ICPC.2019.00052
Stefanus A. Haryono, Ferdian Thung, Hong Jin Kang, Lucas Serrano, Gilles Muller, Julia Lawall, David Lo, and Lingxiao Jiang. 2020. Automatic Android Deprecated-API Usage Update by Learning from Single Updated Example. In Proceedings of the 28th International Conference on Program Comprehension (ICPC). https://doi.org/10.1145/3387904.3389285 10.1145/3387904.3389285
Stefanus A. Haryono, Ferdian Thung, David Lo, Lingxiao Jiang, Julia Lawall, Hong Jin Kang, Lucas Serrano, and Gilles Muller. 2022. AndroEvolve: Automated Android API Update with Data Flow Analysis and Variable Denormalization. Empirical Software Engineering, issn:1573-7616 https://doi.org/10.1007/s10664-021-10096-0 10.1007/s10664-021-10096-0
Mattia Fazzini, Qi Xin, and Alessandro Orso. 2019. Automated API-Usage Update for Android Apps. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). https://doi.org/10.1145/3293882.3330571 10.1145/3293882.3330571
Maxime Lamothe, Weiyi Shang, and Tse-Hsun Peter Chen. 2022. A3: Assisting Android API Migrations Using Code Examples. IEEE Transactions on Software Engineering, https://doi.org/10.1109/TSE.2020.2988396 10.1109/TSE.2020.2988396
Daniel Ramos, Hailie Mitchell, Inês Lynce, Vasco Manquinho, Ruben Martins, and Claire Le Goues. 2023. MELT: Mining Effective Lightweight Transformations from Pull Requests. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE56229.2023.00117 10.1109/ASE56229.2023.00117
OpenAI. 2023. GPT-4 Technical Report. arXiv preprint arXiv:2303.08774.
Johannes Henkel and Amer Diwan. 2005. CatchUp! Capturing and Replaying Refactorings to Support API Evolution. In Proceedings of
e_1_2_1_60_1
Serrano Luis (e_1_2_1_55_1) 2020
e_1_2_1_20_1
e_1_2_1_41_1
e_1_2_1_66_1
e_1_2_1_62_1
Google (e_1_2_1_1_1) 2023
e_1_2_1_22_1
e_1_2_1_43_1
e_1_2_1_64_1
e_1_2_1_28_1
e_1_2_1_49_1
e_1_2_1_26_1
e_1_2_1_47_1
e_1_2_1_31_1
e_1_2_1_54_1
e_1_2_1_8_1
e_1_2_1_6_1
e_1_2_1_35_1
e_1_2_1_50_1
e_1_2_1_4_1
e_1_2_1_10_1
e_1_2_1_33_1
e_1_2_1_52_1
e_1_2_1_2_1
e_1_2_1_16_1
e_1_2_1_39_1
e_1_2_1_14_1
e_1_2_1_37_1
e_1_2_1_58_1
e_1_2_1_18_1
e_1_2_1_65_1
e_1_2_1_40_1
e_1_2_1_67_1
e_1_2_1_23_1
e_1_2_1_46_1
e_1_2_1_61_1
e_1_2_1_21_1
e_1_2_1_44_1
e_1_2_1_27_1
e_1_2_1_25_1
e_1_2_1_48_1
Wei Jason (e_1_2_1_63_1) 2022
e_1_2_1_29_1
Coplien James (e_1_2_1_12_1)
Gao Shuzheng (e_1_2_1_24_1) 2023
Poesia Gabriel (e_1_2_1_45_1) 2021
e_1_2_1_7_1
e_1_2_1_30_1
e_1_2_1_5_1
Sidong Feng (e_1_2_1_56_1) 2024
e_1_2_1_57_1
e_1_2_1_3_1
e_1_2_1_13_1
e_1_2_1_34_1
e_1_2_1_51_1
e_1_2_1_11_1
e_1_2_1_32_1
e_1_2_1_53_1
e_1_2_1_17_1
e_1_2_1_38_1
e_1_2_1_15_1
e_1_2_1_36_1
e_1_2_1_59_1
e_1_2_1_9_1
e_1_2_1_19_1
References_xml – reference: Dorin Pomian, Abhiram Bellur, Malinda Dilhara, Zarina Kurbatova, Egor Bogomolov, Timofey Bryksin, and Danny Dig. 2024. Together We Go Further: LLMs and IDE Static Analysis for Extract Method Refactoring. arxiv:2401.15298.
– reference: Tongjie Wang, Yaroslav Golubev, Oleg Smirnov, Jiawei Li, Timofey Bryksin, and Iftekhar Ahmed. 2021. PyNose: A Test Smell Detector For Python. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE51524.2021.9678615 10.1109/ASE51524.2021.9678615
– reference: Stefanus A. Haryono, Ferdian Thung, Hong Jin Kang, Lucas Serrano, Gilles Muller, Julia Lawall, David Lo, and Lingxiao Jiang. 2020. Automatic Android Deprecated-API Usage Update by Learning from Single Updated Example. In Proceedings of the 28th International Conference on Program Comprehension (ICPC). https://doi.org/10.1145/3387904.3389285 10.1145/3387904.3389285
– reference: Tattiya Sakulniwat, Raula Gaikovina Kula, Chaiyong Ragkhitwetsagul, Morakot Choetkiertikul, Thanwadee Sunetnanta, Dong Wang, Takashi Ishio, and Kenichi Matsumoto. 2019. Visualizing the Usage of Pythonic Idioms Over Time: A Case Study of the with open Idiom. https://doi.org/10.1109/IWESEP49350.2019.00016 10.1109/IWESEP49350.2019.00016
– reference: Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xiaocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang, and Ming Zhou. 2020. CodeBERT: A Pre-Trained Model for Programming and Natural Languages. In Findings of the Association for Computational Linguistics: EMNLP 2020. https://doi.org/10.18653/v1/2020.findings-emnlp.139 10.18653/v1/2020.findings-emnlp.139
– reference: Malinda Dilhara, Ameya Ketkar, and Danny Dig. 2021. Understanding Software-2.0: A Study of Machine Learning Library Usage and Evolution. ACM Trans. Softw. Eng. Methodol., issn:1049-331X https://doi.org/10.1145/3453478 10.1145/3453478
– reference: Mattia Fazzini, Qi Xin, and Alessandro Orso. 2019. Automated API-Usage Update for Android Apps. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). https://doi.org/10.1145/3293882.3330571 10.1145/3293882.3330571
– reference: Yu Feng, Ruben Martins, Jacob Van Geffen, Isil Dillig, and Swarat Chaudhuri. 2017. Component-Based Synthesis of Table Consolidation and Transformation Tasks from Examples. PLDI. https://doi.org/10.1145/3062341.3062351 10.1145/3062341.3062351
– reference: Stefanus A. Haryono, Ferdian Thung, David Lo, Lingxiao Jiang, Julia Lawall, Hong Jin Kang, Lucas Serrano, and Gilles Muller. 2022. AndroEvolve: Automated Android API Update with Data Flow Analysis and Variable Denormalization. Empirical Software Engineering, issn:1573-7616 https://doi.org/10.1007/s10664-021-10096-0 10.1007/s10664-021-10096-0
– reference: Hitesh Sajnani, Vaibhav Saini, Jeffrey Svajlenko, Chanchal K. Roy, and Cristina V. Lopes. 2016. SourcererCC: Scaling Code Clone Detection to Big-Code. In Proceedings of the 38th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/2884781.2884877 10.1145/2884781.2884877
– reference: Rishabh Singh. 2016. BlinkFill: Semi-Supervised Programming by Example for Syntactic String Transformations. Proc. VLDB Endow., issn:2150-8097 https://doi.org/10.14778/2977797.2977807 10.14778/2977797.2977807
– reference: Aleksandra Eliseeva, Yaroslav Sokolov, Egor Bogomolov, Yaroslav Golubev, Danny Dig, and Timofey Bryksin. 2023. From Commit Message Generation to History-Aware Commit Message Completion. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE56229.2023.00078 10.1109/ASE56229.2023.00078
– reference: Maxime Lamothe, Weiyi Shang, and Tse-Hsun Peter Chen. 2022. A3: Assisting Android API Migrations Using Code Examples. IEEE Transactions on Software Engineering, https://doi.org/10.1109/TSE.2020.2988396 10.1109/TSE.2020.2988396
– reference: Jialu Zhang, José Cambronero, Sumit Gulwani, Vu Le, Ruzica Piskac, Gustavo Soares, and Gust Verbruggen. 2022. Repairing bugs in python assignments using large language models. arXiv preprint arXiv:2209.14876.
– reference: Reudismam Rolim, Gustavo Soares, Loris D’Antoni, Oleksandr Polozov, Sumit Gulwani, Rohit Gheyi, Ryo Suzuki, and Björn Hartmann. 2017. Learning Syntactic Program Transformations from Examples. In Proceedings of the 39th International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE.2017.44 10.1109/ICSE.2017.44
– reference: Malinda Dilhara, Ameya Ketkar, Nikhith Sannidhi, and Danny Dig. 2022. Discovering Repetitive Code Changes in Python ML Systems. In Proceedings of the 44th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/3510003.3510225 10.1145/3510003.3510225
– reference: David Wicks. 2017. The coding manual for qualitative researchers. Qualitative research in organizations and management: an international journal, https://doi.org/10.1108/QROM-08-2016-1408 10.1108/QROM-08-2016-1408
– reference: Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, brian ichter, Fei Xia, Ed Chi, Quoc V Le, and Denny Zhou. 2022. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.
– reference: Feng Sidong and Chen Chunyang. 2024. Prompting Is All Your Need: Automated Android Bug Replay with Large Language Models. In Proceedings of the 46th International Conference on Software Engineering (ICSE).
– reference: André Hora, Nicolas Anquetil, Stéphane Ducasse, and Marco Tulio Valente. 2013. Mining system specific rules from change patterns. In 2013 20th Working Conference on Reverse Engineering (WCRE). https://doi.org/10.1109/WCRE.2013.6671308 10.1109/WCRE.2013.6671308
– reference: Na Meng, Miryung Kim, and Kathryn S. McKinley. 2011. Systematic Editing: Generating Program Transformations from an Example. SIGPLAN Not., issn:0362-1340 https://doi.org/10.1145/1993316.1993537 10.1145/1993316.1993537
– reference: Stas Negara, Mihai Codoban, Danny Dig, and Ralph E. Johnson. 2014. Mining Fine-Grained Code Changes to Detect Unknown Change Patterns. In Proceedings of the 36th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/2568225.2568317 10.1145/2568225.2568317
– reference: Luis Serrano, Vu Anh Nguyen, Ferdian Thung, Lianghao Jiang, David Lo, Julia Lawall, and Gilles Muller. 2020. SPINFER: Inferring Semantic Patches for the Linux Kernel. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC). https://www.usenix.org/conference/atc20/presentation/serrano
– reference: J. Richard Landis and Gary G. Koch. 1977. The Measurement of Observer Agreement for Categorical Data. Biometrics, https://doi.org/10.2307/2529310 10.2307/2529310
– reference: Matej Balog, Alexander L. Gaunt, Marc Brockschmidt, Sebastian Nowozin, and Daniel Tarlow. 2016. DeepCoder: Learning to Write Programs. ArXiv.
– reference: Houssem Ben Braiek, Foutse Khomh, and Bram Adams. 2018. The open-closed principle of modern machine learning frameworks. In Proceedings of the 15th International Conference on Mining Software Repositories (MSR). https://doi.org/10.1145/3196398.3196445 10.1145/3196398.3196445
– reference: Ameya Ketkar, Oleg Smirnov, Nikolaos Tsantalis, Danny Dig, and Timofey Bryksin. 2022. Inferring and Applying Type Changes. In Proceedings of the 44th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/3510003.3510115 10.1145/3510003.3510115
– reference: OpenAI. 2023. OpenAI Codex. https://openai.com/blog/openai-codex
– reference: Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, and Amanda Askell. 2020. Language models are few-shot learners. arXiv preprint arXiv:2005.14165.
– reference: Zhiyu Fan and Xiang Gao. [n. d.]. Automated Repair of Programs from Large Language Models.
– reference: Xiang Gao, Arjun Radhakrishna, Gustavo Soares, Ridwan Shariffdeen, Sumit Gulwani, and Abhik Roychoudhury. 2021. APIfix: Output-Oriented Program Synthesis for Combating Breaking Changes in Libraries. Proc. ACM Program. Lang., https://doi.org/10.1145/3485538 10.1145/3485538
– reference: Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, and Anita Raja. 2021. An Empirical Study of Refactorings and Technical Debt in Machine Learning Systems. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE43902.2021.00033 10.1109/ICSE43902.2021.00033
– reference: Stefanus A. Haryono, Ferdian Thung, David Lo, Julia Lawall, and Lingxiao Jiang. 2021. MLCatchUp: Automated Update of Deprecated Machine-Learning APIs in Python. In 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME). https://doi.org/10.1109/ICSME52107.2021.00061 10.1109/ICSME52107.2021.00061
– reference: Shuzheng Gao, Xin-Cheng Wen, Cuiyun Gao, Wenxuan Wang, Hongyu Zhang, and Michael R. Lyu. ASE 2023. What Makes Good In-context Demonstrations for Code Intelligence Tasks with LLMs? In Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). arxiv:2304.07575
– reference: J. Andersen and J. L. Lawall. 2008. Generic Patch Inference. In Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE.2008.44 10.1109/ASE.2008.44
– reference: Mattia Fazzini, Qi Xin, and Alessandro Orso. 2020. APIMigrator: An API-Usage Migration Tool for Android Apps. In Proceedings of the IEEE/ACM 7th International Conference on Mobile Software Engineering and Systems (MOBILESoft). https://doi.org/10.1145/3387905.3388608 10.1145/3387905.3388608
– reference: Hoan Anh Nguyen, Tien N. Nguyen, Danny Dig, Son Nguyen, Hieu Tran, and Michael Hilton. 2019. Graph-Based Mining of in-the-Wild, Fine-Grained, Semantic Code Change Patterns. ICSE. https://doi.org/10.1109/ICSE.2019.00089 10.1109/ICSE.2019.00089
– reference: OpenAI. 2023. GPT-4 Technical Report. arXiv preprint arXiv:2303.08774.
– reference: Reudismam Sousa, Gustavo Soares, Rohit Gheyi, Titus Barik, and Loris D’Antoni. 2021. Learning Quick Fixes from Code Repositories. SBES. https://doi.org/10.1145/3474624.3474650 10.1145/3474624.3474650
– reference: Shengzhe Xu, Ziqi Dong, and Na Meng. 2019. Meditor: Inference and Application of API Migration Edits. In 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC). https://doi.org/10.1109/ICPC.2019.00052 10.1109/ICPC.2019.00052
– reference: Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, and Syed Ahmed. 2019. Safe Automated Refactoring for Intelligent Parallelization of Java 8 Streams. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE.2019.00072 10.1109/ICSE.2019.00072
– reference: Anders Miltner, Sumit Gulwani, Vu Le, Alan Leung, Arjun Radhakrishna, Gustavo Soares, Ashish Tiwari, and Abhishek Udupa. 2019. On the Fly Synthesis of Edit Suggestions. Proc. ACM Program. Lang., https://doi.org/10.1145/3360569 10.1145/3360569
– reference: Rijnard van Tonder and Claire Le Goues. 2019. Lightweight Multi-Language Syntax Transformation with Parser Parser Combinators. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). https://doi.org/10.1145/3314221.3314589 10.1145/3314221.3314589
– reference: Barthélémy Dagenais and Martin P. Robillard. 2011. Recommending Adaptive Changes for Framework Evolution. ACM Trans. Softw. Eng. Methodol., issn:1049-331X https://doi.org/10.1145/2000799.2000805 10.1145/2000799.2000805
– reference: Robert Dyer, Hridesh Rajan, Hoan Anh Nguyen, and Tien N. Nguyen. 2014. Mining Billions of AST Nodes to Study Actual and Potential Usage of Java Language Features. In Proceedings of the 36th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/2568225.2568295 10.1145/2568225.2568295
– reference: Yue Wang, Weishi Wang, Shafiq Joty, and Steven C.H. Hoi. 2021. CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation. https://doi.org/10.18653/v1/2021.emnlp-main.685 10.18653/v1/2021.emnlp-main.685
– reference: Na Meng, Miryung Kim, and Kathryn S. McKinley. 2013. LASE: Locating and Applying Systematic Edits by Learning from Examples. In Proceedings of the 2013 International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE.2013.6606596 10.1109/ICSE.2013.6606596
– reference: PyCraft-Authors. 2023. PyCraft. https://pycrafttool.github.io Accessed: 2024-02-26
– reference: Daniel Ramos, Hailie Mitchell, Inês Lynce, Vasco Manquinho, Ruben Martins, and Claire Le Goues. 2023. MELT: Mining Effective Lightweight Transformations from Pull Requests. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). https://doi.org/10.1109/ASE56229.2023.00117 10.1109/ASE56229.2023.00117
– reference: Earl T. Barr, Yuriy Brun, Premkumar Devanbu, Mark Harman, and Federica Sarro. 2014. The Plastic Surgery Hypothesis. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE). https://doi.org/10.1145/2635868.2635898 10.1145/2635868.2635898
– reference: James Coplien. 1992. Advanced C++ Programming Styles and Idioms. Addison—W esley. Reading, MA.
– reference: Johannes Bader, Andrew Scott, Michael Pradel, and Satish Chandra. 2019. Getafix: Learning to Fix Bugs Automatically. Proc. ACM Program. Lang., https://doi.org/10.1145/3360585 10.1145/3360585
– reference: Dorin Pomian, Abhiram Bellur, Malinda Dilhara, Zarina Kurbatova, Egor Bogomolov, Andrey Sokolov, Timofey Bryksin, and Danny Dig. 2024. EM-Assist: Safe Automated ExtractMethod Refactoring with LLMs. arxiv:2405.20551.
– reference: Johannes Henkel and Amer Diwan. 2005. CatchUp! Capturing and Replaying Refactorings to Support API Evolution. In Proceedings of the 27th International Conference on Software Engineering (ICSE). https://doi.org/10.1145/1062455.1062512 10.1145/1062455.1062512
– reference: Google AI. 2023. Google Bard: An Early Experiment with Generative AI. https://ai.google/static/documents/google-about-bard.pdf
– reference: Carol V. Alexandru, José J. Merchante, Sebastiano Panichella, Sebastian Proksch, Harald C. Gall, and Gregorio Robles. 2018. On the usage of pythonic idioms. In Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2018). https://doi.org/10.1145/3276954.3276960 10.1145/3276954.3276960
– reference: Zejun Zhang, Zhenchang Xing, Xin Xia, Xiwei Xu, and Liming Zhu. 2022. Making Python code idiomatic by automatic refactoring non-idiomatic Python code with pythonic idioms. In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). https://doi.org/10.1145/3540250.3549143 10.1145/3540250.3549143
– reference: Malinda Dilhara, Danny Dig, and Ameya Ketkar. 2023. PYEVOLVE: Automating Frequent Code Changes in Python ML Systems. In 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). https://doi.org/10.1109/ICSE48619.2023.00091 10.1109/ICSE48619.2023.00091
– reference: Miltiadis Allamanis and Charles Sutton. 2014. Mining Idioms from Source Code. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE). https://doi.org/10.1145/2635868.2635901 10.1145/2635868.2635901
– reference: Gabriel Poesia, Alex Polozov, Vu Le, Ashish Tiwari, Gustavo Soares, Christopher Meek, and Sumit Gulwani. 2021. Synchromesh: Reliable Code Generation from Pre-trained Language Models. In International Conference on Learning Representations. arxiv:2201.11227
– reference: Abram Hindle, Earl T. Barr, Mark Gabel, Zhendong Su, and Premkumar Devanbu. 2016. On the Naturalness of Software. Commun. ACM, issn:0001-0782 https://doi.org/10.1145/2902362 10.1145/2902362
– reference: Anders Hovmöller. 2023. mutmut - python mutation tester. https://github.com/boxed/mutmut
– reference: John L Campbell, Charles Quincy, Jordan Osserman, and Ove K Pedersen. 2013. Coding in-depth semistructured interviews: Problems of unitization and intercoder reliability and agreement. Sociological Methods & Research, https://doi.org/10.1177/0049124113500475 10.1177/0049124113500475
– reference: Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. 2019. Language models are unsupervised multitask learners. OpenAI blog.
– reference: Matteo Ciniselli, Nathan Cooper, Luca Pascarella, Antonio Mastropaolo, Emad Aghajani, Denys Poshyvanyk, Massimiliano Di Penta, and Gabriele Bavota. 2022. An Empirical Study on the Usage of Transformer Models for Code Completion. IEEE Transactions on Software Engineering, https://doi.org/10.1109/TSE.2021.3128234 10.1109/TSE.2021.3128234
– reference: Purit Phan-udom, Naruedon Wattanakul, Tattiya Sakulniwat, Chaiyong Ragkhitwetsagul, Thanwadee Sunetnanta, Morakot Choetkiertikul, and Raula Gaikovina Kula. 2020. Teddy: Automatic Recommendation of Pythonic Idiom Usage For Pull-Based Software Projects. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). https://doi.org/10.1109/ICSME46990.2020.00098 10.1109/ICSME46990.2020.00098
– reference: Michael Pradel and Koushik Sen. 2018. DeepBugs: A Learning Approach to Name-Based Bug Detection. Proc. ACM Program. Lang., https://doi.org/10.1145/3276517 10.1145/3276517
– ident: e_1_2_1_15_1
  doi: 10.1145/3453478
– ident: e_1_2_1_17_1
  doi: 10.1145/2568225.2568295
– ident: e_1_2_1_25_1
  doi: 10.1145/3485538
– ident: e_1_2_1_49_1
– volume-title: Google Bard: An Early Experiment with Generative AI. https://ai.google/static/documents/google-about-bard.pdf
  year: 2023
  ident: e_1_2_1_1_1
– ident: e_1_2_1_58_1
  doi: 10.1145/3474624.3474650
– volume-title: International Conference on Learning Representations. arxiv:2201
  year: 2021
  ident: e_1_2_1_45_1
– ident: e_1_2_1_66_1
– ident: e_1_2_1_37_1
  doi: 10.1145/1993316.1993537
– ident: e_1_2_1_43_1
– ident: e_1_2_1_44_1
  doi: 10.1109/ICSME46990.2020.00098
– ident: e_1_2_1_64_1
  doi: 10.1108/QROM-08-2016-1408
– ident: e_1_2_1_2_1
  doi: 10.1145/3276954.3276960
– ident: e_1_2_1_52_1
  doi: 10.1109/ICSE.2017.44
– ident: e_1_2_1_19_1
– ident: e_1_2_1_47_1
  doi: 10.1145/3663529.3663803
– ident: e_1_2_1_30_1
  doi: 10.1145/2902362
– ident: e_1_2_1_11_1
  doi: 10.1109/TSE.2021.3128234
– ident: e_1_2_1_23_1
  doi: 10.18653/v1
– ident: e_1_2_1_59_1
  doi: 10.1109/ICSE43902.2021.00033
– ident: e_1_2_1_28_1
  doi: 10.1109/ICSME52107.2021.00061
– volume-title: Proceedings of the USENIX Annual Technical Conference (USENIX ATC). https://www.usenix.org/conference/atc20/presentation/serrano
  year: 2020
  ident: e_1_2_1_55_1
– ident: e_1_2_1_54_1
  doi: 10.1109/IWESEP49350.2019.00016
– ident: e_1_2_1_50_1
– ident: e_1_2_1_35_1
  doi: 10.1109/TSE.2020.2988396
– ident: e_1_2_1_22_1
  doi: 10.1145/3062341.3062351
– volume-title: Advanced C++ Programming Styles and Idioms. Addison—W esley
  ident: e_1_2_1_12_1
– ident: e_1_2_1_38_1
  doi: 10.1109/ICSE.2013.6606596
– volume-title: Fei Xia, Ed Chi, Quoc V Le, and Denny Zhou.
  year: 2022
  ident: e_1_2_1_63_1
– ident: e_1_2_1_53_1
  doi: 10.1145/2884781.2884877
– ident: e_1_2_1_21_1
  doi: 10.1145/3387905.3388608
– ident: e_1_2_1_18_1
  doi: 10.1109/ASE56229.2023.00078
– ident: e_1_2_1_67_1
  doi: 10.1145/3540250.3549143
– ident: e_1_2_1_62_1
  doi: 10.18653/v1
– ident: e_1_2_1_5_1
  doi: 10.1145/3360585
– ident: e_1_2_1_3_1
  doi: 10.1145/2635868.2635901
– ident: e_1_2_1_40_1
  doi: 10.1145/2568225.2568317
– ident: e_1_2_1_32_1
– ident: e_1_2_1_8_1
  doi: 10.1145/3196398.3196445
– ident: e_1_2_1_13_1
  doi: 10.1145/2000799.2000805
– ident: e_1_2_1_33_1
  doi: 10.1145/3510003.3510115
– ident: e_1_2_1_46_1
– ident: e_1_2_1_41_1
  doi: 10.1109/ICSE.2019.00089
– volume-title: Lyu. ASE
  year: 2023
  ident: e_1_2_1_24_1
– ident: e_1_2_1_57_1
  doi: 10.14778/2977797.2977807
– ident: e_1_2_1_16_1
  doi: 10.1145/3510003.3510225
– volume-title: Proceedings of the 46th International Conference on Software Engineering (ICSE).
  year: 2024
  ident: e_1_2_1_56_1
– ident: e_1_2_1_60_1
  doi: 10.1145/3314221.3314589
– ident: e_1_2_1_27_1
  doi: 10.1007/s10664-021-10096-0
– ident: e_1_2_1_36_1
  doi: 10.2307/2529310
– ident: e_1_2_1_34_1
  doi: 10.1109/ICSE.2019.00072
– ident: e_1_2_1_39_1
  doi: 10.1145/3360569
– ident: e_1_2_1_51_1
  doi: 10.1109/ASE56229.2023.00117
– ident: e_1_2_1_6_1
– ident: e_1_2_1_48_1
  doi: 10.1145/3276517
– ident: e_1_2_1_7_1
  doi: 10.1145/2635868.2635898
– ident: e_1_2_1_26_1
  doi: 10.1145/3387904.3389285
– ident: e_1_2_1_65_1
  doi: 10.1109/ICPC.2019.00052
– ident: e_1_2_1_20_1
  doi: 10.1145/3293882.3330571
– ident: e_1_2_1_10_1
  doi: 10.1177/0049124113500475
– ident: e_1_2_1_61_1
  doi: 10.1109/ASE51524.2021.9678615
– ident: e_1_2_1_9_1
– ident: e_1_2_1_29_1
  doi: 10.1145/1062455.1062512
– ident: e_1_2_1_31_1
  doi: 10.1109/WCRE.2013.6671308
– ident: e_1_2_1_14_1
  doi: 10.1109/ICSE48619.2023.00091
– ident: e_1_2_1_4_1
  doi: 10.1109/ASE.2008.44
SSID ssj0002991170
Score 2.2614908
Snippet Software developers often repeat the same code changes within a project or across different projects. These repetitive changes are known as “code change...
SourceID crossref
acm
SourceType Enrichment Source
Index Database
Publisher
StartPage 631
SubjectTerms Artificial intelligence
Computing methodologies
Programming by example
Software and its engineering
Software maintenance tools
SubjectTermsDisplay Computing methodologies -- Artificial intelligence
Software and its engineering -- Programming by example
Software and its engineering -- Software maintenance tools
Title Unprecedented Code Change Automation: The Fusion of LLMs and Transformation by Example
URI https://dl.acm.org/doi/10.1145/3643755
Volume 1
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVHPJ
  databaseName: ROAD: Directory of Open Access Scholarly Resources
  customDbUrl:
  eissn: 2994-970X
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0002991170
  issn: 2994-970X
  databaseCode: M~E
  dateStart: 20240101
  isFulltext: true
  titleUrlDefault: https://road.issn.org
  providerName: ISSN International Centre
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9NAEF6FwoFLgQJqeVR7QFyQhb1-rJdbVCXi0FSVSFFukb0PiOo4UZyU5NLfzkx3_UjLAQ5crMgeraOdz7OfxzvfEPJBR6GMRaI8yU3kRSoLPBGKwGOSiTwOEimlbTbBLy7SyURc9nq3dS3MTcHLMt1uxfK_uhrOgbOxdPYf3N0MCifgNzgdjuB2OP6V46_KJUQxjQW4mL1dKO1KCD71N-vFvNnNgQAZbipHGM_PR1atedxhsnAJ2Olgm6GEcJfGXjbLXlVvMuifjfDDQwVh_RfuJtOt0GFDlmcFykPbEqFiLxmgi2Jj22rnP2erbN5mCXbXlZU5QFQZvWsH--FK5F00c6kLFmFONGAdsLnt8HfhjqFIseD-ZC82dyA4_DboRNrELR520U6s4vDD9SBC6YwQv05aNeB74truyiPymPFYYGAf3bY5OvhL2JjH1lrjWJ-dPVIZOe9QmQ4nGT8nh-5lgvYtCF6Qni6PyLO6UQd1cfsl-b6HCYqYoBYTtMXEFwqIoBYRdGEoIoICIug-Imi-ow4Rr8jVcDA---q5hhpeFjBsW5yHfmp4KoHz5zrlLGOcKZHoxM9lKkOGZdpZbpTJDY-EDFMltRFgGuDzzMLX5KBclPqY0CjjKle-L5PYRJHSmQGenZhABTrITMJOyBHM0HRpJVOmbt5OyMd6xqbSadBjK5Riauvj49aQNob1GPdM3vzxDm_J0xZp78jBerXR78kTebOeVavTO_f-BqSQc8U
linkProvider ISSN International Centre
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Unprecedented+Code+Change+Automation%3A+The+Fusion+of+LLMs+and+Transformation+by+Example&rft.jtitle=Proceedings+of+the+ACM+on+software+engineering&rft.au=Dilhara%2C+Malinda&rft.au=Bellur%2C+Abhiram&rft.au=Bryksin%2C+Timofey&rft.au=Dig%2C+Danny&rft.date=2024-07-12&rft.pub=ACM&rft.eissn=2994-970X&rft.volume=1&rft.issue=FSE&rft.spage=631&rft.epage=653&rft_id=info:doi/10.1145%2F3643755&rft.externalDocID=3643755
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2994-970X&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2994-970X&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2994-970X&client=summon