paint-brush
Une étude révèle des problèmes courants rencontrés par les utilisateurs du copilote GitHubpar@textmodels
4,843 lectures
4,843 lectures

Une étude révèle des problèmes courants rencontrés par les utilisateurs du copilote GitHub

Trop long; Pour lire

Une étude a examiné les défis des utilisateurs avec GitHub Copilot, révélant des problèmes courants tels que des obstacles à l'utilisation, des problèmes de compatibilité et la qualité des suggestions de code. Les causes vont des problèmes internes du système aux problèmes de connectivité réseau, tandis que les solutions incluent des corrections de bogues, des ajustements de configuration et des mises à jour de version. Dans l’ensemble, les résultats mettent en lumière l’amélioration de l’expérience utilisateur de GitHub Copilot.
featured image - Une étude révèle des problèmes courants rencontrés par les utilisateurs du copilote GitHub
Writings, Papers and Blogs on Text Models HackerNoon profile picture

Cet article est disponible sur arxiv sous licence CC 4.0.

Auteurs:

(1) Xiyu Zhou, École d'informatique, Université de Wuhan, Wuhan, Chine ;

(2) Peng Liang, École d'informatique, Université de Wuhan, Wuhan, Chine ;

(3) Zengyang Li, École d'informatique, Université normale de Chine centrale, Wuhan, Chine ;

(4) Aakash Ahmad, École d'informatique et de communication, Université de Lancaster Leipzig, Leipzig, Allemagne ;

(4) Mojtaba Shahin, École des technologies informatiques, Université RMIT, Melbourne, Australie ;

(4) Muhammad Waseem, Faculté des technologies de l'information, Université de Jyväskylä, Jyväskylä, Finlande.


III. RÉSULTATS ET ANALYSE

Dans cette section, nous rapportons les résultats de l’étude des trois QR et fournissons l’analyse des principales conclusions. Dans la section III-A, nous avons présenté les types de problèmes, tandis que dans les sections III-B et III-C, nous présentons respectivement les types de causes et de solutions pour les problèmes correspondants. Les résultats des types de problèmes sont classés en deux niveaux : catégories (par exemple, problème de contenu de suggestion) et types (par exemple, SUGGESTION MOINS EFFICACE). Pendant ce temps, les résultats pour les causes et les solutions sont organisés uniquement par types (par exemple, Utiliser la version appropriée). Il convient de noter que seules les causes qui ont été prouvées comme étant à l'origine des problèmes et les solutions qui peuvent résoudre les problèmes sont extraites et fournies dans les résultats. Par conséquent, tous les problèmes n’ont pas de causes et de solutions correspondantes. Nous fournissons des exemples avec le symbole « # », qui indique le « GitHub Issue ID », « GitHub Discussion ID » ou « SO Post ID » dans l'ensemble de données fourni [13].


A. Type de problèmes (RQ1)


La figure 2 présente la taxonomie des problématiques extraites de nos données. On peut observer que les problèmes d'utilisation (56,9 %) représentent la majorité des problèmes rencontrés par les utilisateurs de Copilot. En outre, un nombre important d'utilisateurs ont formulé des demandes de fonctionnalités (15,3 %) en fonction de leur expérience et de leurs exigences utilisateur. Une partie des utilisateurs ont également rencontré des problèmes de compatibilité (15,3 %) lors de l'utilisation de Copilot dans différents environnements, tandis que des pourcentages plus faibles ont été identifiés comme des problèmes de contenu de suggestion (4,9 %), des problèmes d'expérience utilisateur (4,2 %) et des problèmes de droits d'auteur et de politique. (3,4%).


  1. Problème d'utilisation (56,9 %) : Le problème d'utilisation fait référence à une catégorie d'obstacles rencontrés par les utilisateurs lorsqu'ils tentent d'utiliser certaines des fonctions fondamentales de Copilot (par exemple, échec d'installation). Cette catégorie de questions est divisée en six types, qui sont détaillés ci-dessous.


• LE PROBLEME D'UTILISATION DES FONCTIONNALITÉS fait référence à l'anomalie de diverses fonctionnalités liées à la génération de code fournies par Copilot. En plus de fournir des suggestions de code, Copilot propose diverses fonctionnalités interactives pour mieux interagir avec les utilisateurs, telles que « suggestion précédente/suivante », « afficher toutes les suggestions » et la configuration de touches de raccourci pour accepter les suggestions. Les utilisateurs peuvent rencontrer des exceptions lors de l'utilisation de ces fonctionnalités. Par exemple, un utilisateur a signalé que « Copilot ne suggère plus sur PyCharm » (Discussion n° 11199).


• PROBLEME DE CONFIGURATION/FONCTIONNEMENT fait référence à des erreurs ou des dysfonctionnements qui se produisent lors de l'initialisation ou du fonctionnement de Copilot, et impliquent souvent des exceptions d'exécution. Ces problèmes peuvent empêcher Copilot de fonctionner correctement ou provoquer un crash inattendu, par exemple lorsqu'un utilisateur rencontre une « erreur de démarrage du copilote dans VSCode » (discussion n° 30996).


• ÉCHEC D'AUTHENTIFICATION fait référence aux problèmes liés à la connexion des utilisateurs et aux difficultés d'authentification lors de l'utilisation de Copilot. Copilot demande aux utilisateurs de se connecter à leur compte GitHub avant d'utiliser le service. Seuls les utilisateurs disposant d'autorisations d'accès (y compris les abonnements payants, la vérification de l'identité des étudiants, etc.) peuvent utiliser le service de génération de code de Copilot. Au cours du processus d'authentification, les utilisateurs peuvent rencontrer divers problèmes liés à celui-ci, entraînant l'impossibilité d'utiliser Copilot. Par exemple, un utilisateur a mentionné dans le forum de discussion : « Je ne peux pas me connecter après la mise à niveau » (Discussion n° 18132).


• ÉCHEC D'ACCÈS fait référence à la situation dans laquelle les utilisateurs ne parviennent pas à accéder au serveur de Copilot, ce qui implique souvent des erreurs liées aux connexions au serveur. Un utilisateur peut rencontrer un message d'erreur tel que « GitHub Copilot n'a pas pu se connecter au serveur » (Discussion n° 11801).


• PROBLEME D'INSTALLATION fait référence aux problèmes rencontrés lors du processus d'installation de Copilot, notamment les erreurs d'installation, l'incapacité de trouver des méthodes d'installation et d'autres problèmes connexes. Par exemple, certains utilisateurs peuvent rencontrer des problèmes tels que « Erreurs lors de l'installation de Copilot » (Discussions n° 17250).


• PROBLÈME DE CONTRÔLE DE VERSION fait référence aux problèmes que les utilisateurs rencontrent lors de l'ajustement de la version de Copilot ou de son environnement d'exécution (par exemple, IDE), y compris l'impossibilité de mettre à niveau la version de Copilot ou des problèmes anormaux comme continuer à demander des mises à niveau même après la mise à niveau. Par exemple, un utilisateur a déclaré « le plugin copilot ne parvient pas à se mettre à jour » lors de son utilisation dans IntelliJ IDEA (discussion n° 17298).


Analyse : en tant que produit de code d'IA relativement nouveau, nous avons identifié un problème d'utilisation à différentes étapes de l'interaction de l'utilisateur avec Copilot. Les utilisateurs ont également tendance à signaler ces problèmes et à rechercher de l'aide, ce qui fait des problèmes d'utilisation la catégorie de problèmes la plus répandue. PROBLEME D'UTILISATION DES FONCTIONNALITES (233), PROBLEME DE CONFIGURATION/FONCTIONNEMENT (201) et ÉCHEC D'AUTHENTIFICATION (199) sont les trois principaux types. Nous attribuons la fréquence plus élevée des deux premiers types de problèmes aux lacunes dans la conception et la stabilité des fonctionnalités de Copilot, qui sont également influencées par les environnements et les opérations des utilisateurs. Le troisième type est principalement associé à des détails spécifiques qui surviennent lorsque Copilot demande aux utilisateurs de se connecter à l'aide de leurs comptes GitHub.


2) Demande de fonctionnalité (15,3 %) : la demande de fonctionnalité fait référence aux fonctionnalités que les utilisateurs demandent à ajouter ou à améliorer en fonction de leur expérience et de leurs besoins réels lors de l'utilisation de Copilot. Ces demandes de fonctionnalités contribuent non seulement à améliorer l'expérience utilisateur de Copilot, mais contribuent également à l'exploration de la manière dont les outils de génération de code d'IA peuvent mieux interagir avec les développeurs. Cette catégorie est divisée en quatre types, comme indiqué ci-dessous.


• DEMANDE DE FONCTION fait référence aux demandes de développement de nouvelles fonctions dans Copilot, qui découlent généralement des besoins réels des utilisateurs et des difficultés rencontrées lors de l'utilisation de l'outil. Par exemple, un utilisateur a suggéré que l'ajout d'une « fonctionnalité d'explications de code » pourrait améliorer l'utilité de Copilot (discussion n° 7509).


• DEMANDE D'INTÉGRATION fait référence à un type de demande visant à ce que Copilot soit disponible sur certaines plateformes ou soit intégré à d'autres plugins. Cela est principalement dû à la volonté de certains utilisateurs d’utiliser Copilot dans des environnements spécifiques. Par exemple, un utilisateur a demandé « Prise en charge de la famille Intellij 2022.2 EAP » (discussion n° 17045). Les demandes d’intégration reflètent également dans une certaine mesure la popularité de Copilot auprès des développeurs.


• DEMANDE D'INTERFACE UTILISATEUR fait référence aux demandes faites par les utilisateurs pour des modifications de l'interface utilisateur (UI) de Copilot, qui peuvent impliquer la modification de l'apparence de l'icône Copilot, l'ajustement des invites d'utilisation et d'autres aspects connexes. Ces demandes visent généralement à améliorer les effets visuels et l’expérience utilisateur de Copilot. Par exemple, un utilisateur peut demander l'ajout d'un « indicateur d'état » (numéro 163) pour fournir des informations sur l'état de fonctionnement actuel de Copilot.


• VERSION COPILOTE PROFESSIONNELLE fait référence aux demandes de certains utilisateurs pour une version professionnelle de Copilot.


Fig. 2. Une taxonomie des problèmes lors de l'utilisation de GitHub Copilot


Ces utilisateurs sont généralement des développeurs issus d'équipes internes de certaines entreprises, qui espèrent bénéficier de services de génération de code plus professionnels et plus fiables dans leur travail réel. Plus précisément, ils ont des exigences plus élevées en matière de fiabilité et de sécurité du code de Copilot, ainsi que de certification d'équipe et d'autres aspects.


Analyse : Pour FUNCTION REQUEST (123), nous avons observé que les utilisateurs expriment généralement le désir d'une plus grande flexibilité dans la configuration de Copilot afin de s'aligner plus étroitement sur leurs habitudes de développement. Par exemple, les demandes courantes incluent la possibilité d'accepter les suggestions de Copilot mot par mot et de spécifier où Copilot doit automatiquement fonctionner en termes de types de fichiers ou d'étendues de développement de code. Des demandes plus innovantes impliquent la nécessité pour Copilot de fournir des suggestions en fonction de l'ensemble du projet, ainsi que des fonctionnalités telles que les explications de code et la fonctionnalité de chat [15], qui ont déjà été lancées en tant qu'aperçu technique dans Copilot X. LA DEMANDE D'INTÉGRATION (75) reflète la souhait des développeurs d'utiliser Copilot dans leurs environnements familiers. Cela impose des exigences plus élevées à l'équipe Copilot, car nous avons identifié un nombre important de problèmes de compatibilité.


3) Problème de compatibilité (15,3 %) : cette catégorie couvre les problèmes résultant de discordances entre Copilot et son environnement d'exécution. Copilot fonctionne comme un plugin dans divers IDE et éditeurs de texte (par exemple, VSCode et IntelliJ IDEA), et la complexité des environnements et les interférences d'autres plugins peuvent entraîner un nombre accru de problèmes de compatibilité. Ces problèmes sont ensuite classés en quatre types, qui sont développés ci-dessous.


• LE PROBLEME DE COMPATIBILITÉ ÉDITEUR/IDE fait référence aux problèmes résultant de disparités entre Copilot et son IDE ou son éditeur. Ces problèmes se manifestent généralement par l’incapacité de Copilot à fonctionner correctement dans un IDE ou un éditeur spécifique.


• PROBLEME DE COMPATIBILITÉ DES PLUG-IN fait référence à un type de problème de correspondance qui survient lorsque Copilot et d'autres plugins sont actifs et travaillent ensemble dans le même environnement. De tels problèmes peuvent entraîner des dysfonctionnements partiels ou complets de Copilot et d'autres plugins et sont généralement identifiés grâce à des méthodes de dépannage telles que la désactivation de Copilot ou d'autres plugins. Par exemple, un utilisateur a signalé « un conflit de raccourci clavier avec Emmet » (numéro 47) qui l'empêchait de recevoir les suggestions de code générées par Copilot.


• LE PROBLEME DE COMPATIBILITÉ DU FRAMEWORK fait référence à un type de problème de compatibilité entre Copilot et le framework sur lequel il fonctionne. Un exemple courant est le problème de compatibilité entre Copilot.vim [16], une version officielle de Copilot conçue spécifiquement pour Vim, et Node.js.


• PROBLEME DE COMPATIBILITÉ DU CLAVIER fait référence à la situation dans laquelle la fonctionnalité de Copilot ne peut pas être utilisée dans certaines configurations de clavier inhabituelles. Par exemple, un utilisateur disposant d'un clavier allemand ne peut pas utiliser la plupart des fonctionnalités liées à la génération de code de Copilot. (Discussion n° 7094).


Analyse : un problème de compatibilité découle des environnements opérationnels complexes dans lesquels les utilisateurs utilisent Copilot, ainsi que de la robustesse de compatibilité de Copilot lui-même. Dans le cas du PROBLÈME DE COMPATIBILITÉ ÉDITEUR/IDE (132), VSCode, la plate-forme officiellement recommandée pour l'utilisation de Copilot, a recueilli un nombre plus élevé de problèmes de compatibilité signalés. Nous avons également trouvé des problèmes similaires dans d'autres IDE largement utilisés, comme Visual Studio, IDEA et PyCharm. L'apparition du PROBLEME DE COMPATIBILITE DES PLUG-IN (72) est moins prévisible, avec des problèmes typiques impliquant des conflits avec d'autres outils de complétion de code.


4) Problème de contenu de suggestion (4,9 %) : Cette catégorie de problèmes fait référence aux problèmes liés au contenu du code généré par Copilot. La génération de suggestions de code est la fonctionnalité essentielle des outils de génération de code d'IA comme Copilot, et la qualité des suggestions détermine directement si les utilisateurs les adopteront. Par conséquent, le contenu du code généré est naturellement un sujet de préoccupation pour les utilisateurs, les chercheurs et l’équipe Copilot. Ces questions sont ensuite divisées en sept situations spécifiques, détaillées ci-dessous.


• SUGGESTION DE FAIBLE QUALITÉ fait référence à des situations dans lesquelles Copilot est incapable de comprendre suffisamment le contexte pour générer du code utile. De telles suggestions de code peuvent ne pas contenir d'erreurs syntaxiques, mais en raison de leur mauvaise qualité, il est peu probable qu'elles soient adoptées par les utilisateurs. Par exemple, Copilot a généré une fois une méthode vide contenant uniquement une instruction return sans répondre aux exigences spécifiées dans le code de l'utilisateur (Discussion n° 6631).


• SUGGESTION NON SENSIBLE fait référence aux suggestions de code fournies par Copilot qui ne correspondent absolument pas aux besoins de l'utilisateur ou produisent un résultat étrange. De telles suggestions sont considérées comme presque inutilisables et n’apportent que peu d’aide heuristique à l’utilisateur. Par exemple, un utilisateur a reçu une fausse URL inaccessible générée par Copilot (discussion n° 14212).


• SUGGESTION AVEC DES BOGUES fait référence à la situation dans laquelle Copilot est capable de générer du code pertinent en fonction du contexte, mais le code suggéré contient quelques bugs. Cela peut permettre au programme de s'exécuter, mais pas de la manière souhaitée par le développeur, ou dans certains cas, provoquer des erreurs ou des plantages. Par exemple, un utilisateur a signalé que Copilot avait suggéré d'utiliser « setState(!state) » au lieu de « setState(true) » (problème n°43), ce qui provoquait un bug logique dans le code.


• SUGGESTION INCOMPRÉHENSIBLE fait référence à la situation dans laquelle Copilot fournit des suggestions de code, mais en raison de la complexité de la logique du code ou du manque d'expérience, les utilisateurs ont eu du mal à comprendre le code suggéré et ont besoin d'une source supplémentaire pour vérifier son exactitude. Par exemple, un utilisateur a déclaré : « Mon copilote Github vient de le compléter automatiquement pour moi, puis j'ai parcouru Internet pour essayer de trouver des informations s'y rapportant, mais je n'y suis pas parvenu ». (OC n° 73075410)


• SUGGESTION AVEC SYNTAXE INVALIDE fait référence à la situation où les suggestions générées par Copilot peuvent contenir des erreurs de syntaxe qui empêchent le bon fonctionnement du programme. Un exemple est lorsque le code suggéré ne comporte pas de parenthèse fermante, ce qui entraîne l'affichage d'une erreur de syntaxe par l'éditeur (discussion n° 38941).


• SUGGESTION MOINS EFFICACE fait référence aux suggestions de code générées par Copilot qui sont fonctionnellement correctes et répondent aux exigences de l'utilisateur, mais peuvent souffrir d'une efficacité d'exécution sous-optimale ou d'une logique alambiquée, affectant potentiellement la qualité globale du code.


• SUGGESTION INSÉCURISÉE fait référence aux suggestions de code générées par Copilot qui introduisent des vulnérabilités de sécurité. Par exemple, un utilisateur a indiqué que la suggestion de code qui lui était adressée ne tenait pas compte des tailles lues (discussion n° 6636).


Analyse : la qualité des suggestions de code est un facteur essentiel pour déterminer la capacité de Copilot à développer du code pratique. Nous avons identifié un nombre relativement faible de problèmes de contenu de suggestion, ce qui indique peut-être que les utilisateurs sont moins enclins à signaler les problèmes liés au code suggéré que les problèmes liés à l'utilisation. Parmi ces problèmes, la SUGGESTION DE FAIBLE QUALITÉ, la SUGGESTION NON SENSIBLE et la SUGGESTION AVEC BOGUES sont les trois types les plus fréquemment signalés, tandis que la SUGGESTION INSÉCURISÉE et la SUGGESTION MOINS EFFICACE sont moins répandues. Ce résultat montre que la qualité du code généré est une préoccupation majeure des utilisateurs, alors que la sécurité et l'efficacité ne sont pas une priorité élevée.


5) Problème d'expérience utilisateur (4,2 %) : cette catégorie couvre les commentaires des utilisateurs sur leur expérience d'utilisation de Copilot. Par rapport à Usage Issue, Copilot s’exécute et fonctionne généralement comme prévu, mais l’expérience utilisateur n’est pas optimale. Des problèmes d’expérience utilisateur peuvent survenir en raison de scénarios d’utilisation spécifiques ou être répandus dans diverses situations, fournissant ainsi un aperçu des domaines dans lesquels Copilot pourrait être amélioré. Les problèmes d’expérience utilisateur peuvent être classés en quatre types, détaillés ci-dessous.


• UNE MAUVAISE EXPÉRIENCE FONCTIONNELLE fait référence à un type de problème d'expérience utilisateur dans lequel l'utilisation des fonctionnalités de base liées à la génération de code de Copilot n'est pas satisfaisante. Ces problèmes peuvent souvent entraver la coordination entre les utilisateurs et Copilot, et même diminuer l'efficacité du travail de développement réel. Par exemple, un utilisateur s'est plaint du fait que les suggestions générées automatiquement fournies par Copilot étaient très distrayantes, l'obligeant à déclencher manuellement la fonctionnalité de génération de code (Discussion n° 13007).


• LA MAUVAISE EXPÉRIENCE D'ABONNEMENT fait référence aux obstacles que les utilisateurs rencontrent lors du processus d'abonnement aux services de Copilot. Copilot propose plusieurs méthodes d'abonnement (par exemple, vérification des étudiants, abonnement payant), entraînant certains désagréments pour les utilisateurs lors du processus d'abonnement. Par exemple, un utilisateur ne savait pas quoi faire après avoir configuré une facturation (discussion n° 19119).


• MAUVAISE PERFORMANCE fait référence aux problèmes de performances qui surviennent lors de l'exécution de Copilot, ce qui a généralement un impact direct sur l'expérience utilisateur. Ces problèmes incluent une utilisation élevée du processeur, des temps de réponse longs et un accès trop fréquent au serveur. • LA MAUVAISE EXPÉRIENCE D'AUTHENTIFICATION fait référence aux désagréments que rencontrent les utilisateurs lors de l'authentification de leur identité avant d'utiliser Copilot. La situation la plus courante est que Copilot invite fréquemment les utilisateurs à se reconnecter, ce qui peut être une source importante de frustration.


Analyse : les problèmes d'expérience utilisateur fournissent des informations précieuses sur la direction à prendre pour améliorer Copilot. Parmi les problèmes de MAUVAISE EXPÉRIENCE DE FONCTIONNALITÉ (25), les problèmes les plus fréquemment signalés concernent les suggestions en ligne de Copilot provoquant des perturbations dans le processus de codage de l'utilisateur (5) et l'inconvénient de ne pas pouvoir accepter certaines parties du code suggéré (2). Ces préoccupations correspondent à certaines des demandes mentionnées par les utilisateurs dans les demandes de fonctionnalités, par exemple, la définition du moment où Copilot peut générer du code et la longueur du code suggéré.


6) Problème de droit d'auteur et de politique (3,4 %) : Copilot est formé sur un vaste corpus de code open source et génère des suggestions de code basées sur le contexte de code des utilisateurs. La manière dont Copilot fonctionne soulève des inquiétudes concernant d’éventuels problèmes de droits d’auteur et de politique, comme l’ont exprimé certains utilisateurs. Ces problèmes sont divisés en trois types, comme indiqué ci-dessous.


• CODE COPYRIGHT ISSUE fait référence aux préoccupations soulevées par certains auteurs de code concernant l'utilisation non autorisée de leur code open source par Copilot pour la formation de modèles. GitHub est actuellement l'une des plateformes d'hébergement de code Web les plus populaires et, depuis la sortie de Copilot, certains auteurs de code soupçonnent que leur code hébergé sur GitHub a été utilisé à des fins de formation sans tenir compte de leur licence.


• PROBLEME DE TÉLÉMÉTRIE DE CODE fait référence aux préoccupations exprimées par les utilisateurs concernant l'approche de Copilot consistant à collecter leur code pour générer des suggestions, ce qui peut potentiellement entraîner une fuite de code confidentiel. Certains utilisateurs peuvent également simplement ne pas vouloir que leur propre code, ainsi que le code généré par Copilot pour eux, soient collectés à d'autres fins.


• VIOLATION DE LA POLITIQUE DU MARKETPLACE est un cas spécifique où un utilisateur a signalé que Copilot pouvait être publié sur le marché VSCode malgré l'utilisation des API proposées, alors que d'autres plugins étaient interdits. L'utilisateur soupçonne que ce comportement pourrait constituer une violation de la politique du marché (problème n° 3).


Analyse : L'émergence de problèmes de droit d'auteur et de politique révèle les inquiétudes des utilisateurs quant au fonctionnement de Copilot. Copilot est formé au code open source multilingue et doit également collecter le contexte du code des utilisateurs pendant son fonctionnement pour générer des suggestions. Ces deux faits ont amené les gens à accorder plus d’attention aux questions de droit d’auteur et de propriété intellectuelle lors de l’utilisation de Copilot, notamment dans le cadre du développement interne.


B. Type de causes (RQ2)


  1. Résultats : Nous avons identifié un total de 337 causes, qui ont été collectées pour 24,1 % de tous les problèmes, et ont été classées en 13 types comme présenté dans le tableau II. Le résultat indique que les causes de problèmes les plus fréquentes sont les problèmes internes du copilote (21,4 %) et les problèmes de connexion réseau (15,4 %), les problèmes de compatibilité éditeur/IDE (11,1 %) et plate-forme non prise en charge (9,2 %) étant également fréquemment signalés. Les cas spécifiques, le nombre d'occurrences et la proportion de chaque type de cause sont présentés dans le tableau II. En raison du manque de place, nous analysons les cinq causes les plus fréquentes. Il convient de noter que certains types de problèmes peuvent potentiellement être à l’origine d’autres problèmes.


2) Analyse : le problème interne du copilote, qui peut entraîner divers types de problèmes d'utilisation, est le type de cause le plus courant. Comme Copilot est un projet à code source fermé, ses détails internes ne sont pas connus publiquement des utilisateurs. Par conséquent, nous attribuons les problèmes en amont liés à Copilot comme problème interne de Copilot, englobant le modèle de langage, la conception fonctionnelle et les problèmes côté serveur, qui sont causés par des facteurs internes. En règle générale, l'identification d'un problème interne de Copilot repose sur les commentaires des utilisateurs concernant des expériences d'utilisation anormales, sur lesquels l'équipe Copilot devra enquêter plus en profondeur pour identifier les causes sous-jacentes spécifiques. De plus, l'apparition d'un problème interne de Copilot entraîne souvent un groupe d'utilisateurs signalant des problèmes similaires au cours d'une certaine période. Par exemple, un mauvais déploiement côté serveur peut amener un groupe d’utilisateurs à rencontrer un ÉCHEC D’AUTHENTIFICATION.


Le problème de connexion réseau est un type courant de causes pouvant entraîner des échecs d'authentification, des exceptions d'exécution, des échecs d'accès, etc. La plupart des problèmes liés au réseau sont attribués à l'environnement réseau de l'utilisateur. Une situation courante est que les utilisateurs accèdent à Copilot via un proxy HTTP ou un VPN, ce qui peut provoquer des interférences SSL et les empêcher d'utiliser le service. Cependant, une bonne nouvelle est que Copilot prend désormais en charge l'accès via un proxy HTTP, répondant ainsi à ces problèmes [17].


Le problème de compatibilité Editor/IDE peut conduire à la génération de divers problèmes d'utilisation, notamment une utilisation anormale des fonctionnalités et des problèmes opérationnels de Copilot, et bien plus encore.


La plate-forme non prise en charge fait référence à la raison pour laquelle certains utilisateurs ne peuvent pas utiliser Copilot efficacement dans certains IDE ou éditeurs de texte, ce qui entraîne principalement des problèmes liés à l'utilisation et à la compatibilité. Étant donné que Copilot n'est pas open source, de nombreuses plates-formes ne sont pas en mesure de l'intégrer immédiatement après sa sortie, ce qui a amené certains utilisateurs à rencontrer divers obstacles lorsqu'ils tentaient de l'utiliser. Par conséquent, nous recommandons aux utilisateurs d'essayer d'utiliser les IDE officiellement pris en charge par Copilot, car cela leur fournira un service de génération de code plus pratique et plus stable, ainsi qu'un accès à une communauté de discussion mature qui peut aider à résoudre les problèmes les plus courants.


Une configuration/paramètre incorrect est l’une des principales causes de problèmes d’utilisation des fonctionnalités et de compatibilité. Par exemple, après l'installation de Copilot, sa configuration et ses paramètres par défaut peuvent entraîner un dysfonctionnement dans un IDE particulier ou un conflit avec d'autres plugins. La majorité de ces problèmes peuvent être résolus grâce à des ajustements de configuration.



C. Type de solutions (RQ3)


  1. Résultats : Nous avons identifié un total de 497 solutions, qui ont été utilisées pour résoudre 35,5 % de tous les problèmes, et ont été classées en 11 types, comme indiqué dans le tableau III. Le résultat révèle que la plupart des bugs d'utilisation ont été résolus par des correctifs officiels (Bogue corrigé par Copilot 27,0 %) après les commentaires des utilisateurs, et lorsque les utilisateurs ont essayé de résoudre les problèmes eux-mêmes, Modifier la configuration/les paramètres (22,1 %), Utiliser la version appropriée (17,1 % ) et Réinstaller/Redémarrer/Réautoriser Copilot (12,3 %) étaient couramment utilisés comme solutions efficaces. Les cas spécifiques, le nombre d'occurrences et la proportion de chaque type de solution sont présentés dans le tableau III. En raison de contraintes d'espace, nous nous concentrerons sur l'interprétation des résultats des 5 meilleures solutions, ainsi que sur certaines analyses importantes. Il convient de noter que les Autres (4,2 %) constituent un ensemble de solutions dédiées, généralement spécifiques à des environnements et à des problématiques particulières.


La correspondance entre les types de problèmes et les types de solutions avec la distribution est présentée dans le tableau IV, en utilisant des abréviations pour représenter chaque type de solution. Par exemple, « BFC » représente Bug corrigé par Copilot. La cartographie montre que la majorité des solutions sont ciblées sur les problèmes d'utilisation et les problèmes de compatibilité. Les principales solutions pour les demandes de fonctionnalités attendent principalement la mise en œuvre officielle des fonctionnalités (FIC) ou l'obtention d'effets similaires via des modifications de configuration ou de paramètres (MCS). Les problèmes d'expérience utilisateur sont principalement améliorés par l'équipe Copilot (BFC). De plus, l'utilisation de la version appropriée de Copilot et de l'éditeur/IDE (USV) peut conduire à une meilleure expérience. Résoudre les problèmes de contenu de suggestion est relativement difficile, car seuls quelques-uns peuvent être résolus en modifiant le mode de saisie (MIW), tandis que la majorité manque de solutions efficaces. Les problèmes de droit d'auteur et de politique ont également des solutions relativement limitées. La solution principale consiste à contrôler la collecte du code des utilisateurs en ajustant les paramètres de Copilot.


2) Analyse : Bug corrigé par Copilot est la principale solution pour résoudre divers problèmes, en particulier certains problèmes d'utilisation et de compatibilité. Cela est raisonnable puisque les problèmes internes de Copilot sont les causes les plus fréquentes, ce qui indique que de nombreux problèmes de Copilot, en tant que nouvel outil, ne peuvent pas être résolus par les propres efforts des utilisateurs. En raison de la nature fermée de Copilot, les utilisateurs peuvent simplement fournir leurs commentaires et attendre la réponse et la solution de l'équipe Copilot.


La modification de la configuration/des paramètres est une solution courante pour résoudre les problèmes liés à des configurations ou des paramètres incorrects, et peut résoudre les PROBLEMES D'UTILISATION DES FONCTIONNALITÉS, LES PROBLEMES DE COMPATIBILITÉ DES PLUG-IN et les ÉCHECS D'AUTHENTIFICATION par les utilisateurs eux-mêmes. De plus, pour certaines demandes de fonctionnalités, les utilisateurs peuvent obtenir les fonctionnalités souhaitées en apportant simplement quelques modifications de configuration, telles que la modification de la liaison des raccourcis clavier pour accepter les suggestions de code. Cependant, nous avons constaté qu'en raison de la complexité des environnements d'exécution de Copilot, il est difficile de fournir une configuration recommandée adaptée à toutes les situations. Chaque cas doit donc être analysé individuellement.


Utiliser la version appropriée fournit un moyen efficace de résoudre les PROBLEMES DE CONFIGURATION/FONCTIONNEMENT, LES PROBLEMES D'UTILISATION DES FONCTIONNALITÉS, les PROBLEMES D'INSTALLATION et les PROBLEMES DE COMPATIBILITÉ ÉDITEUR/IDE. Copilot a été rapidement itéré sur de nombreuses versions en fonction des commentaires des utilisateurs et des plans de développement. Entre-temps, certains IDE ont également publié de nouvelles versions pour être compatibles avec celui-ci. Cependant, certaines anciennes versions peuvent être plus stables que la dernière qui peut contenir des bugs ou des problèmes de compatibilité. Ainsi, utiliser la version appropriée constitue une solution très efficace pour les utilisateurs.


Réinstaller/Redémarrer/Réautoriser Copilot est une autre solution permettant aux utilisateurs de résoudre simplement les ÉCHECS D'AUTHENTIFICATION, les PROBLÈMES DE CONFIGURATION/OPÉRATION et les PROBLÈMES D'UTILISATION DES FONCTIONNALITÉS par eux-mêmes. Son principe est de réinitialiser l'état actuel de Copilot, en ramenant les erreurs ou paramètres précédents qui auraient pu exister à leur état initial.


La fonctionnalité implémentée par Copilot agit comme une action officielle qui répond principalement aux demandes de fonctionnalités des utilisateurs. La vitesse de développement des nouvelles fonctionnalités de Copilot est relativement rapide, et l'équipe Copilot expérimente actuellement certaines des dernières fonctionnalités de Copilot X [18].