A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION
Autor(a) principal: | |
---|---|
Data de Publicação: | 2010 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da PUC-RIO (Projeto Maxwell) |
Texto Completo: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@2 |
Resumo: | A modularização do código pode influenciar diretamente a manutenibilidade de sistemas de software. Por isso, pesquisadores têm proposto mecanismos que visam contribuir com a identificação de potenciais anomalias de modularidade no código. Nesse contexto, um mecanismo baseado em métricas que vêm sendo bastante divulgado são as estratégias de detecção. Comumente, elas são compostas por métricas que consideram apenas propriedades de versões isoladas dos sistemas. Entretanto, estudos recentes relatam que tal abordagem têm se apresentado contraproducente. Nossa pesquisa está relacionada à investigação dos possíveis benefícios de se considerar informações sobre a evolução do código na detecção de anomalias. Nesse contexto, este trabalho propõe um conjunto de métricas e de estratégias de detecção que consideram propriedades históricas do código em evolução. Além disso, uma ferramenta de medição e avaliação para dar suporte à abordagem também foi desenvolvida. Essa ferramenta permite a especificação declarativa de diferentes estratégias de detecção através de uma linguagem específica de domínio. Tal fato atende a necessidades particulares de desenvolvedores na configuração de estratégias e disponinbiliza a pesquisadores um ambiente propício à experimentação de estratégias de detecção. Ainda como contribuição desta pesquisa, é apresentada uma avaliação das estratégias em termos de precisão e revocação em dois sistemas de domínio diferentes. Resultados de estratégias convencionais e sensíveis à história são comparados em detecções de anomalias clássicas, tais como God Class, Divergent Change e Shotgun Surgery em um total de 16 versões desses sistemas. Como resultado desse estudo observou-se que a utilização de informações relacionadas à evolução do código pode trazer importantes contribuições à detecção de anomalias de código. |
id |
PUC_RIO-1_deb312f6661aaf16609030fba843b7e3 |
---|---|
oai_identifier_str |
oai:MAXWELL.puc-rio.br:17163 |
network_acronym_str |
PUC_RIO-1 |
network_name_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository_id_str |
534 |
spelling |
info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisA HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION UMA ABORDAGEM SENSÍVEL À HISTÓRIA PARA DETECÇÃO DE ANOMALIAS DE CÓDIGO 2010-08-23CARLOS JOSE PEREIRA DE LUCENA04169212720lattes.cnpq.br/2491891766759477CARLOS JOSE PEREIRA DE LUCENA04169212720lattes.cnpq.br/2491891766759477ALESSANDRO FABRICIO GARCIA02059205948lattes.cnpq.br/0807511237795775ALESSANDRO FABRICIO GARCIA02059205948lattes.cnpq.br/0807511237795775CARLOS JOSE PEREIRA DE LUCENAALESSANDRO FABRICIO GARCIAARNDT VON STAACARLOS JOSE PEREIRA DE LUCENAALESSANDRO FABRICIO GARCIALEANDRA MARA DA SILVAPONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIROPPG EM INFORMÁTICAPUC-RioBRA modularização do código pode influenciar diretamente a manutenibilidade de sistemas de software. Por isso, pesquisadores têm proposto mecanismos que visam contribuir com a identificação de potenciais anomalias de modularidade no código. Nesse contexto, um mecanismo baseado em métricas que vêm sendo bastante divulgado são as estratégias de detecção. Comumente, elas são compostas por métricas que consideram apenas propriedades de versões isoladas dos sistemas. Entretanto, estudos recentes relatam que tal abordagem têm se apresentado contraproducente. Nossa pesquisa está relacionada à investigação dos possíveis benefícios de se considerar informações sobre a evolução do código na detecção de anomalias. Nesse contexto, este trabalho propõe um conjunto de métricas e de estratégias de detecção que consideram propriedades históricas do código em evolução. Além disso, uma ferramenta de medição e avaliação para dar suporte à abordagem também foi desenvolvida. Essa ferramenta permite a especificação declarativa de diferentes estratégias de detecção através de uma linguagem específica de domínio. Tal fato atende a necessidades particulares de desenvolvedores na configuração de estratégias e disponinbiliza a pesquisadores um ambiente propício à experimentação de estratégias de detecção. Ainda como contribuição desta pesquisa, é apresentada uma avaliação das estratégias em termos de precisão e revocação em dois sistemas de domínio diferentes. Resultados de estratégias convencionais e sensíveis à história são comparados em detecções de anomalias clássicas, tais como God Class, Divergent Change e Shotgun Surgery em um total de 16 versões desses sistemas. Como resultado desse estudo observou-se que a utilização de informações relacionadas à evolução do código pode trazer importantes contribuições à detecção de anomalias de código.The modularization of the code can directly influence the software maintainability. Therefore, researchers have proposed mechanisms to contribute to the identification of potential modularity anomalies in source code. In this context, a mechanism based on metrics that have been widespread are the detection strategies. Commonly, they are based on metrics that consider only properties of isolated versions of the systems. However, recent studies have reported that these strategies have been considered counter-productive. Our research is related to the investigation of the possible benefits of considering information about the code evolution to detect anomalies. In this context, this paper proposes a set of metrics and detection strategies that consider historic properties of the code evolution. Furthermore, a measuring and assessing tool to support the approach was also developed. This tool allows the declarative specifcation of different detection strategies through a domain-specific language. This fact meets the particular needs of developers in setting strategies and dispose to researchers an opportune environment to detection strategies experimentations. Also as a contribution of this research is presented an evaluation of strategies in terms of precision and recall in two systems of different domains. Results of conventional strategies and of history-sensitive strategies are compared in detections of classical modularity flaws, such as God Class, Divergent Change and Shotgun Surgery in a total of 16 versions of these systems. Results of this study showed that the use of information related to the code evolution can provide important contributions to detect design flaws in code.COORDENAÇÃO DE APERFEIÇOAMENTO DO PESSOAL DE ENSINO SUPERIORhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@2porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-11-01T13:12:38Zoai:MAXWELL.puc-rio.br:17163Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342018-08-21T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false |
dc.title.en.fl_str_mv |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION |
dc.title.alternative.pt.fl_str_mv |
UMA ABORDAGEM SENSÍVEL À HISTÓRIA PARA DETECÇÃO DE ANOMALIAS DE CÓDIGO |
title |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION |
spellingShingle |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION LEANDRA MARA DA SILVA |
title_short |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION |
title_full |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION |
title_fullStr |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION |
title_full_unstemmed |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION |
title_sort |
A HISTORY SENSITIVE APPROACH TO CODE ANOMALY DETECTION |
dc.creator.ID.none.fl_str_mv |
|
dc.creator.Lattes.none.fl_str_mv |
|
author |
LEANDRA MARA DA SILVA |
author_facet |
LEANDRA MARA DA SILVA |
author_role |
author |
dc.contributor.advisor2ID.none.fl_str_mv |
04169212720 |
dc.contributor.advisor1.fl_str_mv |
CARLOS JOSE PEREIRA DE LUCENA |
dc.contributor.advisor1ID.fl_str_mv |
04169212720 |
dc.contributor.advisor1Lattes.fl_str_mv |
lattes.cnpq.br/2491891766759477 |
dc.contributor.advisor2.fl_str_mv |
CARLOS JOSE PEREIRA DE LUCENA |
dc.contributor.advisor2Lattes.fl_str_mv |
lattes.cnpq.br/2491891766759477 |
dc.contributor.advisor-co1.fl_str_mv |
ALESSANDRO FABRICIO GARCIA |
dc.contributor.advisor-co1ID.fl_str_mv |
02059205948 |
dc.contributor.advisor-co1Lattes.fl_str_mv |
lattes.cnpq.br/0807511237795775 |
dc.contributor.advisor-co2.fl_str_mv |
ALESSANDRO FABRICIO GARCIA |
dc.contributor.advisor-co2ID.fl_str_mv |
02059205948 |
dc.contributor.advisor-co2Lattes.fl_str_mv |
lattes.cnpq.br/0807511237795775 |
dc.contributor.referee1.fl_str_mv |
CARLOS JOSE PEREIRA DE LUCENA |
dc.contributor.referee2.fl_str_mv |
ALESSANDRO FABRICIO GARCIA |
dc.contributor.referee3.fl_str_mv |
ARNDT VON STAA |
dc.contributor.referee4.fl_str_mv |
CARLOS JOSE PEREIRA DE LUCENA |
dc.contributor.referee5.fl_str_mv |
ALESSANDRO FABRICIO GARCIA |
dc.contributor.author.fl_str_mv |
LEANDRA MARA DA SILVA |
contributor_str_mv |
CARLOS JOSE PEREIRA DE LUCENA CARLOS JOSE PEREIRA DE LUCENA ALESSANDRO FABRICIO GARCIA ALESSANDRO FABRICIO GARCIA CARLOS JOSE PEREIRA DE LUCENA ALESSANDRO FABRICIO GARCIA ARNDT VON STAA CARLOS JOSE PEREIRA DE LUCENA ALESSANDRO FABRICIO GARCIA |
description |
A modularização do código pode influenciar diretamente a manutenibilidade de sistemas de software. Por isso, pesquisadores têm proposto mecanismos que visam contribuir com a identificação de potenciais anomalias de modularidade no código. Nesse contexto, um mecanismo baseado em métricas que vêm sendo bastante divulgado são as estratégias de detecção. Comumente, elas são compostas por métricas que consideram apenas propriedades de versões isoladas dos sistemas. Entretanto, estudos recentes relatam que tal abordagem têm se apresentado contraproducente. Nossa pesquisa está relacionada à investigação dos possíveis benefícios de se considerar informações sobre a evolução do código na detecção de anomalias. Nesse contexto, este trabalho propõe um conjunto de métricas e de estratégias de detecção que consideram propriedades históricas do código em evolução. Além disso, uma ferramenta de medição e avaliação para dar suporte à abordagem também foi desenvolvida. Essa ferramenta permite a especificação declarativa de diferentes estratégias de detecção através de uma linguagem específica de domínio. Tal fato atende a necessidades particulares de desenvolvedores na configuração de estratégias e disponinbiliza a pesquisadores um ambiente propício à experimentação de estratégias de detecção. Ainda como contribuição desta pesquisa, é apresentada uma avaliação das estratégias em termos de precisão e revocação em dois sistemas de domínio diferentes. Resultados de estratégias convencionais e sensíveis à história são comparados em detecções de anomalias clássicas, tais como God Class, Divergent Change e Shotgun Surgery em um total de 16 versões desses sistemas. Como resultado desse estudo observou-se que a utilização de informações relacionadas à evolução do código pode trazer importantes contribuições à detecção de anomalias de código. |
publishDate |
2010 |
dc.date.issued.fl_str_mv |
2010-08-23 |
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 |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@2 |
url |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=17163@2 |
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 |
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO |
dc.publisher.program.fl_str_mv |
PPG EM INFORMÁTICA |
dc.publisher.initials.fl_str_mv |
PUC-Rio |
dc.publisher.country.fl_str_mv |
BR |
publisher.none.fl_str_mv |
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell) instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) instacron:PUC_RIO |
instname_str |
Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
instacron_str |
PUC_RIO |
institution |
PUC_RIO |
reponame_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
collection |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository.name.fl_str_mv |
Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
repository.mail.fl_str_mv |
|
_version_ |
1748324908596723712 |