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

[thumbnail of Altiero_Francesco_36.pdf]
Preview
Text
Altiero_Francesco_36.pdf

Download (5MB) | Preview
Item Type: Tesi di dottorato
Resource language: English
Title: Churn-Based Approaches for Regression Test Prioritization
Creators:
Creators
Email
Altiero, Francesco
francesco.altiero@unina.it
Date: 11 March 2024
Number of Pages: 200
Institution: Università degli Studi di Napoli Federico II
Department: 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
UNSPECIFIED
Corazza, Anna
UNSPECIFIED
Date: 11 March 2024
Number of Pages: 200
Keywords: 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
Date Deposited: 15 Mar 2024 15:24
Last Modified: 10 Mar 2026 08:10
URI: http://www.fedoa.unina.it/id/eprint/15411

Collection description

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)

View Item View Item