Programadores não podem confiar na Inteligência Artificial para programar melhor

Um trabalho de investigadores da Universidade de Stanford descobriu que os programadores que utilizavam assistentes de IA como o GitHub Copilot acabaram de facto por escrever um código menos seguro.

Além disso, tais ferramentas também incitam os programadores a uma falsa sensação de segurança, com muitos a acreditarem que produzem melhor código.

Cerca de 50 sujeitos, cada um com diferentes níveis de perícia, receberam cinco tarefas de programação, utilizando várias línguas, com alguns apoiados por uma ferramenta de IA, e outros sem qualquer tipo de ajuda.

Os autores do artigo – Neil Perry, Megha Srivastava, Deepak Kumar, e Dan Boneh – afirmaram que houve “resultados particularmente significativos para a encriptação de strings e injeção SQL“.

Também referiram pesquisas anteriores que constataram que cerca de 40% dos programas criados com assistência do GitHub Copilot continham código vulnerável. Embora um estudo de acompanhamento tenha descoberto que os programadores que utilizam Large Language Models (LLM), tais como o OpenAI’s code-cushman-001 codex – no qual o GitHub Copilot se baseia – apenas resultaram em 10% mais bugs de segurança críticos.

Contudo, os investigadores de Stanford explicaram que o seu próprio estudo analisou o modelo codex-davinci-002 da OpenAI, um modelo mais recente do que o Cushman, que também é utilizado por GitHub Copilot.

Foram também examinadas várias linguagens de programação, incluindo Python, Javascript e C, o que o estudo anterior não fez. De facto, no artigo de Stanford, aqueles que usavam IA para codificar em C também não resultaram em significativamente mais erros; o que é surpreendente.

Uma das cinco tarefas envolvia a escrita de código em Python, é aqui que o código era mais suscetível de ser erróneo e inseguro quando se utilizava um meio de assistência por IA. Além disso, também era “significativamente mais provável que se utilizassem cifras triviais, tais como cifras de substituição (p < 0,01), e não se realizasse uma verificação de autenticidade do valor final devolvido“.

Os autores esperam que o seu estudo conduza a melhorias na IA em vez de descartar completamente a tecnologia, devido às potenciais melhorias de produtividade que tais ferramentas podem oferecer. Eles apenas sustentam que devem ser utilizados com cautela, uma vez que podem induzir os programadores em erro a pensar que são infalíveis.

Também pensam que os assistentes de IA podem encorajar mais pessoas a envolverem-se na programação, independentemente da sua experiência; pessoas essas que também podem ser desencorajadas pelo ambiente de trabalho em torno da disciplina.

Fonte: The Register

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui