Detecção de anomalias de código usando métricas de software

Detalhes bibliográficos
Autor(a) principal: Juliana Padilha
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/ESBF-97CNV4
Resumo: Métricas são tradicionalmente utilizadas para avaliar a qualidade e manutenibilidade do software, apoiando a identificação de anomalias no código. Recentemente, métricas de interesse foram propostas com este objetivo. Um interesse é algo que se queira tratar como uma unidade conceitual modular, como requisitos funcionais e não funcionais e idiomas de programação. Enquanto as métricas tradicionais quantificam as propriedades de módulos, as métricas de interesse quantificam propriedades de interesse, tais como espalhamento e entrelaçamento. Apesar das métricas de interesse já terem sido utilizadas em estudos experimentais, ainda falta conhecimento empírico quanto à sua eficácia na identificação de anomalias de código. Esta dissertação investiga se métricas de interesse podem fornecer indicadores úteis para a detecção de cinco anomalias de código: Divergent Change, Shotgun Surgery, God Class, Feature Envy e God Method. Para isso, foram realizados dois estudos experimentais. No primeiro estudo, utilizamos um conjunto de 54 participantes de duas instituições diferentes para detecção de trêsanomalias em classes em dois sistemas. No segundo estudo, baseado na detecção de anomalias em métodos, utilizamos um conjunto de 47 participantes de duas instituições com o objetivo de detectar casos de duas anomalias em um sistema. Em ambos os estudos, os participantes analisaram métricas tradicionais e de interesse para auxiliar nesta investigação. Os resultados indicaram que as métricas de interesse apoiam os desenvolvedores a detectar alguma destas anomalias de código. Por exemplo, os nossos resultados revelaram que a métrica Número de Interesse por Componente é uma boa indicadora para o Divergent Change. No entanto, uma análise conjunta das métricas tradicionais e de interesse muitas vezes é necessária para detectar God Class e o Shotgun Surgery. Em relação os resultados das anomalias em métodos, eles indicaram que a métrica NCO é uma boa indicadora para o God Method. Com base nos resultados destes dois estudos, realizamos a elaboração de método quantitativo apoiado por uma ferramenta para detectar automaticamente anomalias de código
id UFMG_0c2a0d93a8e1da27962ab60da4416576
oai_identifier_str oai:repositorio.ufmg.br:1843/ESBF-97CNV4
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Eduardo Magno Lages FigueiredoMarco Tulio de Oliveira ValenteCláudio Nogueira Sant`AnnaPaulo Cesar MasieroJuliana Padilha2019-08-14T05:36:26Z2019-08-14T05:36:26Z2013-03-07http://hdl.handle.net/1843/ESBF-97CNV4Métricas são tradicionalmente utilizadas para avaliar a qualidade e manutenibilidade do software, apoiando a identificação de anomalias no código. Recentemente, métricas de interesse foram propostas com este objetivo. Um interesse é algo que se queira tratar como uma unidade conceitual modular, como requisitos funcionais e não funcionais e idiomas de programação. Enquanto as métricas tradicionais quantificam as propriedades de módulos, as métricas de interesse quantificam propriedades de interesse, tais como espalhamento e entrelaçamento. Apesar das métricas de interesse já terem sido utilizadas em estudos experimentais, ainda falta conhecimento empírico quanto à sua eficácia na identificação de anomalias de código. Esta dissertação investiga se métricas de interesse podem fornecer indicadores úteis para a detecção de cinco anomalias de código: Divergent Change, Shotgun Surgery, God Class, Feature Envy e God Method. Para isso, foram realizados dois estudos experimentais. No primeiro estudo, utilizamos um conjunto de 54 participantes de duas instituições diferentes para detecção de trêsanomalias em classes em dois sistemas. No segundo estudo, baseado na detecção de anomalias em métodos, utilizamos um conjunto de 47 participantes de duas instituições com o objetivo de detectar casos de duas anomalias em um sistema. Em ambos os estudos, os participantes analisaram métricas tradicionais e de interesse para auxiliar nesta investigação. Os resultados indicaram que as métricas de interesse apoiam os desenvolvedores a detectar alguma destas anomalias de código. Por exemplo, os nossos resultados revelaram que a métrica Número de Interesse por Componente é uma boa indicadora para o Divergent Change. No entanto, uma análise conjunta das métricas tradicionais e de interesse muitas vezes é necessária para detectar God Class e o Shotgun Surgery. Em relação os resultados das anomalias em métodos, eles indicaram que a métrica NCO é uma boa indicadora para o God Method. Com base nos resultados destes dois estudos, realizamos a elaboração de método quantitativo apoiado por uma ferramenta para detectar automaticamente anomalias de códigoMetrics have traditionally have been used to evaluate the maintainability of software programs by supporting identification of symptoms of bad smells. Recently, concern metrics have also been proposed with this purpose. While traditional metrics quantify properties of sotware modules, concern metrics quantify concern properties, such asthe scattering and tangling of concerns realized in a program. Despite being increasingly used in experimental studies, although lack empirical knowledge as to their effectiveness in identifying bad smells. This work investigates whether concern metrics may provide useful indicators for detecting five bad smells: Divergent Change, Shotgun Surgery, God Class, Feature Envy and God Method. For this, two experimentalstudies were performed. In the first study, we used a set of 54 participants from two different institutions for detecting three bad smells in classes in two systems. In the second study, based on detection of bad smells in methods, we used a set of 47 participants from two institutions in order to detect two bad smells in of one system. Inboth studies, participants analyzed traditional and concern metrics to assist bad smell detection. The results indicated that the concern metrics support developers detect these bad smells. In addition, our results showed that the Number of Concern per Component metric is a good indicator for the Divergent Change. However, elaborated joint analysis of traditional metrics and concern is often necessary to detect God Classand Shotgun Surgery. Regarding the results of bad smells in methods, they indicated that the Number of Concern per Operations metric is a good indicator for the God Method. Based on the results of these two studies, we propose a quantitative method for supporting a automated detection bad smellsUniversidade Federal de Minas GeraisUFMGComputaçãoEngenharia de softwareMétricas de softwareAnomalias de códigoSeparação de interesseDetecção de anomalias de código usando métricas de softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALjulianapadilha.pdfapplication/pdf23840026https://repositorio.ufmg.br/bitstream/1843/ESBF-97CNV4/1/julianapadilha.pdf3e5a3de2e9fb8c06b7f6456e83c3e90cMD51TEXTjulianapadilha.pdf.txtjulianapadilha.pdf.txtExtracted texttext/plain304123https://repositorio.ufmg.br/bitstream/1843/ESBF-97CNV4/2/julianapadilha.pdf.txtf3762bc6f286cd2ac01245a1f1872336MD521843/ESBF-97CNV42019-11-14 22:17:28.251oai:repositorio.ufmg.br:1843/ESBF-97CNV4Repositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-15T01:17:28Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Detecção de anomalias de código usando métricas de software
title Detecção de anomalias de código usando métricas de software
spellingShingle Detecção de anomalias de código usando métricas de software
Juliana Padilha
Métricas de software
Anomalias de código
Separação de interesse
Computação
Engenharia de software
title_short Detecção de anomalias de código usando métricas de software
title_full Detecção de anomalias de código usando métricas de software
title_fullStr Detecção de anomalias de código usando métricas de software
title_full_unstemmed Detecção de anomalias de código usando métricas de software
title_sort Detecção de anomalias de código usando métricas de software
author Juliana Padilha
author_facet Juliana Padilha
author_role author
dc.contributor.advisor1.fl_str_mv Eduardo Magno Lages Figueiredo
dc.contributor.referee1.fl_str_mv Marco Tulio de Oliveira Valente
dc.contributor.referee2.fl_str_mv Cláudio Nogueira Sant`Anna
dc.contributor.referee3.fl_str_mv Paulo Cesar Masiero
dc.contributor.author.fl_str_mv Juliana Padilha
contributor_str_mv Eduardo Magno Lages Figueiredo
Marco Tulio de Oliveira Valente
Cláudio Nogueira Sant`Anna
Paulo Cesar Masiero
dc.subject.por.fl_str_mv Métricas de software
Anomalias de código
Separação de interesse
topic Métricas de software
Anomalias de código
Separação de interesse
Computação
Engenharia de software
dc.subject.other.pt_BR.fl_str_mv Computação
Engenharia de software
description Métricas são tradicionalmente utilizadas para avaliar a qualidade e manutenibilidade do software, apoiando a identificação de anomalias no código. Recentemente, métricas de interesse foram propostas com este objetivo. Um interesse é algo que se queira tratar como uma unidade conceitual modular, como requisitos funcionais e não funcionais e idiomas de programação. Enquanto as métricas tradicionais quantificam as propriedades de módulos, as métricas de interesse quantificam propriedades de interesse, tais como espalhamento e entrelaçamento. Apesar das métricas de interesse já terem sido utilizadas em estudos experimentais, ainda falta conhecimento empírico quanto à sua eficácia na identificação de anomalias de código. Esta dissertação investiga se métricas de interesse podem fornecer indicadores úteis para a detecção de cinco anomalias de código: Divergent Change, Shotgun Surgery, God Class, Feature Envy e God Method. Para isso, foram realizados dois estudos experimentais. No primeiro estudo, utilizamos um conjunto de 54 participantes de duas instituições diferentes para detecção de trêsanomalias em classes em dois sistemas. No segundo estudo, baseado na detecção de anomalias em métodos, utilizamos um conjunto de 47 participantes de duas instituições com o objetivo de detectar casos de duas anomalias em um sistema. Em ambos os estudos, os participantes analisaram métricas tradicionais e de interesse para auxiliar nesta investigação. Os resultados indicaram que as métricas de interesse apoiam os desenvolvedores a detectar alguma destas anomalias de código. Por exemplo, os nossos resultados revelaram que a métrica Número de Interesse por Componente é uma boa indicadora para o Divergent Change. No entanto, uma análise conjunta das métricas tradicionais e de interesse muitas vezes é necessária para detectar God Class e o Shotgun Surgery. Em relação os resultados das anomalias em métodos, eles indicaram que a métrica NCO é uma boa indicadora para o God Method. Com base nos resultados destes dois estudos, realizamos a elaboração de método quantitativo apoiado por uma ferramenta para detectar automaticamente anomalias de código
publishDate 2013
dc.date.issued.fl_str_mv 2013-03-07
dc.date.accessioned.fl_str_mv 2019-08-14T05:36:26Z
dc.date.available.fl_str_mv 2019-08-14T05:36:26Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1843/ESBF-97CNV4
url http://hdl.handle.net/1843/ESBF-97CNV4
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.publisher.initials.fl_str_mv UFMG
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/ESBF-97CNV4/1/julianapadilha.pdf
https://repositorio.ufmg.br/bitstream/1843/ESBF-97CNV4/2/julianapadilha.pdf.txt
bitstream.checksum.fl_str_mv 3e5a3de2e9fb8c06b7f6456e83c3e90c
f3762bc6f286cd2ac01245a1f1872336
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1803589579322687488