Investigation of Code Change and Smell to Support the Software Regression Test Selection (2024)
- Authors:
- Autor USP: MORI, ALLAN VICTOR - ICMC
- Unidade: ICMC
- Sigla do Departamento: SSC
- DOI: 10.11606/T.55.2024.tde-28112024-143829
- Subjects: ENGENHARIA DE SOFTWARE; QUALIDADE DE SOFTWARE; SOFTWARES
- Keywords: Abordagem de mudança e smell; Baseado em dependência; Change and smell approach; Code smell; Dependency-based; Regression testing selection; Seleção de teste de regressão; Smell de código
- Language: Inglês
- Abstract: O teste de regressão é uma atividade de manutenção da engenharia de software que envolve a reexecução de casos de teste em um sistema de software modificado para verificar se as alterações no código expõe falhas existentes. No entanto, ele pode consumir muito tempo e recursos, especialmente em sistemas grandes. As técnicas de seleção de testes de regressão podem ajudar a gerenciar esse problema, selecionando um subconjunto de casos de teste a serem executados. A técnica "Change Based" seleciona um subconjunto dos casos de teste existentes e verifica classes modificadas. Além de reduzir o conjunto de testes, essa técnica pode reduzir a capacidade de revelar falhas. A partir dessa perspectiva, os code smells são conhecidos por identificar problemas de design e de qualidade de software. Alguns trabalhos exploraram a associação entre smells e falhas com alguns resultados promissores. Inspirados por esses resultados, propomos combinar a informações sobre alteração do código e code smells para selecionar testes de regressão e apresentamos oito técnicas. Além disso, desenvolvemos a Regression Testing Selection Tool (RTST) para automatizar o processo de seleção usando essas técnicas. Avaliamos empiricamente a abordagem em projetos do Defects4J, comparando a eficácia das novas técnicas com as técnicas clássicas de seleção de regressão. Os resultados mostram que a técnica Change and Smell Intersection Based atinge a maior taxa de redução no tamanho do conjunto de testes, mas commenor cobertura de classe. Por outro lado, a técnica Change and "Smell Firewall" obtém a menor redução no tamanho do conjunto de testes com os casos de teste de maior eficácia na detecção de falhas, sugerindo que a combinação de code smells e classes alteradas podem potencialmente encontrar mais falhas. A técnica "Smell Based" fornece uma cobertura de classe comparável à abordagem de mudança de código e smell. Nossas descobertas indicam oportunidades para melhorar a eficácia do teste de regressão e destacam que a qualidade do software deve ser uma preocupação durante toda a evolução do software.
- Imprenta:
- Publisher place: São Carlos
- Date published: 2024
- Data da defesa: 05.08.2024
- Status:
- Artigo publicado em periódico de acesso aberto (Gold Open Access)
- Versão do Documento:
- Versão publicada (Published version)
- Acessar versão aberta:
-
ABNT
MORI, Allan. Investigation of Code Change and Smell to Support the Software Regression Test Selection. 2024. Tese (Doutorado) – Universidade de São Paulo, São Carlos, 2024. Disponível em: https://teses.usp.br/teses/disponiveis/55/55134/tde-28112024-143829/. Acesso em: 02 abr. 2026. -
APA
Mori, A. (2024). Investigation of Code Change and Smell to Support the Software Regression Test Selection (Tese (Doutorado). Universidade de São Paulo, São Carlos. Recuperado de https://teses.usp.br/teses/disponiveis/55/55134/tde-28112024-143829/ -
NLM
Mori A. Investigation of Code Change and Smell to Support the Software Regression Test Selection [Internet]. 2024 ;[citado 2026 abr. 02 ] Available from: https://teses.usp.br/teses/disponiveis/55/55134/tde-28112024-143829/ -
Vancouver
Mori A. Investigation of Code Change and Smell to Support the Software Regression Test Selection [Internet]. 2024 ;[citado 2026 abr. 02 ] Available from: https://teses.usp.br/teses/disponiveis/55/55134/tde-28112024-143829/ - Anomaly analyses to guide software testing activity
- Code change and smell techniques for regression test selection
- An approach to regression testing selection based on code changes and smells
- Using an incremental testing strategy to improve students' perception of software quality
- How to identify the infeasible test requirements using static analyse?: an exploratory study
- What are the differences between group and individual modeling when learning BPMN?
- A strategy to support the infeasible test requirements identification
Informações sobre a disponibilidade de versões do artigo em acesso aberto coletadas automaticamente via oaDOI API (Unpaywall).
Por se tratar de integração com serviço externo, podem existir diferentes versões do trabalho (como preprints ou postprints), que podem diferir da versão publicada.
How to cite
A citação é gerada automaticamente e pode não estar totalmente de acordo com as normas
