dc.contributorBORBA, Paulo Henrique Monteiro
dc.creatorALMEIDA, Jefferson Rodrigues de
dc.date2015-03-09T17:44:49Z
dc.date2015-03-09T17:44:49Z
dc.date2014-03-12
dc.identifierALMEIDA, Jefferson Rodrigues de. Comparing strategies for improving precision when checking safe evolution of software product lines. Recife, 2014. 96 f. Dissertação (mestrado) - UFPE, Centro de Informática, Programa de Pós-graduação em Ciência da Computação, 2014.
dc.identifierhttps://repositorio.ufpe.br/handle/123456789/11523
dc.descriptionLinhas de produtos de software estão emergindo como um paradigma de desenvolvimento viável e como um importante aliado que permite às empresas realizar melhorias de ordem de magnitude em tempo de mercado, custo, produtividade, qualidade e outros direcionadores de negócio. No entanto, a evolução de uma linha de produtos é arriscada, porque pode afetar muitos produtos e seus respectivos clientes. Neste contexto, ao evoluir uma linha de produtos para introduzir novas funcionalidades ou para melhorar a sua concepção, é importante garantir que os produtos existentes tenham o mesmo comportamento após a evolução. Ferramentas típicas de refatoração não podem garantir a preservação de comportamento dos produtos, porque o contexto de linha de produtos vai além de código. As linhas de produtos abrangem artefatos adicionais, tais como modelo de features e modelo de configurações. Além disso, geralmente tem que lidar com um conjunto de artefatos alternativos que não constituem um programa bem-formado. Portanto, ferramentas de refatoração existentes podem introduzir mudanças comportamentais ou invalidar configurações de produtos. Analisar essas evoluções de artefatos manualmente podem gastar muito tempo e levar a defeitos, comprometendo os benefícios de linhas de produtos de software acima mencionados. Na literatura, encontramos algumas abordagens de força bruta que se movem na direção de superar esses desafios. Elas implementam aproximações práticas de uma teoria de refinamento de linhas de produtos de software. No entanto, elas são imprecisas e gastam um tempo substancial para verificar incompatibilidades comportamentais entre as evoluções. Em contraste, uma alternativa otimizada foca na verificação de compatibilidade comportamental apenas das classes modificados durante a evolução. Isto leva a uma redução no tempo, fazendo com que a abordagem seja mais rápida quando comparado com outras abordagens propostas. Este procedimento melhora o desempenho, mas por outro lado, diminui a precisão. Portanto, neste trabalho, propomos estratégias para aumentar a precisão dessas abordagens otimizadas. Primeiramente implementados uma estratégia ao qual analisa as classes em uma hierarquia mais próxima do usuário, o que pode melhor determinar se a evolução preserva comportamento. Além disso, integramos uma nova ferramenta de geração de teste para o nosso conjunto de ferramentas, que tem uma heurística eficiente para orientar a sua busca por testes de maior qualidade. Neste trabalho, nós combinamos essas duas referidas abordagens com duas ferramentas de teste e fazemos comparações em relação ao desempenho e precisão. Elas são avaliadas em cenários concretos de evolução de duas linhas de produtos. A primeira linha de produtos gera testes funcionais a partir de especificações de casos e a segunda gerencia mídia em dispositivos móveis. Como resultado, nossas estratégias descobriram que algumas transformações introduziram mudanças comportamentais. Além disso, melhorou o desempenho e alcançou precisões mais elevadas.
dc.descriptionFACEPE
dc.formatapplication/pdf
dc.languageeng
dc.publisherUniversidade Federal de Pernambuco
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil
dc.rightshttp://creativecommons.org/licenses/by-nc-nd/3.0/br/
dc.subjectLinhas de Produtos de Software
dc.subjectEvolução de Linha de Produto
dc.subjectFerramentas de Checagem
dc.subjectRefatoração
dc.subjectRefinamento
dc.subjectEvolução Segura
dc.titleComparing Strategies for Improving Precision When Checking Safe Evolution of Software Product Lines
dc.typemasterThesis


Este ítem pertenece a la siguiente institución