Autores:
(1) Xiyu Zhou, Escola de Ciência da Computação, Universidade de Wuhan, Wuhan, China;
(2) Peng Liang, Escola de Ciência da Computação, Universidade de Wuhan, Wuhan, China;
(3) Zengyang Li, Escola de Ciência da Computação, Universidade Normal da China Central, Wuhan, China;
(4) Aakash Ahmad, Escola de Computação e Comunicações, Lancaster University Leipzig, Leipzig, Alemanha;
(4) Mojtaba Shahin, Escola de Tecnologias de Computação, Universidade RMIT, Melbourne, Austrália;
(4) Muhammad Waseem, Faculdade de Tecnologia da Informação, Universidade de Jyväskylä, Jyväskylä, Finlândia.
Melhore a compatibilidade entre vários IDEs e editores e simplifique a configuração do Copilot. De acordo com os resultados de RQ1 e RQ2, o problema de compatibilidade é a segunda maior categoria, e o problema de compatibilidade do editor/IDE é a causa que leva a muitos problemas de uso. Do ponto de vista dos usuários, também observamos muitas discussões sobre os detalhes relacionados à configuração e definições do Copilot, o que torna Modify Configuration/Setting a segunda solução mais utilizada. Além disso, configuração/configuração inadequada é a quinta causa mais comum de problemas. Com base nas descobertas, acreditamos que melhorar a compatibilidade e simplificar o processo de configuração do Copilot para os usuários pode melhorar significativamente sua experiência. Portanto, a equipe do Copilot pode oferecer diretrizes de instalação e configuração mais detalhadas, fornecer opções de configuração fáceis de usar e realizar atualizações e manutenção regulares.
Necessidade de mais opções de personalização para permitir que os usuários adaptem o comportamento do Copilot para se alinhar ao seu próprio fluxo de trabalho. Entre as 123 SOLICITAÇÕES DE FUNÇÃO, identificamos 52 instâncias dessas solicitações para customizar o comportamento do Copilot em diversos aspectos, representando aproximadamente 50%. Algumas solicitações comuns são especificar os tipos de arquivo ou espaço de trabalho em que o Copilot é executado automaticamente (11), modificar as teclas de atalho para aceitar sugestões (10), aceitar sugestões de código linha por linha ou palavra por palavra (9), evitar que o Copilot gerar certos tipos de sugestões (por exemplo, caminhos de arquivos, comentários) (3) e configurar cores e fontes do texto (3). No estudo de Zhang et al. [19], também indicaram que é essencial permitir que os usuários tenham customização para sugestões. Além disso, de acordo com a EXPERIÊNCIA DE POBRE FUNCIONALIDADE (por exemplo, perceber as auto-sugestões do Copiloto como distrativas, o que também é mencionado no estudo de Bird et al. [20]), podemos discernir a demanda por customização do comportamento do Copiloto. De acordo com os resultados, acreditamos que até que ponto o comportamento do Copilot pode se adaptar bem aos hábitos de codificação individuais dos usuários é um fator significativo na decisão de usar o Copilot. Portanto, fornecer opções de personalização flexíveis e fáceis de usar é altamente benéfico. Além disso, é significativo explorar como as ferramentas de codificação de IA devem interagir com os utilizadores e integrar estas ferramentas no desenvolvimento prático.
Os usuários precisam de mais formas de controlar o conteúdo gerado pelo Copilot. Na Tabela IV, pode-se observar que a maioria das soluções visa resolver problemas de uso e problemas de compatibilidade, embora haja uma pequena quantidade de soluções para problemas de conteúdo de sugestões. Dos 69 problemas de conteúdo sugerido, identificamos apenas 5 soluções, indicando que os usuários podem achar um desafio fornecer soluções ideais para os problemas de conteúdo sugeridos pelo Copilot. Isso se deve parcialmente ao motivo de os usuários terem formas limitadas de controlar a geração de código do Copilot, além do código e dos comentários do código em si. Portanto, métodos adicionais são necessários para resolver o problema de conteúdo de sugestão, por exemplo, permitindo que os desenvolvedores interajam com o Copilot e iterem o código gerado até que o código atinja as expectativas dos desenvolvedores.
Melhore a qualidade do código gerado pelo Copilot. Em Questões de Conteúdo de Sugestão, os tipos predominantes são SUGESTÃO DE BAIXA QUALIDADE (27) e SUGESTÃO ABSURDA (13). O experimento de Imai et al. [9] descobriram que, em comparação com a programação em pares humanos, o Copilot, embora seja capaz de gerar uma quantidade significativa de código, também levou a mais exclusões de código durante os testes, destacando a necessidade de melhoria na qualidade do código do Copilot. Pássaro et al. [20] observaram que o Copilot ocasionalmente oferece sugestões de código peculiares e sem sentido, conforme relatado pelos usuários, algumas das quais podem incluir informações pessoais. Além disso, embora SUGESTÃO INSEGURA e SUGESTÃO MENOS EFICAZ tenham apenas duas ocorrências, acreditamos que isso se deve principalmente ao fato de os usuários terem dificuldade em detectar problemas desse tipo e estarem menos inclinados a relatá-los. Pearce et al. [6] descobriram que dos 1.689 trechos de código gerados pelo Copilot, 40% eram vulneráveis. Dadas as sucessivas iterações do Copilot, torna-se imperativo realizar avaliações regulares da qualidade das suas sugestões.
O uso do Copilot altera o processo de codificação e aumenta o tempo de verificação das sugestões de código, tornando as explicações do código altamente importantes. Em nossa pesquisa, SUGESTÃO INCOMPREENSÍVEL (8) é classificada como o quarto problema de conteúdo de sugestão mais comum. Alguns usuários mencionaram problemas com sugestões de código excessivamente longas, resultando em legibilidade reduzida. Isso indica que quando o Copilot fornece sugestões relativamente complexas ou quando os usuários não têm experiência de codificação em um domínio específico, compreender a lógica do código e verificar sua exatidão pode ser demorado. O estudo de Wang et al. [21] mostra que o uso de código gerado por IA pode levar a uma pressão de revisão significativa. Portanto, acreditamos que as ferramentas de codificação de IA (por exemplo, Copilot) mudarão a alocação do tempo gasto em diversas tarefas no desenvolvimento de software. Observamos quatro solicitações de recursos relacionadas à explicação do código, e a equipe do Copilot dá ênfase significativa à expansão dessa funcionalidade. O recurso de chat [15] introduzido no Copilot X já é capaz de fornecer explicações detalhadas do código, enquanto sua precisão requer avaliação experimental adicional em estágios subsequentes.
Considere Propriedade Intelectual e Direitos Autorais. O número de problemas de direitos autorais e políticas é um pouco maior do que esperávamos e observamos muitas preocupações de usuários e proprietários de repositórios GitHub durante o processo de extração de dados. Pássaros et al. [20] também notaram algumas discussões sobre como os direitos autorais se aplicavam às sugestões de código do Copilot. O objetivo da nossa pesquisa não é fornecer uma avaliação de tais questões e da natureza de código não aberto do Copilot, pois é um problema complexo que depende de vários fatores, como o objetivo, os usuários-alvo e o modelo de negócios do Copilot. No entanto, afirmamos que a equipa do Copilot pode tomar medidas para resolver estes problemas, fornecendo serviços de geração de código estáveis e de alta qualidade, ao mesmo tempo que protege a privacidade do utilizador e a propriedade intelectual.
Este artigo é