00 CAMPUS ARISTÓTELES CALAZANS SIMÕES (CAMPUS A. C. SIMÕES) IC - INSTITUTO DE COMPUTAÇÃO Dissertações e Teses defendidas na UFAL - IC
Use este identificador para citar ou linkar para este item: http://www.repositorio.ufal.br/jspui/handle/riufal/1757
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisor1Costa, Evandro de Barros-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/5760364940162939pt_BR
dc.contributor.advisor-co1Santos Neto, Baldoíno Fonseca dos-
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/0306751604362704pt_BR
dc.contributor.referee1Ribeiro, Márcio de Medeiros-
dc.contributor.referee1Latteshttp://lattes.cnpq.br/9300936571715992pt_BR
dc.contributor.referee2Brito, Patrick Henrique da Silva-
dc.contributor.referee2Latteshttp://lattes.cnpq.br/4155051332618408pt_BR
dc.contributor.referee3Garcia, : Alessandro Fabrício-
dc.contributor.referee3Latteshttp://lattes.cnpq.br/0807511237795775pt_BR
dc.creatorAmorim, Lucas Benevides Viana de-
dc.creator.Latteshttp://lattes.cnpq.br/2470781099632240pt_BR
dc.date.accessioned2017-06-23T18:40:53Z-
dc.date.available2017-06-22-
dc.date.available2017-06-23T18:40:53Z-
dc.date.issued2014-05-05-
dc.identifier.citationAMORIM, Lucas Benevides Viana de. Um método para descoberta automática de regras para a detecção de Bad Smells. 2014. 64 f. Dissertação (Mestrado em Modelagem Computacional do Conhecimento) – Instituto de Computação, Programa de Pós Graduação em Modelagem Computacional do Conhecimento, Universidade Federal de Alagoas, Maceió, 2014.pt_BR
dc.identifier.urihttp://www.repositorio.ufal.br/handle/riufal/1757-
dc.description.abstractOne of the techniques to maintain software quality is code refactoring. But to take advantage of code refactoring, one must know where in code it must be applied. A catalog of bad smells in code has been proposed in the literature as a way to know when a certain piece of code should be refactored andwhat kind of refactoring should be applied. This catalog has been extended by other researchers. However, detecting such bad smells is far from trivial, mainly because of the lack of a precise and consensual definition of each Bad Smell. In this researchwork,we propose a solution to the problemof automatic detection of Bad Smells by means of the automatic discovery of metrics based rules. In order to evaluate the effectiveness of the technique, we used a dataset containing information on software metrics calculated for 4 open source software systems written in Java (ArgoUML, Eclipse,Mylyn and Rhino) and, by means of a Decision Tree induction algorithm, C5.0, we were capable of generating rules for the detection of the 12 Bad Smells that were analyzed in our study. Our experiments show that the generate rules performed very satisfactorily when tested against a separated test dataset. Furthermore, aiming to optimize the proposed approach, a Genetic Algorithm was implemented to preselect the most informative software metrics for each Bad Smell and we show that it is possible to reduce classification error in addition to, many times, reduce the size of the generated rules. When compared to existing Bad Smells detection tools, we show evidence that the proposed technique has advantages.pt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal de Alagoaspt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.programPrograma de Pós-Graduação em Modelagem Computacional de Conhecimentopt_BR
dc.publisher.initialsUFALpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectInteligência artificialpt_BR
dc.subjectEngenharia de softwarept_BR
dc.subjectAlgorítmos genéticospt_BR
dc.subjectArtificial intelligencept_BR
dc.subjectSoftware engineeringpt_BR
dc.subjectGenetic algorithmspt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.titleUm método para descoberta automática de regras para a detecção de Bad Smellspt_BR
dc.title.alternativeA method for the automatic discovery of rules for the detection of Bad Smellspt_BR
dc.typeDissertaçãopt_BR
dc.description.resumoUma das técnicas para a manutenção da qualidade de um software é o refatoramento do código, mas para que esta prática traga benefícios, é necessário saber em que partes do código ela deve ser aplicada. Um catálogo com os problemas estruturais mais comuns (Bad Smells) foi proposto na literatura como uma maneira de saber quando um fragmento de código deve ser refatorado, e que tipo de refatoramento deve ser aplicado. Este catálogo vem sendo estendido por outros pesquisadores. No entanto, a detecção desses Bad Smells, está longe de ser trivial, principalmente devido a falta de uma definição precisa e consensual de cada Bad Smell. Neste trabalho de pesquisa, propomos uma solução para o problema da detecção automática de Bad Smells por meio da descoberta automática de regras baseadas emmétricas de software. Para avaliar a efetividade da técnica, utilizamos um conjunto de dados com informações sobre métricas de software calculadas para 4 sistemas de software de código aberto programados emJava (ArgoUML, Eclipse,Mylyn e Rhino) e, por meio de umalgoritmo classificador, indutor de Árvores deDecisão, C5.0, fomos capazes de gerar regras para a detecção dos 12 Bad Smells analisados emnossos estudos. Nossos experimentos demonstramque regras geradas obtiveramumresultado bastante satisfatório quando testadas emumconjunto de dados à parte (conjunto de testes). Além disso, visando otimizar o desempenho da solução proposta, implementamos um Algoritmo Genético para pré-selecionar as métricas de software mais informativas para cada Bad Smell emostramos que é possível diminuir o erro de classificação alémde, muitas vezes, reduzir o tamanho das regras geradas. Em comparação com ferramentas existentes para detecção de Bad Smells, mostramos indícios de que a técnica proposta apresenta vantagens.pt_BR
Aparece nas coleções:Dissertações e Teses defendidas na UFAL - IC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Um método para descoberta automática de regras para a detecção de Bad Smells.pdf1.23 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.