O pacote de software dos alunos do MIT corrige automaticamente a operação dos programas

imagem

Em uma conferência sobre o desenvolvimento e implementação de linguagens de programação, uma equipe de especialistas em computação do Instituto de Tecnologia de Massachusetts (MIT) apresentou um sistema com recursos surpreendentes . Segundo eles, este pacote de software encontra automaticamente erros nos programas e os corrige, substituindo em seu lugar por peças adequadas à funcionalidade de outros programas. Ao mesmo tempo, o sistema não precisa se familiarizar com o código fonte do programa que está sendo corrigido para operação - ele precisa apenas de um arquivo executável.

Os programadores virtuosos nomearam seu programa CodePhage (codephage). Os desenvolvedores explicam que seu sistema "analisa a execução do programa e caracteriza os tipos de verificações de segurança que ele realiza". Depois disso, o codeófago pode fazer as mesmas verificações de outros programas doadores, mesmo se eles estiverem escritos em outras linguagens de programação, e alimentá-los no programa destinatário. Como os doadores são selecionados para isso, os desenvolvedores não especificaram.

"Já existem muitos programas de código aberto - existem milhões de projetos nos repositórios e muitos deles atendem a especificações semelhantes", diz Stelios Sidiroglu-Duskos, sob cuja liderança o CodePhage foi desenvolvido. - Mesmo que os programas sejam essencialmente diferentes, eles geralmente podem encontrar componentes com funcionalidade semelhante. Com o CodePhage, um dia será possível criar um sistema híbrido que inclua os melhores componentes de todas as implementações disponíveis. ”

Para iniciar a busca por erros, o código-fago mágico precisa um pouco - um conjunto de dados de entrada nos quais o programa em estudo falha e outro no qual não falha. Em seguida, o codephage inicia automaticamente o programa doador com esses conjuntos de dados e registra seu trabalho. Por exemplo, se o programa destinatário pode abrir arquivos de um determinado formato, mas tropeça em algum arquivo, o CodePhage registra tudo o que o programa doador "correto" faz com esse arquivo, em particular, o que é executado. Depois disso, o codeófago analisa como a operação do programa doador difere da operação do programa destinatário e o corrige de acordo.

Os desenvolvedores afirmam que seu programa corrigiu com êxito os programas que estão funcionando incorretamente e estão otimistas sobre o futuro, no qual os programadores não terão que escrever aqueles trechos de código cuja funcionalidade já foi implementada por alguém.

"A tecnologia de emprestar código de outro programa com funcionalidade semelhante e corrigir um programa com defeito é certamente interessante", disse Emery Berger, professor de TI de outra Universidade de Massachusetts em Amherst, que comentou o trabalho de especialistas. "Para ser sincero, estou surpreso que ela até funcione."

Source: https://habr.com/ru/post/pt381263/


All Articles