超出风格:与 LLM 进行代码风格迁移的挫折经历
软件工程
2024-06-18 v1 人工智能
摘要
正如文本一样,程序也具有风格, certain programming styles 更受人们青睞,以提高程序的可读性、可维护性和性能。然而,代码风格迁移却难以自动完成,除了像限制行长度这样的简单风格指南之外。鼓舞人心的是,我们利用语言模型进行文本风格迁移的成功,本研究探索了代码语言模型是否能够执行代码风格迁移。代码风格迁移不同于文本迁移,需要严格的要求:系统必须识别要更改的代码行,正确更改它们,并且保持程序的其余部分不变。我们设计了 CSB(Code Style Benchmark),这是一套包含五个类别的程序风格迁移任务基准套件,包括将 for 循环转换为列表推导、消除代码中的重复项、为方法添加装饰器等。我们随后使用这些测试来查看大型预训练代码语言模型或微调模型是否能够正确执行风格迁移,基于严格的指标来测试迁移是否发生,以及代码是否仍通过功能测试。令人惊讶的是,语言模型未能完成所有任务,这表明它们在需要代码理解的任务上表现不佳。我们将公开大规模语料库,以帮助社区构建更好的代码模型。
引用
@article{arxiv.2406.10320,
title = {Out of style: Misadventures with LLMs and code style transfer},
author = {Karl Munson and Chih-Kai Ting and Serenity Wade and Anish Savla and Julian Dolby and Kiran Kate and Kavitha Srinivas},
journal= {arXiv preprint arXiv:2406.10320},
year = {2024}
}