GitHub Copilot
HistóriaEm 29 de Junho de 2021, o GitHub anunciou o GitHub Copilot na versão beta para o ambiente de desenvolvimento Visual Studio Code.[1][4] Em 26 de Outubro de 2021, o GitHub Copilot foi liberado por meio de um plug-in para JetBrains.[5] Em 27 de Outubro de 2021, o GitHub liberou um plugin do GitHub Copilot para o Neovim plugin como um repositório publico.[6] Em 27 de Março de 2022, o GitHub anunciou oficialmente a disponibilidade do GitHub Copilot para o Visual Studio IDE 2022.[7] RecursosO GitHub Copilot é mantido pelo OpenAI Codex, um modelo de inteligência artificial criado pela OpenAI, que nada mais é do que um laboratório de pesquisa de inteligência artificial.[8] O OpenAI Codex é uma versão de produção modificada do Generative Pre-trained Transformer 3 (GPT-3), um modelo de linguagem que usa deep-learning para produzir texto semelhante ao humano.[9] Por exemplo, quando se é fornecido um problema de programação em linguagem natural, o Codex é capaz de gerar o código da solução.[10] É também capaz de descrever o código de entrada em inglês e traduzir o código entre linguagens de programação.[10] O GPT-3 do Codex é licenciado exclusivamente para a Microsoft, empresa detentora do GitHub.[11] O OpenAI Codex da Copilot é treinado com base no idioma inglês, em repositórios públicos do GitHub e outros códigos-fonte disponíveis publicamente.[3] Isso inclui um conjunto de dados filtrado de 159 gigabytes de código Python proveniente de 54 milhões de repositórios públicos do GitHub.[12] De acordo com seu site, o GitHub Copilot inclui recursos para auxiliar programadores, como a conversão de comentários de código em código executável e preenchimento automático para trechos de código, seções repetitivas de código e métodos e/ou funções inteiros.[3][13] O GitHub expõe que o recurso de preenchimento automático do Copilot é preciso em cerca de metade das vezes; com um código de cabeçalho de uma função Python, por exemplo, o Copilot completou automaticamente o restante do corpo código da função em 43% das vezes na primeira tentativa e 57% das vezes após dez tentativas.[3] O GitHub afirma que os recursos disponibilizados pelo Copilot permitem que os programadores naveguem em estruturas e linguagens de codificação desconhecidas, reduzindo a quantidade de tempo que os usuários gastam lendo a documentação .[3] RecepçãoDesde o lançamento do Copilot, houve preocupações em relação a sua segurança e o impacto educacional, bem como controvérsias em relação do licenciamento do código produzidos pela ferramenta.[2][10][14] Controvérsia sobre o licenciamentoEmbora a maior parte do código produzido pelo Copilot possa ser classificado como um trabalho inovador, o próprio GitHub admitiu que uma pequena parte é de fato copiada literalmente, o que levou a um receio no sentido de que o código gerado não seja suficientemente inovador para ser classificado como uso justo e possa infringir os direitos autorais do autor original.[2] Isso deixa o Copilot em um terreno legal desconhecido, embora o GitHub afirme que "treinar modelos de aprendizado de máquina em dados disponíveis publicamente é considerado uso justo em toda a comunidade de aprendizado de máquina".[2] White papers da FSFEm 28 de julho de 2021, a Free Software Foundation (FSF) publicou uma chamada financiada para white papers sobre questões filosóficas e jurídicas em torno do Copilot.[15] Donald Robertson, Gerente de Licenciamento e Conformidade da FSF, afirmou que "o Copilot levanta muitas [...] questões que exigem uma analise mais profunda".[15] Em 24 de fevereiro de 2022, a FSF anunciou que recebeu 22 artigos sobre o assunto e, usando um processo de revisão anônima, escolheu 5 artigos para destacar.[16] Preocupações com a segurançaUm artigo aceito para publicação no IEEE Symposium on Security and Privacy (Simpósio sobre Segurança e Privacidade) em 2022 avaliou a segurança do código gerado pelo Copilot para as 25 principais fraquezas enumeradas no código do MITRE (por exemplo, cross-site scripting, path traversal e etc) em 89 contextos diferentes e em 1.689 programas.[14] Isso foi feito ao longo dos eixos de diversidade de pontos fracos (a sua capacidade de responder a cenários que podem conduzir a vários pontos fracos do código), diversidade de sugestões (sua capacidade de responder à mesma fraqueza de código com variações sutis) e diversidade de domínios (sua capacidade de gerar especificações de hardware em nível de transferência de registro em Verilog).[14] O estudo descobriu que nesses eixos em vários idiomas, 39,33% das principais sugestões e 40,73% do total de sugestões levam a vulnerabilidades de código. Além disso, descobriram também que pequenas alterações não semânticas (ou seja, comentários) feitas no código podem afetar a segurança do mesmo.[14] Preocupações com a educaçãoUm artigo de fevereiro de 2022 divulgado pela Association for Computing Machinery avalia o impacto que o Codex, a tecnologia usada pelo Github Copilot, pode ter na educação de programadores iniciantes.[10] O estudo utiliza questões de avaliação de uma aula introdutória de programação na Universidade de Auckland e compara as respostas do Codex com o desempenho dos alunos.[10] Os pesquisadores descobriram que o Codex, em média, teve um desempenho melhor do que a maioria dos alunos; no entanto, seu desempenho diminuiu em questões que limitavam os recursos que poderiam ser usados na resolução (por exemplo, condicionais, coleções e laços de repetição).[10] Dado esse tipo de problema, “apenas duas das 10 soluções [do Codex] produziram a saída correta, mas ambas [...] violaram [a] restrição”. O artigo conclui que o Codex pode ser útil para fornecer uma variedade de soluções aos alunos, mas também pode levar ao excesso de confiança e ao plágio.[10] Planos futurosEm seu site, o GitHub afirma que, se a versão beta do Copilot for bem-sucedida, eles planejam comercializar a ferramenta no futuro.[3] Além disso, a Microsoft – empresa dona do GitHub – declarou seus planos futuros de comercializar o Copilot como parte de seus produtos Visual Studio.[17] Referências
Ligações externas |
Portal di Ensiklopedia Dunia