使用大语言模型实现自动库迁移:初步结果
软件工程
2024-09-27 v3
摘要
尽管大型语言模型 (LLM) 仅Introduced 几年,开发者就广泛用于代码生成。然而,其在自动化其他软件工程活动中的应用仍鲜有探索。因此,本文报告了首次研究成果,探索使用 ChatGPT 支持 API 迁移任务——这一需要开发人员投入大量手动工作和注意力的重要问题。具体而言,本文分享了使用 ChatGPT 将客户端应用程序迁移至 SQLAlchemy 最新版本的初始结果,后者是 Python 中广泛使用的 ORM (对象关系映射) 库。我们评估了三种提示类型 (Zero-Shot、One-Shot 和 Chain Of Thoughts) 的使用效果,发现 One-Shot 提示方式取得最佳结果,其次是 Chain Of Thoughts。特别是采用 One-Shot 提示,我们成功迁移了目标应用程序的所有列,并升级其代码以利用 SQLAlchemy 最新版本所启用的新功能,如 Python 的 asyncio 和 typing 模块,同时保持原有代码行为。
引用
@article{arxiv.2408.16151,
title = {Automatic Library Migration Using Large Language Models: First Results},
author = {Aylton Almeida and Laerte Xavier and Marco Tulio Valente},
journal= {arXiv preprint arXiv:2408.16151},
year = {2024}
}
备注
Accepted at 18th International Symposium on Empirical Software Engineering and Measurement (ESEM), pages 1-7, 2024