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...
Gespeichert in:
| Veröffentlicht in: | Proceedings of the ACM on software engineering Jg. 1; H. FSE; S. 631 - 653 |
|---|---|
| Hauptverfasser: | , , , |
| 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 |