Key points are not available for this paper at this time.
Os Testes de Software podem consumir até metade dos recursos no desenvolvimento de novo software. Embora tenha havido muito trabalho na automação da fase de teste, corrigir um bug após sua descoberta ainda é uma tarefa dos programadores. Existem técnicas para ajudar os desenvolvedores de software a localizar bugs, e elas são conhecidas como Depuração Automatizada. No entanto, até onde temos conhecimento, houve apenas poucas tentativas no passado de automatizar completamente a alteração real do software para corrigir os bugs. Portanto, neste artigo propomos uma abordagem evolutiva para automatizar a tarefa de corrigir bugs. A ideia básica é evoluir os programas (por exemplo, usando Programação Genética) com uma função de aptidão que se baseia em quantos testes unitários eles são capazes de passar. Se uma especificação formal do software com bugs for fornecida, funções de aptidão mais sofisticadas podem ser projetadas. Além disso, usando a especificação formal como um oráculo, podemos gerar quantos testes unitários quisermos. Assim, pode ocorrer uma co-evolução entre programas e testes unitários para obter resultados ainda melhores. É importante saber que, para corrigir os bugs em um programa com essa nova abordagem, um usuário precisa apenas fornecer uma especificação formal ou um conjunto de testes unitários. Nenhuma outra informação é necessária.
Andrea Arcuri (Sáb,) estudou essa questão.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: