Copilot Refinement: Addressing Code Smells in Copilot-Generated Python Code
CoRR(2024)
摘要
As one of the most popular dynamic languages, Python experiences a decrease
in readability and maintainability when code smells are present. Recent
advancements in Large Language Models have sparked growing interest in
AI-enabled tools for both code generation and refactoring. GitHub Copilot is
one such tool that has gained widespread usage. Copilot Chat, released on
September 2023, functions as an interactive tool aims at facilitating natural
language-powered coding. However, limited attention has been given to
understanding code smells in Copilot-generated Python code and Copilot's
ability to fix the code smells it generates. To this end, we built a dataset
comprising 102 code smells in Copilot-generated Python code. Our aim is to
first explore the occurrence of code smells in Copilot-generated Python code
and then evaluate the effectiveness of Copilot in fixing these code smells
employing different prompts. The results show that 8 out of 10 types of Python
smells can be detected in Copilot-generated Python code, among which
Multiply-Nested Container is the most common one. For these code smells,
Copilot Chat achieves a highest fixing rate of 87.1
Python code smells generated by Copilot itself. Besides, the effectiveness of
Copilot Chat in fixing these smells can be improved with the provision of more
detailed prompts. However, using Copilot Chat to fix these smells might
introduce new code smells.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要