Summary: | Submitted by Diogo Barreiros (diogo.barreiros@ufba.br) on 2017-06-08T11:28:18Z
No. of bitstreams: 1
Dissertação Mydiã_Freitas.pdf: 3038925 bytes, checksum: 799df53dc64e5b455ed52bb760695ae2 (MD5) === Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-12T15:16:18Z (GMT) No. of bitstreams: 1
Dissertação Mydiã_Freitas.pdf: 3038925 bytes, checksum: 799df53dc64e5b455ed52bb760695ae2 (MD5) === Made available in DSpace on 2017-06-12T15:16:18Z (GMT). No. of bitstreams: 1
Dissertação Mydiã_Freitas.pdf: 3038925 bytes, checksum: 799df53dc64e5b455ed52bb760695ae2 (MD5) === Code smell é definido como um potencial problema de design localizado em
determinada parte do código fonte de um sistema de software e pode indicar deficiências no
design que podem influenciar a facilidade de manutenção, facilidade de teste e confiabilidade
do software. Um bom exemplo de code smell que vai de encontro aos princípios do bom
design definido na programação orientada a objetos é o Shotgun Surgery, que corresponde a
classes cuja modificação implica em muitas pequenas alterações em muitas outras classes.
Quando as modificações estão espalhadas, elas são difíceis de serem encontradas. Como
resultado, é fácil perder uma mudança importante, causando assim, problemas na manutenção
do sistema.
A atividade de identificação de code smells é analisada e confirmada pelo próprio
programador ou um revisor independente, contudo, a detecção manual de code smells por
meio de inspeções de código consume muito tempo e é pouco escalável. Ferramentas que
auxiliam a identificação de code smells têm sido bastante utilizadas em diversos estudos.
Neste contexto, esta dissertação propõe investigar se a detecção automática de code smells por
meio de ferramentas é considerada útil pelos desenvolvedores como forma de avaliar a
qualidade do design de sistemas de software, principalmente em termos de facilidade de
manutenção.
Realizamos três estudos: sendo um estudo preliminar e dois estudos experimentais
similares. O objetivo do estudo preliminar era nos auxiliar a perceber e corrigir problemas que
pudessem surgir no decorrer do desenvolvimento dos estudos experimentais. O objetivo
desses estudos era investigar a qualidade do design de sistemas de softwares e code smells
através do uso de ferramentas de detecção. Os resultados desses estudos indicam que existe
relação entre os code smells God Class, Data Class, Shotgun Surgery, Refused Bequest e
Feature Envy com problemas de design associados a dificuldades no processo de manutenção
de sistemas de softwares.
|