Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
| Ano de defesa: | 2018 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |