Use este identificador para citar ou linkar para este item: http://repositorio.roca.utfpr.edu.br/jspui/handle/1/10438
Título: Estudo empírico sobre o impacto das configurações do processo de obtenção do acoplamento conceitual
Título(s) alternativo(s): Empirical study on the impact of the conceptual coupling obtaining process configurations
Autor(es): Costa, Paulo Batista da
Orientador(es): Wiese, Igor Scaliante
Palavras-chave: Medição de software
Engenharia de software
Linguagem de programação (Computadores) - Semântica
Software measurement
Software engineering
Programming languages (Electronic computers) - Semantics
Data do documento: 19-Nov-2018
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Campo Mourao
Referência: COSTA, Paulo Batista da. Estudo empírico sobre o impacto das configurações do processo de obtenção do acoplamento conceitual. 2018. 60 f. Trabalho de Conclusão de Curso (Graduação) – Universidade Tecnológica Federal do Paraná, Campo Mourão, 2018.
Resumo: Contexto: O acoplamento é uma das propriedades fundamentais com mais influência sobre a manutenção e evolução do software. Dentre as medidas de acoplamento está o Acoplamento Conceitual. Na literatura é possível encontrar diversos modelos para cálculo do Acoplamento Conceitual que combinam pré-processamentos (uso de CamelCase, stemming, etc), com diferentes fatores de ponderação, tais como, TF-IDF (term frequency–inverse document frequency e o LSI (Latent Semantic Indexing). Portanto, é necessário que se estabeleça um estudo avaliativo sobre o impacto da escolha do modelo de cálculo nos valores de Acoplamento Conceitual obtidos e nos processos de manutenção de software, tais como as recomendações de mudanças conjuntas. Objetivo: O objetivo deste trabalho consiste em comparar se os pré-processamentos e fatores de ponderação combinados em diferentes modelos geram valores de Acoplamento Conceitual diferentes e como estes modelos distintos impactam a recomendação de mudanças conjuntas de arquivos de código-fonte. Método: Foram selecionados 61 projetos de software livre hospedados no GitHub, desenvolvidos nas linguagens de programação C++, Java, Javascript, Python e Ruby. Das versões major mais recentes desses projetos (3 a 6 versões), foram obtidos os valores de Acoplamento Conceitual entre seus arquivos de código-fonte por meio de diferentes combinações de pré-processamento textual (CamelCase, stemming, uso de comentário de código) e normalizações (TF-IDF, LSI). Os valores de Acoplamento Conceitual resultantes desse processo foram comparados entre si por meio de testes estatísticos, a fim de determinar o impacto das variações dos pré-processamento e normalizações nos valores de Acoplamento Conceitual. Em seguida, esses valores foram utilizados para avaliar a eficiência dos maiores valores de Acoplamento Conceitual para a recomendação de mudanças conjuntas. Resultados: Os resultados indicam que combinações diferentes de parâmetro de pré-processamento impactam em distintos valores de Acoplamento Conceitual entre arquivos de código-fonte. Além disso, para as linguagens C++ e Java os pré-processamentos que resultam em maiores valores de Acoplamento Conceitual são comuns. O mesmo ocorre entre as linguagens Javascript, Python e Ruby. Além disso, os modelos de cálculo que resultam nos maiores valores são aqueles que usam normalização LSI, fato que independe do projeto e da linguagem de programação em que ele é desenvolvido. Além disso, constatou-se que as melhores predições foram realizadas a partir de valores de Acoplamento Conceitual calculados por meio de modelo com fator de ponderação TF-IDF (UcoUcaNsR1qTfidf1), apesar de não resultarem nos maiores valores de Acoplamento Conceitual entre arquivos de código-fonte. Conclusões: A partir deste trabalho foi possível constatar a existência de diferenças entre os valores de Acoplamento Conceitual, calculados por meio de modelos distintos. Em virtude desse fato, foi possível selecionar os modelos de obtenção que resultam nas distribuições de maiores valores de Acoplamento Conceitual. Esses valores foram utilizados para a realização de predições de mudanças conjuntas de artefatos. Apesar dos modelos que resultam nos maiores valores de Acoplamento Conceitual terem como normalização o LSI, foram os cálculos por meio modelos com normalização TF-IDF os que proporcionaram predições mais eficientes. Isso mostra que não há relação direta entre distribuições com maiores valores de Acoplamento Conceitual e melhores predições de mudanças conjuntas. Além disso, altos valores não são medidas de qualidade adequada para o Acoplamento Conceitual.
Abstract: Context: Coupling is a fundamental property with a large influence on the software evolution and maintenance. Among coupling measurements there is the Conceptual Coupling. The literature shows that is possible find many models to calculate Conceptual Coupling values that combine preprocessing (using CamelCase, steamming, etc), with differents weighting factor methods, such as TF-IDF (term frequency–inverse document frequency) and LSI (Latent Semantic Indexing). Therefore, it is necessary to establish an evaluative study on the impact of choosing the calculation model on the values obtained and software maintenance processes such as recommendations for co-changes. Objective: The aim of this work consists in comparing how pre-processing and weighting factor methods combined in different models impact the values of Conceptual Coupling, verifying whether different models result in distinct values of Conceptual Coupling. Therefore, it’s necessary to stablish an evaluation about the impact of the choice of the calculation model on the values obtained and software maintenance processes such as co-chance recomandations. Method: We selected 61 free software projects hosted on GitHub, developed in C++, Java, Javascript, Python, and Ruby programming languages . From the most recent versions of these projects (3 to 6 versions), the Conceptual Coupling values were obtained among their source code files through different combinations of textual preprocessing (CamelCase, stemming, use of code comment) and weighting factor methods (LSI, TF-IDF). The results of this process were compared by means of statistical tests in order to determine the impact of the variations of the pre-processing and weighting factor methods on the values of the event. Then, these values were used to evaluate the efficiency of the highest values of Conceptual Coupling for the recommendation of Co-Changes. Results: The results indicate that different combinations of pre-processing parameter impact in distinct values of Conceptual Coupling between souce code archives. Moreover, for the languages C++ and Java the pre-processings that result in bigger values of Conceptual Coupling are common. The same occurs between the languages Javascript, Python and Ruby. Moreover, the calculation models that result in the biggest values are those that use LSI weighting factor method, fact that is independent of the project and the programming language that it is developed. Moreover, one evidence is that the best predictions had been carried through values of Conceptual Coupling by models with TF-IDF weighting factor method, although they do not result in the largest values of Conceptual Coupling between source code files. Conclusions: From this work it was possible to evidence the existence of differences between distributions of values of Conceptual Coupling, calculated by means of distinct models. In virtue of this fact, it was possible to select the attainment models that result in the distributions of bigger values of Conceptual Coupling. These values had been used for the accomplishment of predictions of Co-Changes. Although the models that result in the biggest values of Conceptual Coupling to have as LSI weighting factor method, had been the models with TF-IDF weighting factor method the ones that had provided more efficient predictions. This sample that does not have a direct relation between distributions with bigger values of Conceptual Coupling and better predictions of Co-Changes.
URI: http://repositorio.roca.utfpr.edu.br/jspui/handle/1/10438
Aparece nas coleções:CM - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
processoobtencaoacoplamentoconceitual.pdf1,05 MBAdobe PDFVisualizar/Abrir


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