Um algoritmo para o cálculo de cobertura de estados
Autor(a) principal: | |
---|---|
Data de Publicação: | 2015 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFSC |
Texto Completo: | https://repositorio.ufsc.br/xmlui/handle/123456789/135670 |
Resumo: | 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. |
id |
UFSC_84bb5a0f062ddb73985c5757082cf960 |
---|---|
oai_identifier_str |
oai:repositorio.ufsc.br:123456789/135670 |
network_acronym_str |
UFSC |
network_name_str |
Repositório Institucional da UFSC |
repository_id_str |
2373 |
spelling |
Um algoritmo para o cálculo de cobertura de estadosInformaticaComputaçãoAlgoritmos de computadorSoftwareDesenvolvimentoDissertaçã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.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>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.Vilain, PatríciaUniversidade Federal de Santa CatarinaNascimento, Martim Azevedo do2015-10-20T03:11:57Z2015-10-20T03:11:57Z2015info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis104 p.| il., grafs.application/pdf334834https://repositorio.ufsc.br/xmlui/handle/123456789/135670porreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccess2016-03-07T18:54:47Zoai:repositorio.ufsc.br:123456789/135670Repositório InstitucionalPUBhttp://150.162.242.35/oai/requestopendoar:23732016-03-07T18:54:47Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false |
dc.title.none.fl_str_mv |
Um algoritmo para o cálculo de cobertura de estados |
title |
Um algoritmo para o cálculo de cobertura de estados |
spellingShingle |
Um algoritmo para o cálculo de cobertura de estados Nascimento, Martim Azevedo do Informatica Computação Algoritmos de computador Software Desenvolvimento |
title_short |
Um algoritmo para o cálculo de cobertura de estados |
title_full |
Um algoritmo para o cálculo de cobertura de estados |
title_fullStr |
Um algoritmo para o cálculo de cobertura de estados |
title_full_unstemmed |
Um algoritmo para o cálculo de cobertura de estados |
title_sort |
Um algoritmo para o cálculo de cobertura de estados |
author |
Nascimento, Martim Azevedo do |
author_facet |
Nascimento, Martim Azevedo do |
author_role |
author |
dc.contributor.none.fl_str_mv |
Vilain, Patrícia Universidade Federal de Santa Catarina |
dc.contributor.author.fl_str_mv |
Nascimento, Martim Azevedo do |
dc.subject.por.fl_str_mv |
Informatica Computação Algoritmos de computador Software Desenvolvimento |
topic |
Informatica Computação Algoritmos de computador Software Desenvolvimento |
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. |
publishDate |
2015 |
dc.date.none.fl_str_mv |
2015-10-20T03:11:57Z 2015-10-20T03:11:57Z 2015 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
334834 https://repositorio.ufsc.br/xmlui/handle/123456789/135670 |
identifier_str_mv |
334834 |
url |
https://repositorio.ufsc.br/xmlui/handle/123456789/135670 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
104 p.| il., grafs. application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFSC instname:Universidade Federal de Santa Catarina (UFSC) instacron:UFSC |
instname_str |
Universidade Federal de Santa Catarina (UFSC) |
instacron_str |
UFSC |
institution |
UFSC |
reponame_str |
Repositório Institucional da UFSC |
collection |
Repositório Institucional da UFSC |
repository.name.fl_str_mv |
Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC) |
repository.mail.fl_str_mv |
|
_version_ |
1808652177382572032 |