Evolução segura de linhas de produtos de software: cenários de extração de features

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: BENBASSAT, Fernando Chaves
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/25849
Resumo: Linhas de Produtos de Software (LPS) são conjuntos de produtos de software reutilizáveis que compartilham funcionalidades ou comportamento. Reusar um conjunto específico de produtos pode melhorar a produtividade e qualidade dos produtos oferecidos por uma empresa, no sentido de que novos produtos podem ser criados combinando de forma sistemática os artefatos existentes. Porém manter LPS não é tão simples, uma vez que uma única mudança em um artefato pode afetar vários produtos. Em muitas situações, é desejável proporcionar algum tipo de garantia para alterar uma LPS de forma segura, no sentido de que o comportamento dos produtos existentes é preservado após a alteração. Os desenvolvedores podem contar com noções de evolução segura propostas anteriormente e por meio de templates de transformação para assegurar a evolução segura. No entanto, os templates existentes focam apenas em situações em que LPS é expandida com o desenvolvimento de novas features, e não foram avaliadas no contexto da extração de features a partir do código existente. Por isso, para descobrir mais templates que se adequam à situações não previstas em estudos anteriores de evolução segura de Linhas de Produtos de Software (LPS), foi realizado um estudo utilizando um sistema industrial desenvolvido em Java, com aproximadamente 400 KLOC, com demanda para extração de features e transformação em LPS. Esse estudo revelou a necessidade de novos templates para lidar com cenários de extração de features, bem como melhorar a notação de templates existentes para tratar mapeamentos (Configuration Knowledge) mais expressivos entre expressões de features e artefatos de código. Como resultado deste estudo, nós propomos templates novos e que não podem ser derivados dos existentes, extraímos com sucesso LPS a partir do sistema existente usando os templates propostos, e também encontramos evidência de que os novos templates podem ajudar a prevenir defeitos durante a evolução de uma LPS.
id UFPE_b222baec57eb12629dcf1ad0770de3c0
oai_identifier_str oai:repositorio.ufpe.br:123456789/25849
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str
spelling Evolução segura de linhas de produtos de software: cenários de extração de featuresEngenharia de softwareLinhas de produtos de softwareLinhas de Produtos de Software (LPS) são conjuntos de produtos de software reutilizáveis que compartilham funcionalidades ou comportamento. Reusar um conjunto específico de produtos pode melhorar a produtividade e qualidade dos produtos oferecidos por uma empresa, no sentido de que novos produtos podem ser criados combinando de forma sistemática os artefatos existentes. Porém manter LPS não é tão simples, uma vez que uma única mudança em um artefato pode afetar vários produtos. Em muitas situações, é desejável proporcionar algum tipo de garantia para alterar uma LPS de forma segura, no sentido de que o comportamento dos produtos existentes é preservado após a alteração. Os desenvolvedores podem contar com noções de evolução segura propostas anteriormente e por meio de templates de transformação para assegurar a evolução segura. No entanto, os templates existentes focam apenas em situações em que LPS é expandida com o desenvolvimento de novas features, e não foram avaliadas no contexto da extração de features a partir do código existente. Por isso, para descobrir mais templates que se adequam à situações não previstas em estudos anteriores de evolução segura de Linhas de Produtos de Software (LPS), foi realizado um estudo utilizando um sistema industrial desenvolvido em Java, com aproximadamente 400 KLOC, com demanda para extração de features e transformação em LPS. Esse estudo revelou a necessidade de novos templates para lidar com cenários de extração de features, bem como melhorar a notação de templates existentes para tratar mapeamentos (Configuration Knowledge) mais expressivos entre expressões de features e artefatos de código. Como resultado deste estudo, nós propomos templates novos e que não podem ser derivados dos existentes, extraímos com sucesso LPS a partir do sistema existente usando os templates propostos, e também encontramos evidência de que os novos templates podem ajudar a prevenir defeitos durante a evolução de uma LPS.Software Product Lines (LPS) are set of reusable software products that share functionality or behavior. Reusing a specific set of products can improve productivity and product quality offered by a company in the sense that new products can be created by systematically combining existing artifacts. But SPL maintenance is not simple, since a single change on asset can impact several products. In many situations, it is desirable to provide some assurance that we can safely change a SPL in the sense that the behaviour of existing products is preserved after the change. Developers can rely on previously proposed safe evolution notions and by means of transformation templates to ensure safe evolution. However, the existing templates focus only in scenarios where a SPL is expanded with the development of new features, and have not been evaluated in the context of extracting features from existing code. Therefore, to find out more templates that fit situations not foreseen in previous studies of the safe evolution of SPL, we conducted a study using an industrial system developed in Java, with roughly 400 KLOC, with demand for features extraction and transform into an SPL. This study revealed the need for new templates to address feature extraction scenarios, as well as improving the existing templates notation to address more expressive mappings (Configuration Knowledge) between feature expressions and code assets. As a result of this study, we propose new templates that can not be derived from existing ones, we successfully extracted a SPL from this existing system using the proposed templates, and also found evidence that the new templates can help to prevent defects during SPL evolution.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoBORBA, Paulo Henrique MonteiroTEIXEIRA, Leopoldo Mottahttp://lattes.cnpq.br/1246748349544652http://lattes.cnpq.br/9395715443254344BENBASSAT, Fernando Chaves2018-08-24T21:05:42Z2018-08-24T21:05:42Z2017-02-20info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://repositorio.ufpe.br/handle/123456789/25849porAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2019-10-26T04:40:54Zoai:repositorio.ufpe.br:123456789/25849Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-26T04:40:54Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Evolução segura de linhas de produtos de software: cenários de extração de features
title Evolução segura de linhas de produtos de software: cenários de extração de features
spellingShingle Evolução segura de linhas de produtos de software: cenários de extração de features
BENBASSAT, Fernando Chaves
Engenharia de software
Linhas de produtos de software
title_short Evolução segura de linhas de produtos de software: cenários de extração de features
title_full Evolução segura de linhas de produtos de software: cenários de extração de features
title_fullStr Evolução segura de linhas de produtos de software: cenários de extração de features
title_full_unstemmed Evolução segura de linhas de produtos de software: cenários de extração de features
title_sort Evolução segura de linhas de produtos de software: cenários de extração de features
author BENBASSAT, Fernando Chaves
author_facet BENBASSAT, Fernando Chaves
author_role author
dc.contributor.none.fl_str_mv BORBA, Paulo Henrique Monteiro
TEIXEIRA, Leopoldo Motta
http://lattes.cnpq.br/1246748349544652
http://lattes.cnpq.br/9395715443254344
dc.contributor.author.fl_str_mv BENBASSAT, Fernando Chaves
dc.subject.por.fl_str_mv Engenharia de software
Linhas de produtos de software
topic Engenharia de software
Linhas de produtos de software
description Linhas de Produtos de Software (LPS) são conjuntos de produtos de software reutilizáveis que compartilham funcionalidades ou comportamento. Reusar um conjunto específico de produtos pode melhorar a produtividade e qualidade dos produtos oferecidos por uma empresa, no sentido de que novos produtos podem ser criados combinando de forma sistemática os artefatos existentes. Porém manter LPS não é tão simples, uma vez que uma única mudança em um artefato pode afetar vários produtos. Em muitas situações, é desejável proporcionar algum tipo de garantia para alterar uma LPS de forma segura, no sentido de que o comportamento dos produtos existentes é preservado após a alteração. Os desenvolvedores podem contar com noções de evolução segura propostas anteriormente e por meio de templates de transformação para assegurar a evolução segura. No entanto, os templates existentes focam apenas em situações em que LPS é expandida com o desenvolvimento de novas features, e não foram avaliadas no contexto da extração de features a partir do código existente. Por isso, para descobrir mais templates que se adequam à situações não previstas em estudos anteriores de evolução segura de Linhas de Produtos de Software (LPS), foi realizado um estudo utilizando um sistema industrial desenvolvido em Java, com aproximadamente 400 KLOC, com demanda para extração de features e transformação em LPS. Esse estudo revelou a necessidade de novos templates para lidar com cenários de extração de features, bem como melhorar a notação de templates existentes para tratar mapeamentos (Configuration Knowledge) mais expressivos entre expressões de features e artefatos de código. Como resultado deste estudo, nós propomos templates novos e que não podem ser derivados dos existentes, extraímos com sucesso LPS a partir do sistema existente usando os templates propostos, e também encontramos evidência de que os novos templates podem ajudar a prevenir defeitos durante a evolução de uma LPS.
publishDate 2017
dc.date.none.fl_str_mv 2017-02-20
2018-08-24T21:05:42Z
2018-08-24T21:05:42Z
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 https://repositorio.ufpe.br/handle/123456789/25849
url https://repositorio.ufpe.br/handle/123456789/25849
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
publisher.none.fl_str_mv Universidade Federal de Pernambuco
UFPE
Brasil
Programa de Pos Graduacao em Ciencia da Computacao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1856041996601262080