Fault model-based variability testing

Detalhes bibliográficos
Autor(a) principal: Machado, Ivan do Carmo
Data de Publicação: 2014
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFBA
Texto Completo: http://repositorio.ufba.br/ri/handle/ri/22826
Resumo: Software Product Line (SPL) engineering has emerged as an important strategy to cope with the increasing demand of large-scale product customization. Owing to its variability management capabilities, SPL has provided companies with an efficient and effective means of delivering a set of products with higher quality at a lower cost, when compared to traditional software engineering strategies. However, such a benefit does not come for free. SPL demands cost-effective quality assurance techniques that attempt to minimize the overall effort, while improving, or at least not hurting, fault detection rates. Software testing, the most widely used approach for improving software quality in practice, has been largely explored to address this particular topic. State of the art SPL testing techniques are mainly focused on handling variability testing from a high level perspective, namely through the analysis of feature models, rather than concerning issues from a source code perspective. However, we believe that improvements in the quality of variable assets entail addressing testing issues both from high and low-level perspectives. By carrying out a series of empirical studies, gathering evidence from both the literature and the analysis of defects reported in three open source software systems, we identified and analyzed commonly reported defects from Java-based variability implementation mechanisms. Based on such evidence, we designed a method for building fault models for variability testing, from two main perspectives: test assessment, which focuses on the evaluation of the effectiveness of existing test suites; and test design, which aims to aid the construction of test sets, by focusing on fault-prone elements. The task of modeling typical or important faults provides a means to coming up with certain test inpus that can expose faults in the program unit. Hence, we hypothesize that understanding the nature of typical or important faults prior to developing the test sets would enhance their capability to find a particular set of errors. We performed a controlled experiment to assess the test effectiveness of using fault models to provide SPL testing with support to design test inputs. We observed promising results that confirm the hypothesis that combining fault models in an SPL testing process performs significantly better on improving the quality of test inputs.
id UFBA-2_0fc6ac4e80892b12c7a17dcf33b68a42
oai_identifier_str oai:repositorio.ufba.br:ri/22826
network_acronym_str UFBA-2
network_name_str Repositório Institucional da UFBA
repository_id_str 1932
spelling Machado, Ivan do CarmoMachado, Ivan do CarmoAlmeida, Eduardo Santana deAlmeida, Eduardo Santana deChavez, Christina von Flach GarciaSant’Anna, Cláudio NogueiraValente, Marco Tulio de OliveiraAlves, Vander Ramos2017-06-06T15:19:55Z2017-06-06T15:19:55Z2017-06-062014-07-21http://repositorio.ufba.br/ri/handle/ri/22826Software Product Line (SPL) engineering has emerged as an important strategy to cope with the increasing demand of large-scale product customization. Owing to its variability management capabilities, SPL has provided companies with an efficient and effective means of delivering a set of products with higher quality at a lower cost, when compared to traditional software engineering strategies. However, such a benefit does not come for free. SPL demands cost-effective quality assurance techniques that attempt to minimize the overall effort, while improving, or at least not hurting, fault detection rates. Software testing, the most widely used approach for improving software quality in practice, has been largely explored to address this particular topic. State of the art SPL testing techniques are mainly focused on handling variability testing from a high level perspective, namely through the analysis of feature models, rather than concerning issues from a source code perspective. However, we believe that improvements in the quality of variable assets entail addressing testing issues both from high and low-level perspectives. By carrying out a series of empirical studies, gathering evidence from both the literature and the analysis of defects reported in three open source software systems, we identified and analyzed commonly reported defects from Java-based variability implementation mechanisms. Based on such evidence, we designed a method for building fault models for variability testing, from two main perspectives: test assessment, which focuses on the evaluation of the effectiveness of existing test suites; and test design, which aims to aid the construction of test sets, by focusing on fault-prone elements. The task of modeling typical or important faults provides a means to coming up with certain test inpus that can expose faults in the program unit. Hence, we hypothesize that understanding the nature of typical or important faults prior to developing the test sets would enhance their capability to find a particular set of errors. We performed a controlled experiment to assess the test effectiveness of using fault models to provide SPL testing with support to design test inputs. We observed promising results that confirm the hypothesis that combining fault models in an SPL testing process performs significantly better on improving the quality of test inputs.A Engenharia de Linhas de Produtos de Software (LPS) surgiu como uma importante estratégia para lidar com a crescente demanda de customização de produtos de software em larga escala. Por sua capacidade de gerenciar variabilidade de forma sistemática, o paradigma de LPS tem proporcionado às empresas métodos eficientes e eficazes para alcançar a entrega de produtos de software com maior qualidade, a um custo de produção reduzido, quando comparado a estratégias tradicionais de desenvolvimento de software. No entanto, a obtenção de tais benefícios não é trivial. O paradigma impõe a necessidade de técnicas de garantia de qualidade eficazes, com bom custo-benefício, que tentem minimizar o esforço global, ao tempo em que se alcance melhorias nas taxas de detecção de falhas. Assim, a disciplina de testes de software, abordagem comumente utilizada na busca por melhoria na qualidade dos produtos de software, tem sido largamente explorada no contexto de LPS. As mais relevantes técnicas de testes em LPS estão focadas principalmente no gerenciamento de testes de variabilidade sob uma perspectiva de alto nível, notadamente através da análise de modelos, em sobreposição aos aspectos de mais baixo nível, isto é, sob o ponto de vista do código fonte. Entretanto, acreditamos que melhorias na qualidade dos artefatos de software variáveis implica na investigação de aspectos da disciplina de testes, em ambas as perspectivas, quer seja alto nível quer seja baixo nível. Através da realização de uma série de estudos empíricos, evidências foram obtidas a partir da análise de textos publicados na literatura, e a partir da análise de defeitos reportados em três sistemas de software de código aberto. Neste último caso, identificamos e analisamos defeitos provenientes do uso de mecanismos de implementação de variabilidade em Java. Com base nas evidências, construímos uma abordagem para construir modelos de falhas que auxiliem o teste de variabilidade, sob duas perspectivas principais: avaliação de teste, que incide sobre a avaliação da eficácia dos casos de testes existentes; e o projeto de teste, que visa auxiliar a construção de casos de teste, concentrando-se em elementos propensos a falhas. A tarefa de modelagem de falhas típicas ou importantes fornece um meio para identificar certas entradas de teste que podem expor falhas na execução do programa. Desta forma, a nossa hipótese é que a compreensão da natureza das falhas típicas, ou importantes, como tarefa anterior ao desenvolvimento dos casos de teste, tende a aumentar a capacidade dos testes em encontrar um determinado conjunto de defeitos, quando executados. Para avaliar a eficácia da abordagem proposta nesta tese, planejamos e executamos um experimento controlado. Os resultados mostraram-se promissores, provendo indícios de que a ideia de se combinar modelos de falha em um processo de teste de LPS pode trazer ganhos significativos a atividade de teste, bem como melhorar a qualidade dos dados de entrada de testes.Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-31T19:53:55Z No. of bitstreams: 1 Ph.D. Thesis - Ivan Machado - Full Version-1.pdf: 3242625 bytes, checksum: 76299cf9d79afd85a7c46155029ae95e (MD5)Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-06T15:19:55Z (GMT) No. of bitstreams: 1 Ph.D. Thesis - Ivan Machado - Full Version-1.pdf: 3242625 bytes, checksum: 76299cf9d79afd85a7c46155029ae95e (MD5)Made available in DSpace on 2017-06-06T15:19:55Z (GMT). No. of bitstreams: 1 Ph.D. Thesis - Ivan Machado - Full Version-1.pdf: 3242625 bytes, checksum: 76299cf9d79afd85a7c46155029ae95e (MD5)Sistemas ComputacionaisSoftware product line engineringSoftware testingVariability testingFault modelFault model-based variability testinginfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisInstituto de MatemáticaPrograma Multiinstitucional de Pós-graduação em Ciência da Computação, UFBA-UNIFACS-UEFSIMBrasilinfo:eu-repo/semantics/openAccessengreponame:Repositório Institucional da UFBAinstname:Universidade Federal da Bahia (UFBA)instacron:UFBALICENSElicense.txtlicense.txttext/plain1383https://repositorio.ufba.br/bitstream/ri/22826/2/license.txt05eca2f01d0b3307819d0369dab18a34MD52ORIGINALPh.D. Thesis - Ivan Machado - Full Version-1.pdfPh.D. Thesis - Ivan Machado - Full Version-1.pdfapplication/pdf3242625https://repositorio.ufba.br/bitstream/ri/22826/1/Ph.D.%20Thesis%20-%20Ivan%20Machado%20-%20Full%20Version-1.pdf76299cf9d79afd85a7c46155029ae95eMD51TEXTPh.D. Thesis - Ivan Machado - Full Version-1.pdf.txtPh.D. Thesis - Ivan Machado - Full Version-1.pdf.txtExtracted texttext/plain415018https://repositorio.ufba.br/bitstream/ri/22826/3/Ph.D.%20Thesis%20-%20Ivan%20Machado%20-%20Full%20Version-1.pdf.txt8e38e1a6d6eff481157f8e0334ea09aeMD53ri/228262022-07-05 14:05:09.708oai:repositorio.ufba.br:ri/22826VGVybW8gZGUgTGljZW7Dp2EsIG7Do28gZXhjbHVzaXZvLCBwYXJhIG8gZGVww7NzaXRvIG5vIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGQkEuCgogUGVsbyBwcm9jZXNzbyBkZSBzdWJtaXNzw6NvIGRlIGRvY3VtZW50b3MsIG8gYXV0b3Igb3Ugc2V1IHJlcHJlc2VudGFudGUgbGVnYWwsIGFvIGFjZWl0YXIgCmVzc2UgdGVybW8gZGUgbGljZW7Dp2EsIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGEgQmFoaWEgCm8gZGlyZWl0byBkZSBtYW50ZXIgdW1hIGPDs3BpYSBlbSBzZXUgcmVwb3NpdMOzcmlvIGNvbSBhIGZpbmFsaWRhZGUsIHByaW1laXJhLCBkZSBwcmVzZXJ2YcOnw6NvLiAKRXNzZXMgdGVybW9zLCBuw6NvIGV4Y2x1c2l2b3MsIG1hbnTDqm0gb3MgZGlyZWl0b3MgZGUgYXV0b3IvY29weXJpZ2h0LCBtYXMgZW50ZW5kZSBvIGRvY3VtZW50byAKY29tbyBwYXJ0ZSBkbyBhY2Vydm8gaW50ZWxlY3R1YWwgZGVzc2EgVW5pdmVyc2lkYWRlLgoKIFBhcmEgb3MgZG9jdW1lbnRvcyBwdWJsaWNhZG9zIGNvbSByZXBhc3NlIGRlIGRpcmVpdG9zIGRlIGRpc3RyaWJ1acOnw6NvLCBlc3NlIHRlcm1vIGRlIGxpY2Vuw6dhIAplbnRlbmRlIHF1ZToKCiBNYW50ZW5kbyBvcyBkaXJlaXRvcyBhdXRvcmFpcywgcmVwYXNzYWRvcyBhIHRlcmNlaXJvcywgZW0gY2FzbyBkZSBwdWJsaWNhw6fDtWVzLCBvIHJlcG9zaXTDs3Jpbwpwb2RlIHJlc3RyaW5naXIgbyBhY2Vzc28gYW8gdGV4dG8gaW50ZWdyYWwsIG1hcyBsaWJlcmEgYXMgaW5mb3JtYcOnw7VlcyBzb2JyZSBvIGRvY3VtZW50bwooTWV0YWRhZG9zIGVzY3JpdGl2b3MpLgoKIERlc3RhIGZvcm1hLCBhdGVuZGVuZG8gYW9zIGFuc2Vpb3MgZGVzc2EgdW5pdmVyc2lkYWRlIGVtIG1hbnRlciBzdWEgcHJvZHXDp8OjbyBjaWVudMOtZmljYSBjb20gCmFzIHJlc3RyacOnw7VlcyBpbXBvc3RhcyBwZWxvcyBlZGl0b3JlcyBkZSBwZXJpw7NkaWNvcy4KCiBQYXJhIGFzIHB1YmxpY2HDp8O1ZXMgc2VtIGluaWNpYXRpdmFzIHF1ZSBzZWd1ZW0gYSBwb2zDrXRpY2EgZGUgQWNlc3NvIEFiZXJ0bywgb3MgZGVww7NzaXRvcyAKY29tcHVsc8OzcmlvcyBuZXNzZSByZXBvc2l0w7NyaW8gbWFudMOqbSBvcyBkaXJlaXRvcyBhdXRvcmFpcywgbWFzIG1hbnTDqm0gYWNlc3NvIGlycmVzdHJpdG8gCmFvIG1ldGFkYWRvcyBlIHRleHRvIGNvbXBsZXRvLiBBc3NpbSwgYSBhY2VpdGHDp8OjbyBkZXNzZSB0ZXJtbyBuw6NvIG5lY2Vzc2l0YSBkZSBjb25zZW50aW1lbnRvCiBwb3IgcGFydGUgZGUgYXV0b3Jlcy9kZXRlbnRvcmVzIGRvcyBkaXJlaXRvcywgcG9yIGVzdGFyZW0gZW0gaW5pY2lhdGl2YXMgZGUgYWNlc3NvIGFiZXJ0by4KRepositório InstitucionalPUBhttp://192.188.11.11:8080/oai/requestopendoar:19322022-07-05T17:05:09Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)false
dc.title.pt_BR.fl_str_mv Fault model-based variability testing
title Fault model-based variability testing
spellingShingle Fault model-based variability testing
Machado, Ivan do Carmo
Sistemas Computacionais
Software product line enginering
Software testing
Variability testing
Fault model
title_short Fault model-based variability testing
title_full Fault model-based variability testing
title_fullStr Fault model-based variability testing
title_full_unstemmed Fault model-based variability testing
title_sort Fault model-based variability testing
author Machado, Ivan do Carmo
author_facet Machado, Ivan do Carmo
author_role author
dc.contributor.author.fl_str_mv Machado, Ivan do Carmo
Machado, Ivan do Carmo
dc.contributor.advisor1.fl_str_mv Almeida, Eduardo Santana de
dc.contributor.referee1.fl_str_mv Almeida, Eduardo Santana de
Chavez, Christina von Flach Garcia
Sant’Anna, Cláudio Nogueira
Valente, Marco Tulio de Oliveira
Alves, Vander Ramos
contributor_str_mv Almeida, Eduardo Santana de
Almeida, Eduardo Santana de
Chavez, Christina von Flach Garcia
Sant’Anna, Cláudio Nogueira
Valente, Marco Tulio de Oliveira
Alves, Vander Ramos
dc.subject.cnpq.fl_str_mv Sistemas Computacionais
topic Sistemas Computacionais
Software product line enginering
Software testing
Variability testing
Fault model
dc.subject.por.fl_str_mv Software product line enginering
Software testing
Variability testing
Fault model
description Software Product Line (SPL) engineering has emerged as an important strategy to cope with the increasing demand of large-scale product customization. Owing to its variability management capabilities, SPL has provided companies with an efficient and effective means of delivering a set of products with higher quality at a lower cost, when compared to traditional software engineering strategies. However, such a benefit does not come for free. SPL demands cost-effective quality assurance techniques that attempt to minimize the overall effort, while improving, or at least not hurting, fault detection rates. Software testing, the most widely used approach for improving software quality in practice, has been largely explored to address this particular topic. State of the art SPL testing techniques are mainly focused on handling variability testing from a high level perspective, namely through the analysis of feature models, rather than concerning issues from a source code perspective. However, we believe that improvements in the quality of variable assets entail addressing testing issues both from high and low-level perspectives. By carrying out a series of empirical studies, gathering evidence from both the literature and the analysis of defects reported in three open source software systems, we identified and analyzed commonly reported defects from Java-based variability implementation mechanisms. Based on such evidence, we designed a method for building fault models for variability testing, from two main perspectives: test assessment, which focuses on the evaluation of the effectiveness of existing test suites; and test design, which aims to aid the construction of test sets, by focusing on fault-prone elements. The task of modeling typical or important faults provides a means to coming up with certain test inpus that can expose faults in the program unit. Hence, we hypothesize that understanding the nature of typical or important faults prior to developing the test sets would enhance their capability to find a particular set of errors. We performed a controlled experiment to assess the test effectiveness of using fault models to provide SPL testing with support to design test inputs. We observed promising results that confirm the hypothesis that combining fault models in an SPL testing process performs significantly better on improving the quality of test inputs.
publishDate 2014
dc.date.submitted.none.fl_str_mv 2014-07-21
dc.date.accessioned.fl_str_mv 2017-06-06T15:19:55Z
dc.date.available.fl_str_mv 2017-06-06T15:19:55Z
dc.date.issued.fl_str_mv 2017-06-06
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://repositorio.ufba.br/ri/handle/ri/22826
url http://repositorio.ufba.br/ri/handle/ri/22826
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Instituto de Matemática
dc.publisher.program.fl_str_mv Programa Multiinstitucional de Pós-graduação em Ciência da Computação, UFBA-UNIFACS-UEFS
dc.publisher.initials.fl_str_mv IM
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Instituto de Matemática
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFBA
instname:Universidade Federal da Bahia (UFBA)
instacron:UFBA
instname_str Universidade Federal da Bahia (UFBA)
instacron_str UFBA
institution UFBA
reponame_str Repositório Institucional da UFBA
collection Repositório Institucional da UFBA
bitstream.url.fl_str_mv https://repositorio.ufba.br/bitstream/ri/22826/2/license.txt
https://repositorio.ufba.br/bitstream/ri/22826/1/Ph.D.%20Thesis%20-%20Ivan%20Machado%20-%20Full%20Version-1.pdf
https://repositorio.ufba.br/bitstream/ri/22826/3/Ph.D.%20Thesis%20-%20Ivan%20Machado%20-%20Full%20Version-1.pdf.txt
bitstream.checksum.fl_str_mv 05eca2f01d0b3307819d0369dab18a34
76299cf9d79afd85a7c46155029ae95e
8e38e1a6d6eff481157f8e0334ea09ae
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)
repository.mail.fl_str_mv
_version_ 1808459539577569280