paint-brush
Un estudio revela problemas comunes que enfrentan los usuarios de GitHub Copilotpor@textmodels
4,022 lecturas
4,022 lecturas

Un estudio revela problemas comunes que enfrentan los usuarios de GitHub Copilot

Demasiado Largo; Para Leer

Un estudio investigó los desafíos de los usuarios con GitHub Copilot y reveló problemas comunes como obstáculos de uso, problemas de compatibilidad y calidad de las sugerencias de código. Las causas van desde problemas internos del sistema hasta problemas de conectividad de red, mientras que las soluciones incluyen correcciones de errores, ajustes de configuración y actualizaciones de versión. En general, los hallazgos arrojan luz sobre cómo mejorar la experiencia del usuario de GitHub Copilot.
featured image - Un estudio revela problemas comunes que enfrentan los usuarios de GitHub Copilot
Writings, Papers and Blogs on Text Models HackerNoon profile picture

Este documento está disponible en arxiv bajo licencia CC 4.0.

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.


III. RESULTADOS Y ANÁLISIS

En esta sección, informamos los resultados del estudio de los tres RQ y proporcionamos el análisis de los hallazgos clave. En la Sección III-A presentamos los tipos de problemas, mientras que en las Secciones III-B y III-C presentamos los tipos de causas y soluciones para los problemas correspondientes, respectivamente. Los resultados de los tipos de problemas se clasifican en dos niveles: categorías (p. ej., problema de contenido de sugerencia) y tipos (p. ej., SUGERENCIA MENOS EFICAZ). Mientras tanto, los resultados de las causas y las soluciones se organizan sólo como tipos (por ejemplo, Usar versión adecuada). Cabe señalar que en los resultados solo se extraen y proporcionan las causas que se ha demostrado que conducen a los problemas y las soluciones que pueden resolverlos. Por lo tanto, no todos los problemas tienen sus correspondientes causas y soluciones. Proporcionamos ejemplos con el símbolo "#", que indica el "ID de problema de GitHub", el "ID de discusión de GitHub" o el "ID de publicación de SO" en el conjunto de datos proporcionado [13].


A. Tipo de Emisiones (RQ1)


La figura 2 presenta la taxonomía de los problemas extraídos de nuestros datos. Se puede observar que los problemas de uso (56,9%) representan la mayoría de los problemas que enfrentan los usuarios de Copilot. Además, un número sustancial de usuarios ha presentado solicitudes de funciones (15,3%) en función de su experiencia y requisitos de usuario. También hay una parte de usuarios que han encontrado problemas de compatibilidad (15,3 %) al usar Copilot en diferentes entornos, mientras que porcentajes más pequeños se identificaron como problemas de contenido de sugerencias (4,9 %), problemas de experiencia del usuario (4,2 %) y problemas de derechos de autor y políticas. (3,4%).


  1. Problema de uso (56,9%): El problema de uso se refiere a una categoría de obstáculos encontrados por los usuarios al intentar utilizar algunas de las funciones fundamentales de Copilot (por ejemplo, fallas en la instalación). Esta categoría de cuestiones se divide a su vez en seis tipos, que se detallan a continuación.


• PROBLEMA DE USO DE FUNCIONALIDAD se refiere a la anomalía de varias funciones relacionadas con la generación de código proporcionadas por Copilot. Además de proporcionar sugerencias de código, Copilot ofrece varias funciones interactivas para interactuar mejor con los usuarios, como "sugerencia anterior/siguiente", "ver todas las sugerencias" y configuración de teclas de acceso directo para aceptar sugerencias. Los usuarios pueden encontrar excepciones al utilizar estas funciones. Por ejemplo, un usuario informó que "Copilot ya no sugiere sugerencias en PyCharm" (Discusión n.° 11199).


• PROBLEMA DE CONFIGURACIÓN/OPERACIÓN se refiere a errores o mal funcionamiento que ocurren durante la inicialización u operación de Copilot y, a menudo, implican excepciones en tiempo de ejecución. Estos problemas pueden impedir que Copilot se ejecute correctamente o provocar que se bloquee inesperadamente, como cuando un usuario encuentra un "error de inicio de copilot en VSCode" (Discusión n.º 30996).


• FALLO DE AUTENTICACIÓN se refiere a los problemas relacionados con el inicio de sesión del usuario y las dificultades de autenticación al utilizar Copilot. Copilot requiere que los usuarios inicien sesión en su cuenta de GitHub antes de utilizar el servicio. Sólo los usuarios con permisos de acceso (incluidas suscripciones pagas, verificación de identidad de estudiantes, etc.) pueden utilizar el servicio de generación de código de Copilot. Durante el proceso de autenticación, los usuarios pueden encontrar varios problemas relacionados con él, lo que resulta en la imposibilidad de utilizar Copilot. Por ejemplo, un usuario mencionó en el foro de discusión que "no puedo iniciar sesión después de la actualización" (Discusión n.° 18132).


• FALLO DE ACCESO se refiere a la situación en la que los usuarios no pueden acceder al servidor de Copilot, lo que a menudo implica errores relacionados con las conexiones del servidor. Un usuario puede encontrar un mensaje de error como "GitHub Copilot no pudo conectarse al servidor" (Discusión n.° 11801).


• PROBLEMA DE INSTALACIÓN se refiere a los problemas encontrados durante el proceso de instalación de Copilot, incluidos errores de instalación, imposibilidad de encontrar métodos de instalación y otros problemas relacionados. Por ejemplo, algunos usuarios pueden encontrar problemas como "Errores al instalar Copilot" (Discusiones n.º 17250).


• PROBLEMA DE CONTROL DE VERSIONES se refiere a problemas que encuentran los usuarios al ajustar la versión de Copilot o su entorno de ejecución (por ejemplo, IDE), incluida la imposibilidad de actualizar la versión de Copilot o problemas anormales como seguir solicitando actualizaciones incluso después de la actualización. Por ejemplo, un usuario dijo "el complemento copiloto no se actualiza" cuando lo usa en IntelliJ IDEA (Discusión n.° 17298).


Análisis: Como producto de código de IA relativamente nuevo, identificamos problemas de uso en varias etapas de la interacción del usuario con Copilot. Los usuarios también tienden a informar estos problemas y buscar ayuda, lo que convirtió a los problemas de uso en la categoría de problemas más frecuente. PROBLEMA DE USO DE FUNCIONALIDAD (233), PROBLEMA DE CONFIGURACIÓN/OPERACIÓN (201) y FALLO DE AUTENTICACIÓN (199) son los tres tipos principales. Atribuimos la mayor frecuencia de los dos primeros tipos de problemas a las deficiencias en el diseño y la estabilidad de las funciones de Copilot, que también están influenciadas por los entornos y las operaciones de los usuarios. El tercer tipo se asocia principalmente con detalles específicos que surgen cuando Copilot requiere que los usuarios inicien sesión con sus cuentas de GitHub.


2) Solicitud de funciones (15,3%): Solicitud de funciones se refiere a las funciones que los usuarios solicitan agregar o mejorar en función de su experiencia y necesidades reales al usar Copilot. Estas solicitudes de funciones no solo ayudan a mejorar la experiencia del usuario de Copilot, sino que también contribuyen a la exploración de cómo las herramientas de generación de código de IA pueden interactuar mejor con los desarrolladores. Esta categoría se divide a su vez en cuatro tipos, como se muestra a continuación.


• SOLICITUD DE FUNCIÓN se refiere a las solicitudes para desarrollar nuevas funciones en Copilot, que generalmente surgen de las necesidades y dificultades genuinas de los usuarios encontradas al utilizar la herramienta. Por ejemplo, un usuario sugirió que la adición de una “Función de explicaciones de código” podría mejorar la utilidad de Copilot (Discusión n.° 7509).


• SOLICITUD DE INTEGRACIÓN se refiere a un tipo de solicitud para que Copilot esté disponible en ciertas plataformas o se integre con otros complementos. Esto se debe principalmente al deseo de algunos usuarios de utilizar Copilot en entornos específicos. Por ejemplo, un usuario solicitó “Soporte para la familia EAP Intellij 2022.2” (Discusión n.° 17045). Las solicitudes de integración también reflejan en cierta medida la popularidad de Copilot entre los desarrolladores.


• SOLICITUD DE UI se refiere a las solicitudes realizadas por los usuarios para cambios en la interfaz de usuario (UI) de Copilot, que pueden implicar modificar la apariencia del ícono de Copilot, ajustar las indicaciones de uso y otros aspectos relacionados. Estas solicitudes generalmente tienen como objetivo mejorar los efectos visuales y la experiencia del usuario de Copilot. Por ejemplo, un usuario puede solicitar la adición de un "indicador de estado" (Problema n.º 163) para proporcionar información sobre el estado de funcionamiento actual de Copilot.


• VERSIÓN COPILOT PROFESIONAL se refiere a las solicitudes de algunos usuarios de una versión profesional de Copilot.


Fig. 2. Una taxonomía de problemas al usar GitHub Copilot


Estos usuarios suelen ser desarrolladores de equipos internos de determinadas empresas, que esperan recibir servicios de generación de código más profesionales y fiables en su trabajo real. Específicamente, tienen requisitos más altos para la confiabilidad y seguridad del código de Copilot, así como la certificación del equipo y otros aspectos.


Análisis: Para la SOLICITUD DE FUNCIÓN (123), observamos que los usuarios comúnmente expresan un deseo de una mayor flexibilidad en la configuración de Copilot para alinearse más estrechamente con sus hábitos de desarrollo. Por ejemplo, las solicitudes comunes incluyen la capacidad de aceptar las sugerencias de Copilot palabra por palabra y especificar dónde debería operar Copilot automáticamente en términos de tipos de archivos o alcances de desarrollo de código. Las demandas más innovadoras implican la necesidad de que Copilot proporcione sugerencias de acuerdo con todo el proyecto, así como características como explicaciones de código y funcionalidad de chat [15], que ya se lanzaron como una vista previa técnica en Copilot X. SOLICITUD DE INTEGRACIÓN (75) refleja la deseo de los desarrolladores de utilizar Copilot en sus entornos familiares. Esto impone mayores exigencias al equipo de Copilot, ya que hemos identificado una cantidad significativa de problemas de compatibilidad.


3) Problema de compatibilidad (15,3%): esta categoría cubre los problemas que surgen de las discrepancias entre Copilot y su entorno de ejecución. Copilot funciona como un complemento en varios IDE y editores de texto (por ejemplo, VSCode e IntelliJ IDEA), y la complejidad de los entornos y la interferencia de otros complementos pueden generar un mayor número de problemas de compatibilidad. Estas cuestiones se clasifican además en cuatro tipos, que se detallan a continuación.


• PROBLEMA DE COMPATIBILIDAD EDITOR/IDE se refiere a problemas que surgen de discrepancias entre Copilot y su IDE o editor. Estos problemas generalmente se manifiestan cuando Copilot no puede funcionar correctamente en un IDE o editor específico.


• PROBLEMA DE COMPATIBILIDAD DE PLUG-IN se refiere a un tipo de problema de coincidencia que surge cuando Copilot y otros complementos están activos y trabajando juntos en el mismo entorno. Dichos problemas pueden causar un mal funcionamiento parcial o total de Copilot y otros complementos y generalmente se identifican mediante métodos de solución de problemas, como deshabilitar Copilot u otros complementos. Por ejemplo, un usuario informó "un conflicto con un método abreviado de teclado con Emmet" (problema n.º 47) que le impedía recibir sugerencias de código generadas por Copilot.


• PROBLEMA DE COMPATIBILIDAD DEL MARCO se refiere a un tipo de problema de compatibilidad entre Copilot y el marco en el que opera. Un ejemplo común es el problema de compatibilidad entre Copilot.vim [16], una versión oficial de Copilot diseñada específicamente para Vim, y Node.js.


• PROBLEMA DE COMPATIBILIDAD DEL TECLADO se refiere a la situación en la que la funcionalidad de Copilot no se puede utilizar en algunas distribuciones de teclado poco comunes. Por ejemplo, un usuario con una distribución de teclado alemana no puede utilizar la mayoría de las funciones relacionadas con la generación de código de Copilot. (Discusión n.° 7094).


Análisis: El problema de compatibilidad surge de los complejos entornos operativos en los que los usuarios utilizan Copilot, así como de la solidez de la compatibilidad del propio Copilot. En el caso del PROBLEMA DE COMPATIBILIDAD EDITOR/IDE (132), VSCode, la plataforma oficialmente recomendada para el uso de Copilot, ha obtenido una mayor cantidad de problemas de compatibilidad reportados. También hemos encontrado problemas similares en otros IDE ampliamente utilizados, como Visual Studio, IDEA y PyCharm. La aparición del PROBLEMA DE COMPATIBILIDAD DE PLUG-IN (72) es menos predecible, con problemas típicos que involucran conflictos con otras herramientas de finalización de código.


4) Problema de contenido de sugerencia (4,9%): esta categoría de problemas se refiere a los problemas relacionados con el contenido del código generado por Copilot. La generación de sugerencias de código es la característica principal de las herramientas de generación de código de IA como Copilot, y la calidad de las sugerencias determina directamente si los usuarios las adoptarán. Por lo tanto, el contenido del código generado es naturalmente un área de preocupación para los usuarios, investigadores y el equipo de Copilot. Estas cuestiones se dividen a su vez en siete situaciones específicas, que se detallan a continuación.


• SUGERENCIA DE BAJA CALIDAD se refiere a situaciones en las que Copilot no puede comprender el contexto lo suficiente como para generar código útil. Es posible que estas sugerencias de código no tengan errores sintácticos, pero debido a su mala calidad, es poco probable que los usuarios las adopten. Por ejemplo, Copilot una vez generó un método vacío que contenía solo una declaración de devolución sin cumplir con los requisitos especificados en el código del usuario (Discusión #6631).


• SUGERENCIA SIN SENTIDO se refiere a las sugerencias de código proporcionadas por Copilot que son completamente irrelevantes para las necesidades del usuario o producen resultados extraños. Estas sugerencias se consideran casi inutilizables y proporcionan poca ayuda heurística al usuario. Por ejemplo, un usuario recibió una URL falsa inaccesible generada por Copilot (Discusión n.º 14212).


• SUGERENCIA CON ERRORES se refiere a la situación en la que Copilot puede generar código relevante según el contexto, pero el código sugerido contiene algunos errores. Esto puede provocar que el programa pueda ejecutarse, pero no de la forma prevista por el desarrollador o, en algunos casos, provocar errores o fallos. Por ejemplo, un usuario informó que Copilot sugirió usar “setState(!state)” en lugar de “setState(true)” (Problema n.° 43), lo que provocó un error lógico en el código.


• SUGERENCIA INCOMPREHENSIBLE se refiere a la situación en la que Copilot proporciona sugerencias de código, pero debido a la complejidad de la lógica del código o la falta de experiencia, a los usuarios les resultó difícil comprender el código sugerido y requirieron fuente adicional para verificar su exactitud. Por ejemplo, un usuario dijo: "Mi Github Copilot simplemente lo completó automáticamente, luego busqué en Internet tratando de encontrar información relacionada con él, pero no pude". (Así que #73075410)


• SUGERENCIA CON SYNTAX NO VÁLIDA se refiere a la situación en la que las sugerencias generadas por Copilot pueden contener errores de sintaxis que impiden que el programa se ejecute correctamente. Un ejemplo es cuando al código sugerido le falta un corchete de cierre, lo que hace que el editor muestre un error de sintaxis (Discusión n.º 38941).


• SUGERENCIA MENOS EFECTIVA se refiere a las sugerencias de código generadas por Copilot que son funcionalmente correctas y cumplen con los requisitos del usuario, pero que pueden sufrir de una eficiencia de ejecución subóptima o una lógica complicada, lo que podría afectar la calidad general del código.


• SUGERENCIA INSEGURA se refiere a las sugerencias de código generadas por Copilot que introducen vulnerabilidades de seguridad. Por ejemplo, un usuario indicó que la sugerencia de código para él carecía de responsabilidad por los tamaños que se leían (Discusión n.º 6636).


Análisis: La calidad de las sugerencias de código es un factor fundamental para determinar la capacidad de Copilot para el desarrollo práctico de código. Identificamos una cantidad relativamente pequeña de problemas de contenido de sugerencias, lo que posiblemente indica que los usuarios están menos inclinados a informar problemas relacionados con el código sugerido en comparación con problemas relacionados con el uso. Entre estos problemas, las SUGERENCIAS DE BAJA CALIDAD, LAS SUGERENCIAS SIN SENTIDO y las SUGERENCIAS CON ERRORES son los tres tipos reportados con mayor frecuencia, mientras que las SUGERENCIAS INSEGURAS y LAS SUGERENCIAS MENOS EFECTIVAS son menos frecuentes. Este resultado muestra que la calidad del código generado es una de las principales preocupaciones de los usuarios, mientras que la seguridad y la eficacia no tienen una alta prioridad.


5) Problema con la experiencia del usuario (4,2%): esta categoría cubre los comentarios de los usuarios sobre su experiencia al usar Copilot. En comparación con Usage Issue, Copilot generalmente se ejecuta y funciona según lo previsto, pero la experiencia del usuario no es óptima. Los problemas de experiencia del usuario pueden surgir debido a escenarios de uso específicos o ser frecuentes en diversas situaciones, lo que proporciona información sobre áreas en las que Copilot podría mejorarse. El problema de experiencia del usuario se puede clasificar en cuatro tipos, que se detallan a continuación.


• EXPERIENCIA DE FUNCIONALIDAD DEFICIENTE se refiere a un tipo de problema de experiencia del usuario donde el uso de las funcionalidades principales relacionadas con la generación de código de Copilot no es satisfactorio. Estos problemas a menudo pueden obstaculizar la coordinación entre los usuarios y Copilot e incluso disminuir la eficiencia del trabajo de desarrollo real. Por ejemplo, un usuario se quejó de que las sugerencias generadas automáticamente proporcionadas por Copilot distraían mucho, lo que lo obligaba a activar manualmente la funcionalidad de generación de código (Discusión n.° 13007).


• MALA EXPERIENCIA DE SUSCRIPCIÓN se refiere a los obstáculos que encuentran los usuarios durante el proceso de suscripción a los servicios de Copilot. Copilot ofrece varios métodos de suscripción (por ejemplo, verificación de estudiante, suscripción paga), lo que genera algunos inconvenientes para los usuarios durante el proceso de suscripción. Por ejemplo, un usuario no estaba seguro de qué hacer a continuación después de configurar una facturación (Discusión n.º 19119).


• RENDIMIENTO POCO se refiere a los problemas de rendimiento que ocurren cuando se ejecuta Copilot, lo que generalmente afecta directamente la experiencia del usuario. Estos problemas incluyen un uso elevado de la CPU, tiempos de respuesta prolongados y acceso demasiado frecuente al servidor. • EXPERIENCIA DE AUTENTICACIÓN MALA se refiere al inconveniente que encuentran los usuarios al autenticar sus identidades antes de usar Copilot. La situación más común es que Copilot solicita con frecuencia a los usuarios que vuelvan a iniciar sesión, lo que puede ser una fuente importante de frustración.


Análisis: Los problemas de experiencia del usuario brindan información valiosa sobre la dirección a seguir para mejorar Copilot. Entre los problemas de MALA EXPERIENCIA DE FUNCIONALIDAD (25), los problemas más comúnmente reportados involucran sugerencias en línea de Copilot que causan interrupciones en el proceso de codificación del usuario (5) y el inconveniente de no poder aceptar ciertas partes del código sugerido (2). Estas preocupaciones se alinean con algunas de las demandas mencionadas por los usuarios en Solicitudes de funciones, por ejemplo, establecer cuándo Copilot puede generar código y la longitud del código sugerido.


6) Problemas de derechos de autor y políticas (3,4%): Copilot está capacitado en un gran corpus de código fuente abierto y genera sugerencias de código basadas en el contexto del código de los usuarios. La forma en que opera Copilot genera preocupaciones con respecto a posibles problemas de derechos de autor y políticas, como lo expresaron algunos usuarios. Estos problemas se dividen en tres tipos, como se muestra a continuación.


• CODE COPYRIGHT ISSUE se refiere a las preocupaciones planteadas por algunos autores de código con respecto al uso no autorizado de su código abierto por parte de Copilot para el entrenamiento de modelos. GitHub es actualmente una de las plataformas de alojamiento de código basadas en web más populares y, desde el lanzamiento de Copilot, ha habido sospechas entre algunos autores de código de que su código alojado en GitHub se ha utilizado para capacitación sin la debida consideración de su licencia.


• PROBLEMA DE TELEMETRÍA DE CÓDIGO se refiere a las preocupaciones expresadas por los usuarios con respecto al enfoque de Copilot de recopilar su código para generar sugerencias, lo que potencialmente puede resultar en la filtración de código confidencial. Es posible que algunos usuarios simplemente no estén dispuestos a que su propio código, así como el código generado por Copilot para ellos, se recopilen para otros fines.


• VIOLACIÓN DE LA POLÍTICA DE MERCADO es un caso específico en el que un usuario informó que Copilot pudo publicarse en el mercado de VSCode a pesar de utilizar las API propuestas, mientras que otros complementos estaban prohibidos. El usuario sospecha que este comportamiento puede violar la Política del Mercado (Problema n.° 3).


Análisis: La aparición de cuestiones de derechos de autor y políticas revela las preocupaciones de los usuarios sobre la forma en que funciona Copilot. Copilot está capacitado en código fuente abierto en varios idiomas y también necesita recopilar el contexto del código de los usuarios durante su operación para generar sugerencias. Estos dos hechos han llevado a las personas a prestar más atención a las cuestiones de derechos de autor y propiedad intelectual cuando utilizan Copilot, especialmente en el desarrollo interno.


B. Tipo de Causas (CR2)


  1. Resultados: Identificamos un total de 337 causas, que se recogieron del 24,1% de todos los problemas y se clasificaron en 13 tipos como se presenta en la Tabla II. El resultado indica que las causas más frecuentes de problemas son el problema interno del copiloto (21,4%) y el problema de conexión de red (15,4%), y también se informan con frecuencia problemas de compatibilidad con el editor/IDE (11,1%) y la plataforma no compatible (9,2%). Los casos específicos, el recuento de ocurrencias y la proporción de cada tipo de causa se presentan en la Tabla II. Por limitación de espacio, analizamos las cinco causas más frecuentes. Vale la pena señalar que ciertos tipos de problemas pueden ser potencialmente la causa de otros problemas.


2) Análisis: El problema interno de Copilot, que puede provocar varios tipos de problemas de uso, es el tipo de causa más común. Como Copilot es un proyecto de código cerrado, los usuarios no conocen públicamente sus detalles internos. Por lo tanto, atribuimos los problemas ascendentes relacionados con Copilot como problemas internos de Copilot, que abarcan el modelo de lenguaje, el diseño funcional y problemas del lado del servidor, que son causados por factores internos. Normalmente, la identificación de un problema interno de Copilot se basa en los comentarios de los usuarios sobre experiencias de uso anormales, que el equipo de Copilot deberá investigar más a fondo para identificar causas subyacentes específicas. Además, la aparición de un problema interno de Copilot a menudo da como resultado que un grupo de usuarios informe problemas similares dentro de un período de tiempo determinado. Por ejemplo, una mala implementación del lado del servidor puede provocar que un grupo de usuarios encuentre un FALLO DE AUTENTICACIÓN.


El problema de conexión de red es un tipo común de causas que pueden provocar fallas de autenticación, excepciones de tiempo de ejecución, fallas de acceso, etc. La mayoría de los problemas relacionados con la red se atribuyen al entorno de red del usuario. Una situación común es que los usuarios acceden a Copilot a través de un proxy HTTP o VPN, lo que puede causar interferencia SSL e impedirles utilizar el servicio. Sin embargo, una buena noticia es que Copilot ahora admite el acceso a través de un proxy HTTP, solucionando así dichas preocupaciones [17].


El problema de compatibilidad entre el editor y el IDE puede generar varios problemas de uso, principalmente el uso anormal de la funcionalidad y los problemas operativos de Copilot, entre otros.


Plataforma no compatible se refiere a la razón por la cual algunos usuarios no pueden usar Copilot de manera efectiva en ciertos IDE o editores de texto, lo que conduce principalmente a algunos problemas relacionados con el uso y la compatibilidad. Dado que Copilot no es de código abierto, muchas plataformas no pueden integrarlo inmediatamente después de su lanzamiento, lo que ha provocado que algunos usuarios encuentren varios obstáculos al intentar usarlo. Por lo tanto, recomendamos que los usuarios intenten utilizar los IDE que Copilot admite oficialmente, ya que esto les proporcionará un servicio de generación de código más conveniente y estable, así como acceso a una comunidad de discusión madura que puede ayudar a resolver los problemas más comunes.


La configuración/configuración inadecuada es una de las principales causas de problemas de compatibilidad y uso de funciones. Por ejemplo, después de instalar Copilot, su configuración y ajustes predeterminados pueden provocar un mal funcionamiento en un IDE en particular o un conflicto con otros complementos. La mayoría de estos problemas se pueden abordar mediante ajustes de configuración.



C. Tipo de Soluciones (RQ3)


  1. Resultados: Identificamos un total de 497 soluciones, que se utilizaron para abordar el 35,5% de todos los problemas y se clasificaron en 11 tipos, como se muestra en la Tabla III. El resultado revela que la mayoría de los errores de uso se solucionaron mediante correcciones oficiales (error solucionado por Copilot 27,0%) después de los comentarios de los usuarios, y cuando los usuarios intentaron resolver los problemas ellos mismos, modificar la configuración (22,1%), usar la versión adecuada (17,1%). ) y Reinstalar/Reiniciar/Reautorizar Copilot (12,3%) se utilizaron habitualmente como soluciones eficaces. Los casos específicos, el recuento de ocurrencias y la proporción de cada tipo de solución se presentan en la Tabla III. Debido a limitaciones de espacio, nos centraremos en interpretar los resultados de las cinco soluciones principales, así como en algunos análisis importantes. Cabe señalar que Otros (4,2%) es una colección de soluciones dedicadas que suelen ser específicas para entornos y problemas particulares.


El mapeo entre tipos de problemas y tipos de soluciones con la distribución se muestra en la Tabla IV, utilizando abreviaturas para representar cada tipo de solución. Por ejemplo, "BFC" representa un error solucionado por Copilot. El mapeo muestra que la mayoría de las soluciones están dirigidas a problemas de uso y problemas de compatibilidad. Las principales soluciones para solicitudes de funciones consisten principalmente en esperar la implementación oficial de funciones (FIC) o lograr efectos similares a través de modificaciones de configuración o configuración (MCS). Los problemas de experiencia del usuario los mejora principalmente el equipo de Copilot (BFC). Además, utilizar la versión adecuada de Copilot y el editor/IDE (USV) puede generar una mejor experiencia. Resolver los problemas de contenido de sugerencias es relativamente desafiante, ya que solo unos pocos pueden abordarse modificando la forma de entrada (MIW), mientras que la mayoría carece de soluciones efectivas. Las cuestiones de derechos de autor y políticas también tienen soluciones relativamente limitadas. La solución principal es controlar la recopilación de códigos de usuarios ajustando la configuración de Copilot.


2) Análisis: Error solucionado por Copilot es la solución principal para abordar diversos problemas, particularmente ciertos problemas de uso y compatibilidad. Esto es razonable ya que los problemas internos de Copilot son las causas más frecuentes, lo que indica que muchos problemas de Copilot, como herramienta nueva, no pueden resolverse con el propio esfuerzo de los usuarios. Debido a la naturaleza de código cerrado de Copilot, los usuarios pueden simplemente brindar sus comentarios y esperar la respuesta y la solución del equipo de Copilot.


Modificar la configuración es una solución común para resolver problemas relacionados con configuraciones o ajustes inadecuados, y puede solucionar PROBLEMAS DE USO DE FUNCIONALIDAD, PROBLEMAS DE COMPATIBILIDAD DE ENCHUFES y FALLOS DE AUTENTICACIÓN por parte de los propios usuarios. Además, para algunas solicitudes de funciones, los usuarios pueden lograr la funcionalidad que desean simplemente realizando algunos cambios de configuración, como cambiar la vinculación del método abreviado de teclado para aceptar sugerencias de código. Sin embargo, descubrimos que debido a la complejidad de los entornos de ejecución de Copilot, es difícil proporcionar una configuración recomendada que sea adecuada para todas las situaciones. Por tanto, cada caso debe analizarse individualmente.


Usar la versión adecuada proporciona una manera eficaz de abordar PROBLEMAS DE CONFIGURACIÓN/OPERACIÓN, PROBLEMAS DE USO DE FUNCIONALIDAD, PROBLEMAS DE INSTALACIÓN y PROBLEMAS DE COMPATIBILIDAD DEL EDITOR/IDE. Copilot se repitió rápidamente en muchas versiones basándose en los comentarios de los usuarios y los planes de desarrollo. Mientras tanto, algunos IDE también han lanzado nuevas versiones para ser compatibles con él. Sin embargo, algunas versiones anteriores pueden ser más estables en comparación con la última, lo que puede contener algunos errores o problemas de compatibilidad. Por tanto, utilizar la versión adecuada es una solución muy eficaz para los usuarios.


Reinstalar/Reiniciar/Reautorizar Copilot es otra solución para que los usuarios simplemente resuelvan FALLAS DE AUTENTICACIÓN, PROBLEMAS DE CONFIGURACIÓN/OPERACIÓN y PROBLEMAS DE USO DE FUNCIONALIDAD por su cuenta. Su principio es restablecer el estado actual de Copilot, devolviendo cualquier error o configuración anterior que pueda haber existido a su estado inicial.


La función implementada por Copilot actúa como una acción oficial que aborda principalmente las solicitudes de funciones de los usuarios. La velocidad de desarrollo de las nuevas funciones de Copilot es relativamente rápida y el equipo de Copilot está experimentando actualmente con algunas de las últimas funciones de Copilot X [18].