Please use this identifier to cite or link to this item:
http://hdl.handle.net/1843/35426
Type: | Dissertação |
Title: | Bad smell agglomerations and their impact on software modularity |
Other Titles: | Aglomerações de anomalias de código e seu impacto na modularidade de software |
Authors: | Amanda Damasceno Santana |
First Advisor: | Eduardo Magno Lages Figueiredo |
First Referee: | André Cavalcante Hora |
Second Referee: | Marcelo de Almeida Maia |
Abstract: | Most systems must evolve to cope with new stakeholders requirements, or to fix existing problems. These changes are complex due to several factors, including the need of understanding the source code, activity that is impaired by the presence of bad smells. Bad smell is a symptom of bad decisions about the system design or code. When two or more bad smells occur in the same snippet of code, they form an agglomeration. Consequently, developers need to put more effort to perform their development and maintenance tasks. In this work, we evaluate agglomerations composed of four kinds of bad smells: Large Class, Long Method, Feature Envy, and Refused Bequest. We aim at evaluating how these agglomerations are spread in the source code, and how they impact on the software modularity. Our results are achieved through the use of association rules and effect size measurements. We have found that classes with two or more smells are frequent in the source code, even when the smells present in the class are of the same type. We also observed that agglomerations are the most spread in the source code, even when the size of the systems are taken into account. Agglomerations have a significant effect on most analyzed modularity metrics. This result means that they may affect class complexity, fault proneness, and coupling. |
Abstract: | A maioria dos sistemas devem evoluir a fim de implementar novos requisitos dos stakeholders, ou para corrigir problemas existentes. Estas mudanças são complexas devido a diversos fatores, incluindo a necessidade de compreender o código fonte do sistema, atividade que é prejudicada pela presença de anomalias de código. Anomalias de código são sintomas de más decisões sobre o projeto do sistema ou simplesmente de seu código. Contudo, quando duas ou mais anomalias acontecem no mesmo pedaço de código, elas formam uma aglomeração. Consequentemente, desenvolvedores precisam se esforçar muito mais para realizar suas atividades de desenvolvimento e manutenção. Neste trabalho, nós avaliamos aglomerações formadas por quatro tipos de anomalias: Large Class, Long Method, Feature Envy e Refused Bequest. Nosso objetivo é avaliar como estas aglomerações estão espallhadas no código fonte, e como elas impactam na modularidade do software. Nossos resultados são alcançados através do uso de regras de associação e medidas de tamanho do efeito. Nós encontramos que classes com duas ou mais anomalias são frequentes no código fonte, até mesmo quando consideramos somente o mesmo tipo de anomalia. Elas também são altamente espalhadas no código fonte, mesmo quando o tamanho do sistema é levado em consideração. Também, nós descobrimos que elas realmente impactam a modularidade. Estes resultados significam que elas podem afetar a complexidade da classe, torná-las mais propensas a problemas, e mais acopladas a outras classes. |
Subject: | Computação – Teses. Bad smell – Teses. Aglomeração – Teses. Anomalias de código (Engenharia de software) – Teses. Software - Reutilização – Teses. |
language: | eng |
metadata.dc.publisher.country: | Brasil |
Publisher: | Universidade Federal de Minas Gerais |
Publisher Initials: | UFMG |
metadata.dc.publisher.department: | ICEX - INSTITUTO DE CIÊNCIAS EXATAS |
metadata.dc.publisher.program: | Programa de Pós-Graduação em Ciência da Computação |
Rights: | Acesso Restrito |
URI: | http://hdl.handle.net/1843/35426 |
Issue Date: | 30-Oct-2020 |
metadata.dc.description.embargo: | 30-Oct-2021 |
Appears in Collections: | Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Amanda Santana - Dissertação.pdf | 959.82 kB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.