Copilot-in-the-Loop: Fixing Code Smells in Copilot-Generated Python Code using Copilot

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Zhang, Beiqi, Liang, Peng, Feng, Qiong, Fu, Yujia, Li, Zengyang
Formato: Preprint
Publicado: 2024
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866910571589271552
author Zhang, Beiqi
Liang, Peng
Feng, Qiong
Fu, Yujia
Li, Zengyang
author_facet Zhang, Beiqi
Liang, Peng
Feng, Qiong
Fu, Yujia
Li, Zengyang
contents 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 in September 2023, functions as an interactive tool aimed at facilitating natural language-powered coding. However, limited attention has been given to understanding code smells in Copilot-generated Python code and Copilot Chat's ability to fix the code smells. 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 Chat in fixing these code smells employing different prompts. The results show that 8 out of 10 types of code 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%, showing promise in fixing Python code smells generated by Copilot itself. In addition, the effectiveness of Copilot Chat in fixing these smells can be improved by providing more detailed prompts.
format Preprint
id arxiv_https___arxiv_org_abs_2401_14176
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Copilot-in-the-Loop: Fixing Code Smells in Copilot-Generated Python Code using Copilot
Zhang, Beiqi
Liang, Peng
Feng, Qiong
Fu, Yujia
Li, Zengyang
Software Engineering
Artificial Intelligence
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 in September 2023, functions as an interactive tool aimed at facilitating natural language-powered coding. However, limited attention has been given to understanding code smells in Copilot-generated Python code and Copilot Chat's ability to fix the code smells. 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 Chat in fixing these code smells employing different prompts. The results show that 8 out of 10 types of code 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%, showing promise in fixing Python code smells generated by Copilot itself. In addition, the effectiveness of Copilot Chat in fixing these smells can be improved by providing more detailed prompts.
title Copilot-in-the-Loop: Fixing Code Smells in Copilot-Generated Python Code using Copilot
topic Software Engineering
Artificial Intelligence
url https://arxiv.org/abs/2401.14176