Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/595
Title: Early Detection of Manual Refactoring Faults.
Other Titles: Detecção antecipada de falhas de refatoração manual.
???metadata.dc.creator???: ALVES, Everton Leandro Galdino.
???metadata.dc.contributor.advisor1???: MACHADO, Patrícia Duarte de Lima.
???metadata.dc.contributor.advisor2???: MASSONI, Tiago LIma.
???metadata.dc.contributor.referee1???: COELHO, Roberta de Souza.
???metadata.dc.contributor.referee2???: BORBA, Paulo Henrique Monteiro.
???metadata.dc.contributor.referee3???: RAMALHO, Franklin de Souza.
???metadata.dc.contributor.referee4???: GHEYI, Rohit.
Keywords: Refactoramento manual;Suites de regressão;Detecção antecipada de falhas;Refactoring-Based Approach;REFDISTILLER;Anáise estática
Issue Date: 7-Apr-2015
Publisher: Universidade Federal de Campina Grande
Citation: ALVES, Everton Leandro Galdino. Early Detection of Manual Refactoring Faults. 2015. 142f. (Tese de Doutorado em Ciência da Computação) Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraiba - Brasil, 2015.
???metadata.dc.description.resumo???: Um estudo recente mostra que cerca de 90% de todos os refactoramentos são aplicadosmanualmente. Refatoramentos manuais são mais suscetíveis a erro, uma vez que desenvolvedores tem que coordenar transformações relacionadas e entender relações, muitas vezes complexas, entre arquivos, variáveis e métodos. Neste contexto, suites de regressão são usadas para diminuir as chances de introdução de defeitos durante refatoramentos. Contudo, devido aos altos custos de lidar com suites massivas, existe a necessidade de otimização da execução destas. Técnicas de priorização de casos de teste propõem uma nova ordem de execução, almejando a detecção antecipada de faltas. Entretanto, as técnicas atuais não são projetadas para lidar especificamente com faltas relacionadas a refatoramentos. Neste documento propomos RBA (Refactoring-Based Approach), uma técnica de prioritização voltada para refatoramentos. RBA reordena uma suite existente de acordo com um conjunto de modelos de falta (Refactoring Fault Models - RFMs). Estes abrangem os elementos de códigoque são geralmente impactados dado um refatoramento. Apesar de ser a técnica de validação de refatoramentos mais usada na prática, em alguns casos, o uso de suites de regressão pode ser inadequado. Suites inadequadas podem impedir desenvolvedores de iniciar uma tarefa de refatoramento dada as chances de introdução de defeitos. A fim de complementar a validação por testes e ajudar na revisão de refatoramentos, nós propomos REFDISTILLER, uma técnica que usa anáise estática para detectar edições de código negligenciadas e edições extra que desviam de um refatoramento padrão e podem vir a mudar o comportamento do software. Ambas abordagens (RBA e REFDISTILLER) focam em sistemas Java/JUnit e em um sub conjunto dos refatoramentos mais comuns. Uma avaliação usando um dataset composto de faltas de refatoramento sutis, e comparando com técnicas de prioritização tradicionais, mostra que RBA melhor prioriza as suites em 71% dos casos, promovendo um melhor agrupamento dos casos de teste em 73% dos casos. REFDISTILLER detecta 97% das faltas do nosso dataset de faltas injetadas. Destas, 24% não são detectadas por suites de teste geradas. Finalmente, em um estudo com projetos open-source, REFDISTILLER detecta 22.1 mais anomalias que as suites de teste, com uma precisão de 94%. Esses resultados mostram que (i) RBA consegue melhorar consideravelmente a priorização durante evoluções perfectivas, melhorando tanto a antecipação da detecção de defeitos, quanto fornecendo mais informação sobre estes antecipadamente; (ii) REFDISTILLER complementa efetivamente a análise dinâmica por achar novas anomalias e fornecer informações extra que ajudam no debug e correção das faltas.
Keywords: Refactoramento manual
Suites de regressão
Detecção antecipada de falhas
Refactoring-Based Approach
REFDISTILLER
Anáise estática
???metadata.dc.subject.cnpq???: Ciência da Computação.
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/595
Appears in Collections:Doutorado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
EVERTON LEANDRO GALDINO ALVES - TESE PPGCC 2015..pdfEverton Leandro Galdino Alves - Tese PPGCC 2015.2.25 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.