Um algoritmo para o cálculo de cobertura de estados

DSpace Repository

A- A A+

Um algoritmo para o cálculo de cobertura de estados

Show simple item record

dc.contributor Universidade Federal de Santa Catarina pt_BR
dc.contributor.advisor Vilain, Patrícia pt_BR
dc.contributor.author Nascimento, Martim Azevedo do pt_BR
dc.date.accessioned 2015-10-20T03:11:57Z
dc.date.available 2015-10-20T03:11:57Z
dc.date.issued 2015 pt_BR
dc.identifier.other 334834 pt_BR
dc.identifier.uri https://repositorio.ufsc.br/xmlui/handle/123456789/135670
dc.description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2015. pt_BR
dc.description.abstract Cobertura de estados é um critério de adequação de testes de software que mede a quantidade de modificações de estados feitas durante a execução dos testes que foram verificadas através de asserções. O presente trabalho propõe um algoritmo para o cálculo de cobertura de estados baseado em construções comuns a linguagens orientadas a objetos, como atribuições, retorno de métodos e chamadas de funções. O algoritmo identifica modificações de estados cobertas por asserções através de um novo cálculo de influências de atributos em métodos de uma classe baseado na extração de dependências entre identificadores existentes no código. São apresentados ainda uma extensão à definição de estado modificado levando em consideração a distinção entre atributos simples e compostos (estruturas de dados) e uma implementação do algoritmo através da instrumentação de bytecode Java. Experimentos feitos em sete projetos de código aberto mostraram a utilidade do algoritmo na identificação de atributos não verificados por asserções mas executados pelo teste. Ao inserir erros propositais nestes atributos os testes não falharam. Em uma situação real, estes erros estariam imperceptíveis pelos desenvolvedores. Os experimentos ainda mostraram que a execução do algoritmo adicionou um overhead de 20% a 33% no tempo de execução dos testes unitários, um valor abaixo dos trabalhos existentes.<br> pt_BR
dc.description.abstract Abstract : State coverage is a test adequacy criterion that measures the quantity of state modifications made by a test execution that were verified by assertions. This work proposes an algorithm for state coverage based on common constructions of object-oriented languages, such as assignments, method returns and function calls. The algorithm identifies influences of an instance attribute on assertions applying a new method to compute influences of attributes on methods. This work also presents an extension to the modified state definition by applying a distinction between simple and compound types (data-structures) and an implementation of the algorithm based on instrumentation of Java bytecode. Experiments made on seven open source projects showed the validity of the algorithm in identifying attributes not verified by assertions that were executed by tests. Bugs inserted in these attributes were not captured by the tests. The results also showed that the algorithm adds an overhead of 20% and 33% at the test execution. These values are below of existent works. en
dc.format.extent 104 p.| il., grafs. pt_BR
dc.language.iso por pt_BR
dc.subject.classification Informatica pt_BR
dc.subject.classification Computação pt_BR
dc.subject.classification Algoritmos de computador pt_BR
dc.subject.classification Software pt_BR
dc.subject.classification Desenvolvimento pt_BR
dc.title Um algoritmo para o cálculo de cobertura de estados pt_BR
dc.type Dissertação (Mestrado) pt_BR


Files in this item

Files Size Format View
334834.pdf 1.299Mb PDF View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Browse

My Account

Statistics

Compartilhar