{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T06:45:01Z","timestamp":1777099501133,"version":"3.51.4"},"publisher-location":"New York, NY, USA","reference-count":31,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,7,10]],"date-time":"2024-07-10T00:00:00Z","timestamp":1720569600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"NSF","award":["CNS-1941898"],"award-info":[{"award-number":["CNS-1941898"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,7,10]]},"DOI":"10.1145\/3663529.3663803","type":"proceedings-article","created":{"date-parts":[[2024,7,10]],"date-time":"2024-07-10T19:43:13Z","timestamp":1720640593000},"page":"582-586","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":25,"title":["EM-Assist: Safe Automated ExtractMethod Refactoring with LLMs"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0006-5621-1394","authenticated-orcid":false,"given":"Dorin","family":"Pomian","sequence":"first","affiliation":[{"name":"University of Colorado Boulder, Boulder, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-7048-4406","authenticated-orcid":false,"given":"Abhiram","family":"Bellur","sequence":"additional","affiliation":[{"name":"University of Colorado Boulder, Boulder, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5471-7179","authenticated-orcid":false,"given":"Malinda","family":"Dilhara","sequence":"additional","affiliation":[{"name":"University of Colorado Boulder, Boulder, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0004-0367-6636","authenticated-orcid":false,"given":"Zarina","family":"Kurbatova","sequence":"additional","affiliation":[{"name":"JetBrains Research, NA, Serbia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3499-2402","authenticated-orcid":false,"given":"Egor","family":"Bogomolov","sequence":"additional","affiliation":[{"name":"JetBrains Research, NA, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-2428-9124","authenticated-orcid":false,"given":"Andrey","family":"Sokolov","sequence":"additional","affiliation":[{"name":"JetBrains Research, NA, Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9022-3563","authenticated-orcid":false,"given":"Timofey","family":"Bryksin","sequence":"additional","affiliation":[{"name":"JetBrains Research, Limassol, Cyprus"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5046-2017","authenticated-orcid":false,"given":"Danny","family":"Dig","sequence":"additional","affiliation":[{"name":"University of Colorado Boulder, Boulder, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,7,10]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"3rd workshop on refactoring tools.","author":"Abadi Aharon","year":"2009","unstructured":"Aharon Abadi, R Ettinger, and YA Feldman. 2009. Fine slicing for advanced method extraction. 3rd workshop on refactoring tools."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Rajiv D Banker Srikant M Datar Chris F Kemerer and Dani Zweig. 1993. Software complexity and maintenance costs. Commun. ACM.","DOI":"10.1145\/163359.163375"},{"key":"e_1_3_2_1_3_1","volume-title":"Usability testing essentials","author":"Barnum Carol M","unstructured":"Carol M Barnum. 2010. Usability testing essentials. Elsevier."},{"key":"e_1_3_2_1_4_1","article-title":"Analyzing likert data","author":"Boone Harry N","year":"2012","unstructured":"Harry N Boone Jr and Deborah A Boone. 2012. Analyzing likert data. The Journal of extension.","journal-title":"The Journal of extension."},{"key":"e_1_3_2_1_5_1","volume-title":"Language Models are Few-Shot Learners. Curran Associates","author":"al Brown Tom","unstructured":"Tom et. al Brown. 2020. Language Models are Few-Shot Learners. Curran Associates, Inc.."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"crossref","unstructured":"Sofia Charalampidou Apostolos Ampatzoglou Alexander Chatzigeorgiou Antonios Gkortzis and Paris Avgeriou. 2017. Identifying Extract Method Refactoring Opportunities Based on Functional Relevance. TSE.","DOI":"10.1109\/TSE.2016.2645572"},{"key":"e_1_3_2_1_7_1","volume-title":"REMS: Recommending Extract Method Refactoring Opportunities via Multi-view Representation of Code Property Graph. In ICPC.","author":"Cui Di","year":"2023","unstructured":"Di Cui, Qiangqiang Wang, Siqi Wang, Jianlei Chi, Jianan Li, Lu Wang, and Qingshan Li. 2023. REMS: Recommending Extract Method Refactoring Opportunities via Multi-view Representation of Code Property Graph. In ICPC."},{"key":"e_1_3_2_1_8_1","volume-title":"Anind K Dey, and John Zimmerman.","author":"Davidoff Scott","year":"2007","unstructured":"Scott Davidoff, Min Kyung Lee, Anind K Dey, and John Zimmerman. 2007. Rapidly exploring application design through speed dating. In UbiComp."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3473493"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"crossref","unstructured":"Malinda Dilhara Abhiram Bellur Timofey Bryksin and Danny Dig. 2024. Unprecedented Code Change Automation: The Fusion of LLMs and Transformation by Example. FSE arXiv:2402.07138","DOI":"10.1145\/3643755"},{"key":"e_1_3_2_1_11_1","volume-title":"PYEVOLVE: Automating Frequent Code Changes in Python ML Systems. In 2023 IEEE\/ACM 45th International Conference on Software Engineering (ICSE).","author":"Dilhara Malinda","year":"2023","unstructured":"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)."},{"key":"e_1_3_2_1_12_1","article-title":"Understanding Software-2.0: A Study of Machine Learning Library Usage and Evolution. ACM","volume":"55","author":"Dilhara Malinda","year":"2021","unstructured":"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., Article 55, July, 42 pages. issn:1049-331X","journal-title":"Trans. Softw. Eng. Methodol., Article"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510225"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"crossref","unstructured":"Sara Fernandes Ademar Aguiar and Andr\u00e9 Restivo. 2022. A Live Environment to Improve the Refactoring Experience.","DOI":"10.1145\/3532512.3535222"},{"key":"e_1_3_2_1_15_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler Martin","year":"1999","unstructured":"Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley. isbn:0-201-48567-2"},{"key":"e_1_3_2_1_16_1","unstructured":"Mary Beth Kery Donghao Ren Fred Hohman Dominik Moritz Kanit Wongsuphasawat and Kayur Patel. 2020. mage: Fluid moves between code and graphical work in computational notebooks."},{"key":"e_1_3_2_1_17_1","volume-title":"Restructuring programs by tucking statements into functions","author":"Lakhotia Arun","unstructured":"Arun Lakhotia and Jean-Christophe Deprez. 1998. Restructuring programs by tucking statements into functions. Elsevier."},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Katsuhisa Maruyama. 2001. Automated Method-Extraction Refactoring by Using Block-Based Slicing.","DOI":"10.1145\/375212.375233"},{"key":"e_1_3_2_1_19_1","volume-title":"Black","author":"Murphy-Hill Emerson","year":"2012","unstructured":"Emerson Murphy-Hill, Chris Parnin, and Andrew P. Black. 2012. How We Refactor, and How We Know It. TSE."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"crossref","unstructured":"Stas Negara Nicholas Chen Mohsen Vakilian Ralph E. Johnson and Danny Dig. 2013. A Comparative Study of Manual and Automated Refactorings. ECOOP.","DOI":"10.1007\/978-3-642-39038-8_23"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"crossref","unstructured":"Jakob Nielsen. 1994. Usability engineering. Morgan Kaufmann.","DOI":"10.1016\/B978-0-08-052029-2.50009-7"},{"key":"e_1_3_2_1_22_1","unstructured":"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."},{"key":"e_1_3_2_1_23_1","unstructured":"Alec Radford Jeffrey Wu Rewon Child David Luan Dario Amodei and Ilya Sutskever. 2019. Language models are unsupervised multitask learners. OpenAI blog."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"crossref","unstructured":"Danilo Silva Ricardo Terra and Marco Tulio Valente. 2014. Recommending automated extract method refactorings. ICPC.","DOI":"10.1145\/2597008.2597141"},{"key":"e_1_3_2_1_25_1","volume-title":"Jextract: An eclipse plug-in for recommending automated extract method refactorings.","author":"Silva Danilo","year":"2015","unstructured":"Danilo Silva, Ricardo Terra, and Marco T\u00falio Valente. 2015. Jextract: An eclipse plug-in for recommending automated extract method refactorings."},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"crossref","unstructured":"Danilo Silva Nikolaos Tsantalis and Marco Tulio Valente. 2016. Why We Refactor? Confessions of GitHub Contributors. FSE.","DOI":"10.1145\/2950290.2950305"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"crossref","unstructured":"Omkarendra Tiwari and Rushikesh Joshi. 2022. Identifying Extract Method Refactorings. ISEC.","DOI":"10.1145\/3511430.3511435"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"crossref","unstructured":"Nikolaos Tsantalis and Alexander Chatzigeorgiou. 2011. Identification of extract method refactoring opportunities for the decomposition of methods.","DOI":"10.1016\/j.jss.2011.05.016"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"crossref","unstructured":"Nikolaos Tsantalis Ameya Ketkar and Danny Dig. 2022. RefactoringMiner 2.0. TSE.","DOI":"10.1109\/TSE.2020.3007722"},{"key":"e_1_3_2_1_30_1","volume-title":"GEMS: An Extract Method Refactoring Recommender. ISSRE.","author":"Xu Sihan","year":"2017","unstructured":"Sihan Xu, Aishwarya Sivaraman, Siau-Cheng Khoo, and Jing Xu. 2017. GEMS: An Extract Method Refactoring Recommender. ISSRE."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"crossref","unstructured":"Limei Yang Hui Liu and Zhendong Niu. 2009. Identifying Fragments to Be Extracted from Long Methods. APSEC.","DOI":"10.1109\/APSEC.2009.20"}],"event":{"name":"FSE '24: 32nd ACM International Conference on the Foundations of Software Engineering","location":"Porto de Galinhas Brazil","acronym":"FSE '24","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"]},"container-title":["Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3663529.3663803","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3663529.3663803","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T23:44:21Z","timestamp":1750290261000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3663529.3663803"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,10]]},"references-count":31,"alternative-id":["10.1145\/3663529.3663803","10.1145\/3663529"],"URL":"https:\/\/doi.org\/10.1145\/3663529.3663803","relation":{},"subject":[],"published":{"date-parts":[[2024,7,10]]},"assertion":[{"value":"2024-07-10","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}