Altiero, Francesco (2024) Churn-Based Approaches for Regression Test Prioritization. [Tesi di dottorato]

[thumbnail of Altiero_Francesco_36.pdf]
Anteprima
Testo
Altiero_Francesco_36.pdf

Download (5MB) | Anteprima
Tipologia del documento: Tesi di dottorato
Lingua: English
Titolo: Churn-Based Approaches for Regression Test Prioritization
Autori:
Autore
Email
Altiero, Francesco
francesco.altiero@unina.it
Data: 11 Marzo 2024
Numero di pagine: 200
Istituzione: Università degli Studi di Napoli Federico II
Dipartimento: Ingegneria Elettrica e delle Tecnologie dell'Informazione
Dottorato: Information technology and electrical engineering
Ciclo di dottorato: 36
Coordinatore del Corso di dottorato:
nome
email
Russo, Stefano
stefano.russo@unina.it
Tutor:
nome
email
Peron, Adriano
[non definito]
Corazza, Anna
[non definito]
Data: 11 Marzo 2024
Numero di pagine: 200
Parole chiave: Regression Test Prioritization; Software Testing; Code Churn; Tree Kernels; Genetic Algorithms; Benchmark Prioritization Dataset
Settori scientifico-disciplinari del MIUR: Area 01 - Scienze matematiche e informatiche > INF/01 - Informatica
Area 09 - Ingegneria industriale e dell'informazione > ING-INF/05 - Sistemi di elaborazione delle informazioni
Depositato il: 15 Mar 2024 15:24
Ultima modifica: 10 Mar 2026 08:10
URI: http://www.fedoa.unina.it/id/eprint/15411

Abstract

Regression Test Prioritization is a consolidated industrial practice in software evolution scenarios when there are limited resources allocated to the testing phase. It aims to reduce the efforts of Regression Testing by re-arranging the order of execution of test cases to increase the rate at which faults are detected. Various prioritization techniques employ different criteria to permute the test cases, as test coverage or meta-heuristics. Few studies in literature consider the code churn, i.e. the modification in the software source code, to drive the construction of the permutation. To fill the gap, this thesis presents two novel prioritization techniques leveraging on change information to produce a meaningful permutation. The first technique, namely Genetic-Diff, is an approach based on genetic algorithms to search for a permutation which prioritizes test cases covering changed parts of the source code. The second technique quantifies the structural similarity of changed code by means of Tree Kernel functions, giving higher priority to test cases covering more structural changes. The proposed techniques have been empirically evaluated on benchmark software projects, automatically injected with faults due code mutations. For both techniques, the experiments showed a significant increase in fault-detection performance, compared to several well-known state-of-the-art prioritization approaches. Moreover, this thesis presents ReCover, a novel dataset of software projects with real faults, collected through mining online code repository, to support Regression Test Prioritization researches. Several prioritization strategies have been executed on ReCover and their fault-detection performances analyzed and discussed.

Downloads

Downloads per month over past year

Actions (login required)

Modifica documento Modifica documento