Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/19902
Title: Analisando suítes de teste manuais e automáticas para identificar faltas de refatoramento.
Other Titles: Analyzing manual and automatic test suites to identify refactoring gaps.
???metadata.dc.creator???: CORDEIRO, Cássio Eduardo Gabriel.
???metadata.dc.contributor.advisor1???: ALVES, Everton Leandro Galdino.
???metadata.dc.contributor.referee1???: GHEYI, Rohit.
???metadata.dc.contributor.referee2???: MASSONI, Tiago Lima.
Keywords: Suítes de teste - análise;Faltas de refatoramento;Manutenibilidade de software;Edições de refatoramento;Faltas tipo Extract Method;Randoop;Evosuite;Suite manual;Suite automática;Refatoramento;Qualidade de software;Engenharia de software;Test suites - analysis;Refactoring shortages;Software maintainability;Refactoring edits;Extract Method type faults;Manual suite;Automatic suite;Refactoring;Software quality;Software engineering;Suites de pruebas - análisis;Refactorización de la escasez;Mantenibilidad del software;Refactorización de ediciones;Extraer fallas de tipo de método;Refactorización;Calidad del software;Ingeniería de software;Suites de tests - analyse;Pénuries de refactoring;Maintenabilité du logiciel;Modifications de refactorisation;Défauts de type Méthode d'extraction;Suite évo;Suite manuelle;Suite automatique;Refactorisation;Qualité du logiciel;Génie logiciel
Issue Date: 25-May-2021
Publisher: Universidade Federal de Campina Grande
Citation: CORDEIRO, C. E. G. Analisando suítes de teste manuais e automáticas para identificar faltas de refatoramento. 2021. 10 f. (Trabalho de Conclusão de Curso - Artigo) – Curso de Bacharelado em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2021.
???metadata.dc.description.resumo???: Desenvolver sistemas com alta qualidade envolve atividades que permitam fácil manutenção e forneçam confiança sobre o código produzido. Testes de software se relacionam com a confiabilidade, já refatoramentos, com manutenibilidade. Por definição, edições de refatoramento objetivam melhorar estrutura do código, mas preservando seu comportamento. Porém, refatoramentos mal feitos podem alterar o comportamento do sistema, são as chamadas faltas de refatoramento. Tais faltas, podem não ser detectadas por suítes de teste pouco confiáveis. Uma alternativa para criação sistemática de suítes de teste é a utilização de ferramentas de geração automática. Este trabalho tem como objetivo avaliar a efetividade de suítes de teste geradas manual e automaticamente para detectar faltas de refatoramento do tipo Extract Method. Para isso, foram selecionados projetos escritos em Java, com suítes de teste geradas manualmente, novas suítes de testes foram criadas automaticamente com as ferramentas Randoop e EvoSuite, um conjunto de faltas foram injetadas nos sistemas. As suítes manuais detectaram 61,9% das faltas injetadas, enquanto a suíte Randoop detectou apenas 46,7% e a EvoSuite 55,8%. A Randoop obteve uma taxa de detecção baixa, a EvoSuite, no entanto, obteve um resultado significantemente comparável ao de suítes manuais.
Abstract: Developing systems with high quality involves activities that allow easy maintenance and provide confidence about the code produced. Software tests are related to reliability, already refactoring, with maintainability. By definition, refactoring editions aim to improve the code's structure, while preserving its behavior. However, bad refactoring can change the behavior of the system, they are called refactoring faults. Such faults may not be detected by unreliable test suites. An alternative for the systematic creation of test suites is the use of automatic generation tools. This work aims to evaluate the effectiveness of test suites generated manually and automatically to detect refactoring faults of the Extract Method type. For this, projects written in Java were selected, with test suites generated manually, new test suites were created automatically with the tools Randoop and EvoSuite, a set of faults were injected into the systems. Manual suites detected 61.9% of injected faults, while the Randoop suite detected only 46.7% and EvoSuite 55.8%. Randoop obtained a low detection rate, EvoSuite, however, obtained a result significantly comparable to that of manual suites.
Keywords: Suítes de teste - análise
Faltas de refatoramento
Manutenibilidade de software
Edições de refatoramento
Faltas tipo Extract Method
Randoop
Evosuite
Suite manual
Suite automática
Refatoramento
Qualidade de software
Engenharia de software
Test suites - analysis
Refactoring shortages
Software maintainability
Refactoring edits
Extract Method type faults
Manual suite
Automatic suite
Refactoring
Software quality
Software engineering
Suites de pruebas - análisis
Refactorización de la escasez
Mantenibilidad del software
Refactorización de ediciones
Extraer fallas de tipo de método
Refactorización
Calidad del software
Ingeniería de software
Suites de tests - analyse
Pénuries de refactoring
Maintenabilité du logiciel
Modifications de refactorisation
Défauts de type Méthode d'extraction
Suite évo
Suite manuelle
Suite automatique
Refactorisation
Qualité du logiciel
Génie logiciel
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/19902
Appears in Collections:Trabalho de Conclusão de Curso - Artigo - Ciência da Computação

Files in This Item:
File Description SizeFormat 
CÁSSIO EDUARDO GABRIEL CORDEIRO - TCC CIÊNCIA DA COMPUTAÇÃO 2021.pdf1.07 MBAdobe PDFView/Open


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