Representação de dados heterogêneos em cenário de poucos dados aplicada a automação de teste de software através de redes siamesas - Soares, Yan Rodrigo da Silva (2023)
O lançamento de novas versões do sistema operacional Android induz os fabricantes de dispositivos móveis a introduzirem suas próprias atualizações para garantir a compatibilidade e a qualidade do software. No entanto, para assegurar a sua qualidade, é necessário conduzir testes rigorosos no mesmo, o que frequentemente implica em despesas crescentes. Desta forma, existe uma clara necessidade de automatizar ao máximo esse processo. Para isto, as empresas podem dispor de um framework que inclui uma série de comandos de automação, destinados a realizar tarefas simples de teste. Nesse contexto, um operador é encarregado de ler a descrição de um caso de teste e selecionar o comando correspondente. Diante dessa problemática, o objetivo deste trabalho é ajudar os operadores na busca por comandos, onde para cada passo de um caso de teste, procura-se o comando que executa esta ação. Foram utilizados redes siamesas, combinadas com MLM (Masked Language Model), para representar tanto os passos quanto os comandos de automação no mesmo espaço vetorial. Isso nos permite buscar comandos com base na similaridade de cosseno. Nos propomos a usar uma função de perda que aproxime os passos de teste de seus comandos correspondentes, de modo que fiquem próximos no espaço latente de representação. Além disso, foi incorporado o uso da BLOOM, um modelo de linguagem, para gerar dados sintéticos que auxiliam na busca por comandos quando não há um par correspondente de passo de teste. Para representar os dados, foi utilizado o modelo RoBERTa e por fim, aplicado o LambdaMART para realizar uma fusão de ranking nas sugestões de classificação dadas nos rankings, criando assim um ranking enriquecido. Os resultados finais foram muito promissores em ambos os experimentos propostos, avaliados por meio das métricas MRR, MAP e HitRate, onde houve uma média de 0.58 para o MRR no primeiro experimento e 0.31 no segundo experimento, concluindo que a proposta analisada é eficaz ao recomendar os comandos corretos nas posições mais altas do ranking recomendado.