Pig: Leveraging Large Language Models for Python Library Migrations
We present Pig, a novel approach to automating Python library migration by leveraging large language models (LLMs). Library migration is an increasingly common task in modern Python development, yet it remains tedious and error-prone due to the lack of general solutions that can handle diverse libraries without relying on documentation or code examples. To address this challenge, Pig employs a four-step pipeline that effectively harnesses the capabilities of LLMs. First, Pig decomposes the migration task into smaller units by performing API-level slicing, allowing the LLM to focus on minimal, relevant context. Second, it guides LLMs using prompts informed by common failure patterns in naive LLM-based migrations and plausible API candidates. Third, Pig selectively extracts the migration-related code fragments from the LLM outputs. Finally, it transplants the migrated code back into the original program with post-processing to ensure semantic correctness and consistency. We demonstrate the effectiveness of Pig by evaluating it on 364 API-level migration tasks, where it improves the average success rate of the baseline approach by 53.5% across seven different LLM models.
Tue 7 JulDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | Library and Product LineResearch Papers / Tool Demonstrations at MB 2.430 Chair(s): Mohamed Aymen Saied Concordia University | ||
11:00 20mTalk | Understanding the Limitations of C/C++ Binary Third-Party Library Detection Tool: An Empirical Study at Scale Research Papers CHENGYUE LIU , Zhengzi Xu Imperial Global Singapore, Kaixuan Li Nanyang Technological University, Wu Jiahui Nanyang Technological University, Singapore, Sihao Qiu Institute of Information Engineering Chinese Academy of Sciences & University of Chinese Academy of Sciences, China, Siyuan Li University of Chinese Academy of Sciences & Institute of Information Engineering Chinese Academy of Sciences, China, Siyang Xiong Desay SV Automotive Singapore Pte. Ltd., Yang Xiao Chinese Academy of Sciences, Yang Liu Nanyang Technological University | ||
11:20 20mTalk | Pig: Leveraging Large Language Models for Python Library Migrations Research Papers Miryeong Kang Korea University, Wonseok Oh Korea University, Gabin An Korea University, Hakjoo Oh Korea University Pre-print | ||
11:40 20mTalk | Bringing Managed Language Support to WebAssembly with External Library Linking Research Papers Shuyao Jiang The Chinese University of Hong Kong, Ruiying Zeng Fudan University, Yangfan Zhou Fudan University, Michael Lyu The Chinese University of Hong Kong DOI Pre-print | ||
12:00 10mTalk | Package Dashboard: A Cross-Ecosystem Framework for Dual-Perspective Analysis of Software Packages Tool Demonstrations | ||
12:10 20mTalk | A Tuple-Oriented Sampling Method for Generating Small Pairwise Covering Arrays in Configurable Software Systems Research Papers Kaichen Chen South China University of Technology, Yi Xiang South China University of Technology, Haining Wang South China University of Technology, Jiatong Ma South China University of Technology, Fujian Feng Guizhou Minzu University, Miqing Li University of Birmingham, Han Huang Sun Yat-Sen University | ||