Autores:
(1) Xiyu Zhou, Facultad de Ciencias de la Computación, Universidad de Wuhan, Wuhan, China;
(2) Peng Liang, Facultad de Ciencias de la Computación, Universidad de Wuhan, Wuhan, China;
(3) Zengyang Li, Facultad de Ciencias de la Computación, Universidad Normal de China Central, Wuhan, China;
(4) Aakash Ahmad, Escuela de Computación y Comunicaciones, Universidad de Lancaster Leipzig, Leipzig, Alemania;
(4) Mojtaba Shahin, Escuela de Tecnologías Informáticas, Universidad RMIT, Melbourne, Australia;
(4) Muhammad Waseem, Facultad de Tecnología de la Información, Universidad de Jyväskylä, Jyväskylä, Finlandia.
Mejore la compatibilidad entre varios IDE y editores y simplifique la configuración de Copilot. Según los resultados de RQ1 y RQ2, el problema de compatibilidad es la segunda categoría más grande, y el problema de compatibilidad del editor/IDE es la causa que genera muchos problemas de uso. Desde la perspectiva de los usuarios, también hemos observado muchas discusiones sobre los detalles relacionados con la configuración y los ajustes de Copilot, lo que hace que Modificar configuración/ajustes sea la segunda solución más utilizada. Además, la configuración/configuración inadecuada es la quinta causa más común de problemas. Según los hallazgos, creemos que mejorar la compatibilidad y simplificar el proceso de configuración de Copilot para los usuarios puede mejorar significativamente su experiencia. Por lo tanto, el equipo de Copilot puede ofrecer pautas de instalación y configuración más detalladas, brindar opciones de configuración fáciles de usar y realizar actualizaciones y mantenimiento periódicos.
Necesidad de más opciones de personalización para permitir a los usuarios adaptar el comportamiento de Copilot para alinearlo con su propio flujo de trabajo. Entre las 123 SOLICITUDES DE FUNCIONES, identificamos 52 instancias de dichas solicitudes para personalizar el comportamiento de Copilot en varios aspectos, lo que representa aproximadamente el 50 %. Algunas solicitudes comunes son especificar los tipos de archivos o el espacio de trabajo en el que Copilot se ejecuta automáticamente (11), modificar las teclas de método abreviado para aceptar sugerencias (10), aceptar sugerencias de código línea por línea o palabra por palabra (9), impedir Copilot desde generar ciertos tipos de sugerencias (por ejemplo, rutas de archivos, comentarios) (3) y configurar el color del texto y las fuentes (3). En el estudio de Zhang et al. [19], también indicaron que permitir a los usuarios personalizar las sugerencias es esencial. Además, de acuerdo con la EXPERIENCIA DE FUNCIONALIDAD POBRE (por ejemplo, percibir las autosugestiones de Copilot como distracciones, lo que también se menciona en el estudio de Bird et al. [20]), podemos discernir la demanda de personalizar el comportamiento de Copilot. Según los resultados, creemos que la medida en que el comportamiento de Copilot pueda adaptarse bien a los hábitos de codificación individuales de los usuarios es un factor importante en su decisión de utilizar Copilot. Por lo tanto, ofrecer opciones de personalización flexibles y fáciles de usar es muy beneficioso. Además, es significativo explorar cómo las herramientas de codificación de IA deberían interactuar con los usuarios e integrar estas herramientas en el desarrollo práctico.
Los usuarios necesitan más formas de controlar el contenido generado por Copilot. En la Tabla IV, se puede observar que la mayoría de las soluciones están destinadas a abordar el problema de uso y el problema de compatibilidad, mientras que hay una pequeña cantidad de soluciones para el problema de contenido sugerido. De 69 problemas de contenido sugerido, solo identificamos 5 soluciones, lo que indica que a los usuarios puede resultarles difícil brindar soluciones ideales para los problemas de contenido sugeridos por Copilot. Esto se debe en parte a que los usuarios tienen formas limitadas de controlar la generación de código de Copilot además del código y los comentarios de código per se. Por lo tanto, se requieren métodos adicionales para abordar el problema del contenido de sugerencias, por ejemplo, permitir a los desarrolladores interactuar con Copilot e iterar el código generado hasta que el código alcance las expectativas de los desarrolladores.
Mejorar la calidad del código generado por Copilot. En Cuestiones de Contenido de Sugerencias, los tipos predominantes son SUGERENCIAS DE BAJA CALIDAD (27) y SUGERENCIAS SIN SENTIDO (13). El experimento de Imai et al. [9] descubrieron que, en comparación con la programación por parejas humanas, Copilot, si bien es capaz de generar una cantidad significativa de código, también provocó más eliminaciones de código durante las pruebas, lo que destaca la necesidad de mejorar la calidad del código de Copilot. Pájaro y col. [20] observó que Copilot ocasionalmente ofrece sugerencias de códigos peculiares y sin sentido, según lo informado por los usuarios, algunas de las cuales pueden incluir información personal. Además, aunque la SUGERENCIA INSEGURA y la SUGERENCIA MENOS EFECTIVA solo tienen dos instancias cada una, creemos que esto se debe principalmente a que los usuarios encuentran dificultades para detectar problemas de este tipo y están menos dispuestos a informarlos. Pearce y cols. [6] descubrieron que de los 1.689 fragmentos de código generados por Copilot, el 40% eran vulnerables. Dadas las sucesivas iteraciones de Copilot, resulta imperativo realizar evaluaciones periódicas de la calidad de sus sugerencias.
El uso de Copilot altera el proceso de codificación y aumenta el costo de tiempo de verificar las sugerencias de código, lo que hace que las explicaciones del código sean muy importantes. En nuestra investigación, LA SUGERENCIA INCOMPREHENSIBLE (8) ocupa el cuarto lugar entre los problemas de contenido de sugerencias más comunes. Algunos usuarios mencionaron problemas con las sugerencias de código que eran excesivamente largas, lo que reducía la legibilidad. Esto indica que cuando Copilot proporciona sugerencias relativamente complejas, o cuando los usuarios carecen de experiencia en codificación en un dominio en particular, comprender la lógica del código y verificar su corrección puede llevar mucho tiempo. El estudio de Wang et al. [21] muestra que el uso de código generado por IA puede generar una presión de revisión significativa. Por lo tanto, creemos que las herramientas de codificación de IA (por ejemplo, Copilot) cambiarán la asignación del tiempo dedicado a diversas tareas en el desarrollo de software. Hemos observado cuatro solicitudes de funciones relacionadas con la explicación del código y el equipo de Copilot pone mucho énfasis en ampliar esta funcionalidad. La función de chat [15] introducida en Copilot X ya es capaz de proporcionar explicaciones detalladas del código, mientras que su precisión requiere una evaluación experimental adicional en etapas posteriores.
Considere la propiedad intelectual y los derechos de autor. La cantidad de problemas de derechos de autor y políticas es ligeramente mayor de lo que esperábamos y observamos muchas preocupaciones tanto de los usuarios como de los propietarios del repositorio de GitHub durante el proceso de extracción de datos. Aves y col. [20] también notó algunas discusiones sobre cómo se aplicaban los derechos de autor a las sugerencias de código de Copilot. El objetivo de nuestra investigación no es proporcionar una evaluación de tales problemas y de la naturaleza de código no abierto de Copilot, ya que es un problema complejo que depende de varios factores como el objetivo, los usuarios objetivo y el modelo de negocio de Copilot. Sin embargo, sostenemos que el equipo de Copilot puede tomar medidas para abordar estos problemas, brindando servicios de generación de código estables y de alta calidad y al mismo tiempo protegiendo la privacidad y la propiedad intelectual del usuario.
Este documento es