Automatic Library Migration Using Large Language Models: First Results
<|reference_start|>Automatic Library Migration Using Large Language Models: First Results: Despite being introduced only a few years ago, Large Language Models (LLMs) are already widely used by developers for code generation. However, their application in automating other Software Engineering activities remains largely unexplored. Thus, in this paper, we report the first results of a study in which we are exploring the use of ChatGPT to support API migration tasks, an important problem that demands manual effort and attention from developers. Specifically, in the paper, we share our initial results involving the use of ChatGPT to migrate a client application to use a newer version of SQLAlchemy, an ORM (Object Relational Mapping) library widely used in Python. We evaluate the use of three types of prompts (Zero-Shot, One-Shot, and Chain Of Thoughts) and show that the best results are achieved by the One-Shot prompt, followed by the Chain Of Thoughts. Particularly, with the One-Shot prompt we were able to successfully migrate all columns of our target application and upgrade its code to use new functionalities enabled by SQLAlchemy's latest version, such as Python's asyncio and typing modules, while preserving the original code behavior.<|reference_end|>
@article{almeida2024automatic,
    title={Automatic Library Migration Using Large Language Models: First Results},
    author={Aylton Almeida, Laerte Xavier, Marco Tulio Valente},
    journal={arXiv preprint arXiv:2408.16151},
    year={2024},
    doi={10.1145/3674805.3690746},
    archivePrefix={arXiv},
    eprint={2408.16151},
    primaryClass={cs.SE}
}