MASTOR: A Multi-Agent Approach to Semantic Test Oracle Generation for RESTful APIs
O MASTOR é um framework multiagente que aproveita a análise de código-fonte e um processo de revisão de agente desafiador para gerar oráculos de teste semânticos para APIs RESTful, superando significativamente os baselines existentes na detecção de violações de lógica de negócio e alcançando uma pontuação de mutação de 75,4%.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você está contratando uma equipe de inspetores para verificar uma fábrica enorme e complexa que produz produtos digitais (APIs). A fábrica possui centenas de máquinas diferentes (endpoints) que recebem entradas e entregam produtos.
Tradicionalmente, ao testar essas máquinas, os inspetores verificam apenas a etiqueta de envio. Eles perguntam: "A máquina ligou? Ela retornou um adesivo de 'Sucesso' (HTTP 200)? A caixa tem o formato correto?" Se o adesivo estiver verde e a caixa parecer correta, o inspetor diz: "Tudo certo!"
O Problema:
O artigo argumenta que isso é perigoso. Uma máquina pode estar quebrada por dentro, produzindo o produto errado, mas ainda assim colar um adesivo perfeito de "Sucesso" na caixa e manter o formato correto. A etiqueta não diz se o produto dentro da caixa é realmente o que o cliente pediu. Isso é uma falha "semântica" — a lógica está errada, mesmo que a superfície pareça perfeita.
A Solução: MASTOR
Os autores construíram um novo sistema chamado MASTOR (Abordagem Multiagente para Geração de Oráculos Semânticos). Em vez de apenas olhar para a etiqueta de envio, o MASTOR envia uma equipe de agentes especializados para percorrer o chão de fábrica, ler as plantas (código-fonte) e entender exatamente como cada máquina deveria funcionar.
Aqui está como o MASTOR funciona, dividido em etapas simples:
1. O Leitor de Plantas (Análise de Fonte)
Antes dos testes, o MASTOR envia um Agente de Extração de Fonte para a fábrica.
- O que ele faz: Ele não olha apenas para uma máquina; ele rastreia cada fio, cano e instrução manual conectado a essa máquina (um "fechamento de importação transitiva").
- O Resultado: Ele cria um "Contexto de Fonte" detalhado para cada máquina. Isso é como uma folha de dicas que diz: "Se você inserir um número menor que 2, a máquina deve retornar um erro de 'Requisição Inválida'. Se você inserir um nome válido, ela deve retornar a capital específica."
2. A Equipe de Inspeção de Duas Trilhas (Geração de Oráculo)
Uma vez que as folhas de dicas estão prontas, o MASTOR divide o trabalho em duas equipes paralelas:
- Equipe A (Caminho de Operação Única): Estes agentes olham para uma máquina de cada vez. Eles perguntam: "Se eu der uma entrada quebrada para esta máquina, ela trava corretamente com o código de erro certo? Se eu der uma entrada boa, ela retorna exatamente os campos de dados corretos?" Eles usam quatro estratégias diferentes (como verificar limites e inverter a lógica) para garantir que nada seja esquecido.
- Equipe B (Caminho de Múltiplas Operações): Estes agentes observam como as máquinas conversam entre si. Por exemplo, a Máquina A cria um usuário e lhe dá um ID. A Máquina B precisa desse ID para buscar o perfil do usuário. A Equipe B verifica: "A Máquina A realmente salvou o ID corretamente para que a Máquina B possa encontrá-lo mais tarde?" Isso detecta erros que ocorrem quando as máquinas trabalham juntas.
3. O Editor Rigoroso (Agente Desafiador)
Este é o ingrediente secreto. Depois que as equipes escrevem suas regras de inspeção (oráculos), elas não as entregam simplesmente.
- A Revisão: Um Agente Desafiador dedicado (um editor rigoroso) lê cada regra. Ele pergunta: "Você tem certeza disso? Você realmente leu a planta ou está apenas adivinhando?"
- A Correção: Se o editor encontrar uma regra fraca ou um palpite, ele a envia de volta para a equipe original com uma nota: "Volte e corrija esta parte específica." A equipe reescreve apenas aquela parte. Isso garante que as regras finais sejam sólidas e baseadas em evidências reais, não em alucinações.
4. O Relatório Final (Normalização e Saída)
Finalmente, o sistema limpa as regras, descarta quaisquer que não façam sentido e as transforma em três formatos úteis:
- Código Executável: Pronto para rodar automaticamente em um pipeline de CI/CD (como um robô verificando a fábrica todas as noites).
- Scripts do Postman: Prontos para desenvolvedores testarem manualmente.
- Legível por Humanos: Uma descrição em inglês simples para que um humano possa ler e entender por que um teste existe.
Os Resultados (O Placar)
Os autores testaram o sistema em 13 projetos de fábricas reais (contendo mais de 250.000 linhas de código e 296 máquinas diferentes).
- A Pontuação: O MASTOR detectou 75,4% dos bugs ocultos (mutações) que foram plantados no código.
- Comparação:
- Comparado a apenas pedir para uma IA inteligente adivinhar as regras com base na etiqueta de envio (Prompt Direto), o MASTOR foi 30% melhor.
- Comparado a uma ferramenta que lê apenas o manual oficial (SATORI), o MASTOR foi 49% melhor.
- Por quê? Porque o SATORI e o Prompt Direto dependem do que está escrito ou do que é adivinhado. O MASTOR depende do que é realmente codificado. Se o manual diz "Retorne uma lista", mas o código diz "Retorne uma lista apenas se o usuário for administrador", o MASTOR sabe a verdade porque ele leu o código.
O Custo
O sistema é um pouco mais caro para rodar do que um simples palpite (custa cerca de US$ 0,56 por API em média), mas os autores argumentam que vale a pena porque encontra os erros de lógica profundos e ocultos que outras ferramentas perdem.
Em Resumo:
O MASTOR é como contratar uma equipe de detetives especialistas que não apenas verificam a embalagem de um produto; eles leem os diagramas de fiação interna da fábrica para garantir que o produto dentro seja exatamente o que deveria ser. Eles revisam uns aos outros para garantir que nenhum erro passe despercebido, resultando em uma rede de segurança de muito maior qualidade para o software.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.