Remodularization analysis using semantic clustering

dc.creatorGustavo Jansen de Souza Santos
dc.date.accessioned2019-08-09T19:44:18Z
dc.date.accessioned2025-09-09T01:31:31Z
dc.date.available2019-08-09T19:44:18Z
dc.date.issued2014-01-23
dc.description.abstractAs software evolves, its structure inevitably gets harder to understand and maintain, unless explicit effort is done to improve it. To tackle this problem, the common recommendation consists in organizing the software structure into modules. This process is often performed by optimizing the value of cohesion and coupling metrics, for example.However, recent work question the usefulness of structural metrics. More specifically, structural metrics do not seem to fully express the architectural improvement resulted from software maintenance. In this master dissertation, we follow an existing methodology to assess software metrics regarding real remodularization cases, i.e., in whichthe maintenance was performed by the softwares architects. We use a set of recently proposed metrics, called conceptual metrics, which consider textual similarity between software artifacts. To accomplish this task, we report an experiment on using Semantic Clustering to evaluate software remodularizations. Semantic Clustering is an approach that relies on information retrieval and clustering techniques to extract sets of similar classes in a system according to their vocabularies. In fact, we adapted Semantic Clustering to support remodularization analysis. We then evaluate our adaptation using six real-world remodularizations of four software systems. As a result, we conclude that Semantic Clustering and conceptual metrics can be used to express and explain the intention of architects when performing common modularization operations, suchas module decomposition.
dc.identifier.urihttps://hdl.handle.net/1843/ESBF-9K5QBB
dc.languageInglês
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectSoftware Reutilização
dc.subjectComputação
dc.subjectEngenharia de software
dc.subject.otherRemodularização
dc.subject.otherArquitetura de Software
dc.subject.otherProcessamento de Texto
dc.subject.otherRecuperação de Informação
dc.subject.otherSemantic Clustering
dc.subject.otherMétricas Conceituais
dc.subject.otherManutenção de Software
dc.titleRemodularization analysis using semantic clustering
dc.typeDissertação de mestrado
local.contributor.advisor1Marco Tulio de Oliveira Valente
local.contributor.referee1Eduardo Magno Lages Figueiredo
local.contributor.referee1Marcelo de Almeida Maia
local.description.resumoDurante a evolução de software, sua estrutura inevitavelmente se torna mais difícil de manter, a menos que um esforço explícito de manutenção seja feito para melhorá-la. No intuito de resolver esse problema, a recomendação comum consiste em organizar a estrutura do software em módulos. Esse processo é geralmente realizado através daotimização de valores de métricas estruturais de coesão e acoplamento, por exemplo. No entanto, trabalhos recentes começam a questionar a utilidade de métricas estruturais. Mais especificamente, essas métricas não expressam integralmente a melhoria na arquitetura resultante de um processo de manutenção. Nesta dissertação de mestrado, éseguida metodologia existente para avaliar métricas de software considerando remodularizações reais, ou seja, cuja manutenção foi realizada pelos arquitetos do software. Foi utilizado um conjunto de métricas que consideram similaridade textual entre artefatos de software, chamadas métricas conceituais. Para realizar essa tarefa, foi relatado um experimento sobre o uso de Agrupamento Semântico (Semantic Clustering) para avaliar remodularizações de software. Agrupamento Semântico é uma abordagem que se baseia em recuperação de informação e técnicas de agrupamento para extrair conjuntos de classes similares de acordo com seus vocabulários. Foi reportada a adaptação que realizou-se nessa técnica e esta adaptação foi avaliada usando seis remodularizações de quatro sistemas de software. Observou-se que Agrupamento Semântico e métricasconceituais podem ser usados para expressar e explicar a intenção dos arquitetors ao realizar operações de modularização recorrentes, como decomposição de módulos.
local.publisher.initialsUFMG

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
gustavojansen.pdf
Tamanho:
1.72 MB
Formato:
Adobe Portable Document Format