Key points are not available for this paper at this time.
A popularidade da programação orientada a objetos levou ao uso amplo de bibliotecas de contêineres. É importante para a confiabilidade desses contêineres que eles sejam testados adequadamente. Descrevemos técnicas para geração automatizada de entradas de teste para classes de contêiner Java. As entradas de teste são sequências de chamadas de método a partir da interface do contêiner. As técnicas dependem da correspondência de estado para evitar a geração de testes redundantes. Técnicas exaustivas usam verificação de modelo com execução explícita ou simbólica para explorar todas as sequências de teste possíveis até tamanhos de entrada pré-definidos. As técnicas com perdas dependem de mapeamentos de abstração para computar e armazenar versões abstratas dos estados concretos; elas exploram subaproximações de todas as sequências de teste possíveis. Implementamos as técnicas sobre o verificador de modelo Java PathFinder e as avaliamos usando quatro classes de contêiner Java. Comparamos técnicas baseadas em correspondência de estado e seleção aleatória para gerar entradas de teste, em termos de cobertura de teste. Consideramos cobertura de bloco básico e uma forma de cobertura de predicado - que mede se todas as combinações de um conjunto pré-determinado de predicados são cobertas em cada bloco básico. As técnicas exaustivas podem facilmente obter cobertura de bloco básico, mas não conseguem obter boa cobertura de predicado antes de esgotar a memória. Por outro lado, a correspondência abstrata se mostra uma abordagem poderosa para gerar entradas de teste e obter alta cobertura de predicado. A seleção aleatória teve um bom desempenho, exceto nos exemplos que continham espaços de entrada complexos, onde as técnicas de abstração com perdas tiveram um desempenho melhor.
Visser et al. (Sex,) estudaram essa questão.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: