O novo gerador de testes baseado em LLM da Meta oferece uma visão do futuro do desenvolvimento
- A Meta publicou o artigo "Automated Unit Test Improvement using Large Language Models at Meta".
- O artigo mostra como usar IA para acelerar o desenvolvimento e reduzir bugs de software.
- Ao integrar LLMs ao fluxo de trabalho dos desenvolvedores, ele propõe melhorias de software precisas e completas para aprimorar a cobertura de código atual.
Pontos principais
- O TestGen-LLM usa a abordagem 'Assured LLM-based Software Engineering' (Assured LLMSE).
- Ele usa uma abordagem de ensemble que gera melhorias de código com vários LLMs, prompts e hiperparâmetros, e seleciona a melhor melhoria.
- O TestGen-LLM foi projetado especificamente para melhorar testes já escritos por humanos.
Estatísticas
- Na avaliação dos produtos Reels e Stories do Instagram, 75% dos casos de teste gerados pelo TestGen-LLM compilaram com sucesso, 57% passaram de forma confiável e 25% aumentaram a cobertura.
- O TestGen-LLM conseguiu melhorar 10% de todas as classes às quais foi aplicado, e os desenvolvedores aceitaram 73% das melhorias de teste e as colocaram em produção.
- Em um "test-a-thon" em que engenheiros da Meta geraram testes para aumentar a cobertura de testes do Instagram, a mediana das linhas de código adicionadas pelos testes do TestGen-LLM foi de 2,5.
Insights práticos
- Este é um bom exemplo de como LLMs podem ser usados para melhorar com eficiência a produtividade de desenvolvimento e a confiabilidade de software.
- O verdadeiro valor dos LLMs está em encontrar e capturar edge cases inesperados.
- Para usar LLMs em produção, são necessários orquestração, pipelines e processamento.
Como o TestGen-LLM funciona
- O TestGen-LLM aplica uma série de filtros semânticos às soluções candidatas geradas pelo LLM interno da Meta para preservar apenas os testes de maior valor.
- Filtro 1: capacidade de compilação, Filtro 2: execução (se o teste passa), Filtro 3: instabilidade, Filtro 4: melhoria de cobertura.
- Esses filtros de processamento garantem a melhoria da suíte de testes.
Conclusão
- Este artigo é uma boa forma de acompanhar os avanços dos LLMs na área de confiabilidade de software, algo para o qual muitos desenvolvedores já usam LLMs.
- Os LLMs serão cada vez mais capazes de encontrar bugs e testar sistemas de software cada vez mais complexos.
Opinião do GN⁺
- Este artigo oferece insights interessantes sobre como a inteligência artificial pode impactar o futuro do desenvolvimento de software.
- Ferramentas como o TestGen-LLM podem ser de grande ajuda para automatizar o trabalho dos desenvolvedores e aumentar a eficiência.
- O avanço dessas tecnologias está seguindo na direção de reduzir a complexidade do desenvolvimento de software, melhorar a qualidade e economizar tempo dos desenvolvedores.
1 comentários
Comentários do Hacker News