Fault model-based variability testing
Autor(a) principal: | |
---|---|
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 |