Use este identificador para citar ou linkar para este item: http://repositorio.ufc.br/handle/riufc/59773
Tipo: Dissertação
Título: Calice - catálogo para a análise do impacto de clones em classes de customização de uma linha de produto de software global
Título em inglês: Calice - catalog for analyzing clones impact in customization classes of a worldwide software product line
Autor(es): Barbosa, Jefferson da Silva
Orientador: Andrade, Rossana Maria de Castro
Coorientador: Ferreira Filho, João Bosco
Bezerra, Carla Ilane Moreira
Palavras-chave: Linha de Produto de Software;Clone;Customização de produtos
Data do documento: 2018
Citação: 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.
Resumo: 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.
Abstract: 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.
URI: http://www.repositorio.ufc.br/handle/riufc/59773
Aparece nas coleções:DCOMP - Dissertações defendidas na UFC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2018_dis_jsbarbosa.pdf1,62 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.