Spelling suggestions: "subject:"evolução segura"" "subject:"evolução zegura""
1 |
Comparing Strategies for Improving Precision When Checking Safe Evolution of Software Product LinesALMEIDA, Jefferson Rodrigues de 12 March 2014 (has links)
Submitted by Lucelia Lucena (lucelia.lucena@ufpe.br) on 2015-03-09T17:44:49Z
No. of bitstreams: 2
DISSERTAÇÃO Jefferson Rodrigues de Almeida.pdf: 4623062 bytes, checksum: f4cfaea650da4ae73310745aa4b92435 (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-09T17:44:49Z (GMT). No. of bitstreams: 2
DISSERTAÇÃO Jefferson Rodrigues de Almeida.pdf: 4623062 bytes, checksum: f4cfaea650da4ae73310745aa4b92435 (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
Previous issue date: 2014-03-12 / FACEPE / Linhas 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.
|
2 |
MAKING SOFTWARE PRODUCT LINE EVOLUTION SAFERSantiago Ferreira, Felype 31 January 2012 (has links)
Made available in DSpace on 2014-06-12T16:01:35Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2012 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Desenvolvedores evoluem linhas de produtos de software (LPSs) manualmente ou usando Ferramentas típicas de refatoração de programas. No entanto, quando a evolução de uma
Linha de produtos é feita para introduzir novas características, ou para melhorar o seu projeto, é importante ter a certeza de que o comportamento dos produtos existentes não é
modificado. Programas típicos de refatoração de software não podem garantir isso porque o contexto de LPS vai além de código, e outros tipos de artefatos de código, e envolve
artefatos adicionais, tais como modelos de feature e configuration knowledge. Além disso, em uma LPS, normalmente temos que lidar com um conjunto de possíveis artefatos de
código-fonte alternativos que não constitui um programa bem formado. Como resultado, mudanças manuais e ferramentas de refatoração de software existentes podem introduzir
mudanças comportamentais ou invalidar configurações de produtos existentes. Para evitar isso, propomos abordagens e implementamos ferramentas para tornar a evolução de
linhas de produtos mais segura; essas ferramentas verificam se transformações em LPS são refinamentos no sentido de que preservam o comportamento dos produtos originais
da LPS. Elas implementam aproximações diferentes e práticas de uma definição formal de refinamento de LPS. Avaliamos as abordagens em cenários concretos de evolução de
LPS, onde o comportamento do produto existente deve ser preservado. No entanto, nossas ferramentas constataram que algumas transformações introduziram mudanças comportamentais. Além disso, avaliamos refinamentos defeituosos, e o conjunto de ferramentas detectou as mudanças de comportamento.
|
Page generated in 0.0402 seconds