Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global

Detalhes bibliográficos
Ano de defesa: 2018
Autor(a) principal: Barbosa, Jefferson da Silva
Orientador(a): Andrade, Rossana Maria de Castro
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: Não Informado pela instituição
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: http://www.repositorio.ufc.br/handle/riufc/59773
Resumo: Developers often adopt cloning practices to speed up implementation. However, cloning-andowning, in the long run, can severely affect software evolution, as changes in cloned fragments may require modifications in many parts of the system. This problem scales if cloning is applied in classes used to add, remove, or adapt features in a Software Product Line (SPL), because these classes are related to several features and products. Nevertheless, it is hard to know to which extent cloning in customization classes can impact a software project. Thus, this work first conducts an empirical study, within a SPL used worldwide, called here Global SPL (GSPL), to analyze cloning practices and how cloned parts relate to the maintainability of customization classes. To construct the dataset of this work, we collected and analyzed clones inside the GSPL customization classes during 13 months, involving 70 types of customization classes. In parallel, the respective issues were collected from the issue tracking tool of the GSPL project, obtaining over 140 issues related to customization classes. After that, we confronted the time spent to solve each issue with the fact whether it comes from cloning or not. Then, we collected measures related to complexity, modifiability and size of the classes to make an analysis based on the relationship between clone and maintainability. At the end, this work proposes a clone impact catalog to help developers prioritize refactoring of code fragments. This catalog helps to understand how cloning associates to maintainability in the context of mass customization, giving insights about cloning evolution and its impacts in a GSPL project.
id UFC-7_370bcc8bd8af4f21e86b387bc5ef8ed7
oai_identifier_str oai:repositorio.ufc.br:riufc/59773
network_acronym_str UFC-7
network_name_str Repositório Institucional da Universidade Federal do Ceará (UFC)
repository_id_str
spelling Barbosa, Jefferson da SilvaFerreira Filho, João BoscoBezerra, Carla Ilane MoreiraAndrade, Rossana Maria de Castro2021-07-29T18:07:26Z2021-07-29T18:07:26Z2018BARBOSA, Jefferson da Silva. Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global. 2018. 109 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2018.http://www.repositorio.ufc.br/handle/riufc/59773Developers often adopt cloning practices to speed up implementation. However, cloning-andowning, in the long run, can severely affect software evolution, as changes in cloned fragments may require modifications in many parts of the system. This problem scales if cloning is applied in classes used to add, remove, or adapt features in a Software Product Line (SPL), because these classes are related to several features and products. Nevertheless, it is hard to know to which extent cloning in customization classes can impact a software project. Thus, this work first conducts an empirical study, within a SPL used worldwide, called here Global SPL (GSPL), to analyze cloning practices and how cloned parts relate to the maintainability of customization classes. To construct the dataset of this work, we collected and analyzed clones inside the GSPL customization classes during 13 months, involving 70 types of customization classes. In parallel, the respective issues were collected from the issue tracking tool of the GSPL project, obtaining over 140 issues related to customization classes. After that, we confronted the time spent to solve each issue with the fact whether it comes from cloning or not. Then, we collected measures related to complexity, modifiability and size of the classes to make an analysis based on the relationship between clone and maintainability. At the end, this work proposes a clone impact catalog to help developers prioritize refactoring of code fragments. This catalog helps to understand how cloning associates to maintainability in the context of mass customization, giving insights about cloning evolution and its impacts in a GSPL project.Desenvolvedores frequentemente adotam práticas de clonagem para acelerar a implementação, porém, a longo prazo, a clonagem pode afetar a evolução do software em relação aos custos e tempo de desenvolvimento, já que mudanças nos fragmentos clonados podem exigir modificações em várias partes do sistema. Esse problema pode aumentar caso a clonagem seja utilizada em classes usadas para adicionar, remover ou adaptar características do sistema em uma Linha de Produtos de Software (LPS), devido a essas classes estarem relacionadas a várias características e produtos da linha. Entretanto, é difícil saber até que ponto uma clonagem em classes de customização pode impactar um projeto de software. Assim, este trabalho conduz, em primeiro lugar, um estudo empírico, dentro de uma LPS usada por diversos clientes espalhados pelo mundo, denominada neste trabalho de LPS Global (LPSG), para analisar as práticas de clonagem e como as partes clonadas se relacionam com a capacidade de manutenção das classes de customização. Para construir o conjunto de dados deste trabalho, foram coletados e identificados durante 13 meses, clones entre as classes de customização, envolvendo 70 tipos de classes. Paralelamente, foram coletadas as respectivas issues do projeto, obtendo mais de 140 issues relacionadas as classes de customização. Posteriormente, foi realizada uma comparação entre o tempo gasto com issues que possuem fragmentos de código clonado e as que não possuem. Em seguida, foram feitas coletas de medidas relacionadas à complexidade, modificabilidade e tamanho das classes para realizar uma análise baseada na relação entre clone e a manutenibilidade das classes de customização. Por fim, este trabalho propõe um catálogo que lista os tipos de clones, os tipos de relações que um clone pode ter e os seus respectivos impactos, com intuito de auxiliar os desenvolvedores na fase de priorização da refatoração de código. Este catálogo auxilia a entender como a clonagem se associa à sustentabilidade no contexto da customização em massa, fornecendo insumos sobre a evolução da clonagem e seus impactos em um projeto real de uma LPSG.Linha de Produto de SoftwareCloneCustomização de produtosCalice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software globalCalice - catalog for analyzing clones impact in customization classes of a worldwide software product lineinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFCinfo:eu-repo/semantics/openAccessLICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://repositorio.ufc.br/bitstream/riufc/59773/4/license.txt8a4605be74aa9ea9d79846c1fba20a33MD54ORIGINAL2018_dis_jsbarbosa.pdf2018_dis_jsbarbosa.pdfapplication/pdf1657703http://repositorio.ufc.br/bitstream/riufc/59773/3/2018_dis_jsbarbosa.pdfff93e19bc8d6ee482a712fc6870be226MD53riufc/597732021-07-29 15:07:27.052oai:repositorio.ufc.br:riufc/59773Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2021-07-29T18:07:27Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false
dc.title.pt_BR.fl_str_mv Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
dc.title.en.pt_BR.fl_str_mv Calice - catalog for analyzing clones impact in customization classes of a worldwide software product line
title Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
spellingShingle Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
Barbosa, Jefferson da Silva
Linha de Produto de Software
Clone
Customização de produtos
title_short Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
title_full Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
title_fullStr Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
title_full_unstemmed Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
title_sort Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
author Barbosa, Jefferson da Silva
author_facet Barbosa, Jefferson da Silva
author_role author
dc.contributor.co-advisor.none.fl_str_mv Ferreira Filho, João Bosco
Bezerra, Carla Ilane Moreira
dc.contributor.author.fl_str_mv Barbosa, Jefferson da Silva
dc.contributor.advisor1.fl_str_mv Andrade, Rossana Maria de Castro
contributor_str_mv Andrade, Rossana Maria de Castro
dc.subject.por.fl_str_mv Linha de Produto de Software
Clone
Customização de produtos
topic Linha de Produto de Software
Clone
Customização de produtos
description Developers often adopt cloning practices to speed up implementation. However, cloning-andowning, in the long run, can severely affect software evolution, as changes in cloned fragments may require modifications in many parts of the system. This problem scales if cloning is applied in classes used to add, remove, or adapt features in a Software Product Line (SPL), because these classes are related to several features and products. Nevertheless, it is hard to know to which extent cloning in customization classes can impact a software project. Thus, this work first conducts an empirical study, within a SPL used worldwide, called here Global SPL (GSPL), to analyze cloning practices and how cloned parts relate to the maintainability of customization classes. To construct the dataset of this work, we collected and analyzed clones inside the GSPL customization classes during 13 months, involving 70 types of customization classes. In parallel, the respective issues were collected from the issue tracking tool of the GSPL project, obtaining over 140 issues related to customization classes. After that, we confronted the time spent to solve each issue with the fact whether it comes from cloning or not. Then, we collected measures related to complexity, modifiability and size of the classes to make an analysis based on the relationship between clone and maintainability. At the end, this work proposes a clone impact catalog to help developers prioritize refactoring of code fragments. This catalog helps to understand how cloning associates to maintainability in the context of mass customization, giving insights about cloning evolution and its impacts in a GSPL project.
publishDate 2018
dc.date.issued.fl_str_mv 2018
dc.date.accessioned.fl_str_mv 2021-07-29T18:07:26Z
dc.date.available.fl_str_mv 2021-07-29T18:07:26Z
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.citation.fl_str_mv BARBOSA, Jefferson da Silva. Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global. 2018. 109 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2018.
dc.identifier.uri.fl_str_mv http://www.repositorio.ufc.br/handle/riufc/59773
identifier_str_mv BARBOSA, Jefferson da Silva. Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global. 2018. 109 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2018.
url http://www.repositorio.ufc.br/handle/riufc/59773
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal do Ceará (UFC)
instname:Universidade Federal do Ceará (UFC)
instacron:UFC
instname_str Universidade Federal do Ceará (UFC)
instacron_str UFC
institution UFC
reponame_str Repositório Institucional da Universidade Federal do Ceará (UFC)
collection Repositório Institucional da Universidade Federal do Ceará (UFC)
bitstream.url.fl_str_mv http://repositorio.ufc.br/bitstream/riufc/59773/4/license.txt
http://repositorio.ufc.br/bitstream/riufc/59773/3/2018_dis_jsbarbosa.pdf
bitstream.checksum.fl_str_mv 8a4605be74aa9ea9d79846c1fba20a33
ff93e19bc8d6ee482a712fc6870be226
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)
repository.mail.fl_str_mv bu@ufc.br || repositorio@ufc.br
_version_ 1847793170222415872