Standard

A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator. / Di Nucci, Dario; Panichella, Annibale; Zaidman, Andy; De Lucia, Andrea.

In: IEEE Transactions on Software Engineering, Vol. (Online First), 30.08.2018, p. 1-24.

Research output: Contribution to journalArticle

Harvard

Di Nucci, D, Panichella, A, Zaidman, A & De Lucia, A 2018, 'A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator', IEEE Transactions on Software Engineering, vol. (Online First), pp. 1-24. https://doi.org/10.1109/TSE.2018.2868082

APA

Di Nucci, D., Panichella, A., Zaidman, A., & De Lucia, A. (2018). A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator. IEEE Transactions on Software Engineering, (Online First), 1-24. https://doi.org/10.1109/TSE.2018.2868082

Vancouver

Di Nucci D, Panichella A, Zaidman A, De Lucia A. A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator. IEEE Transactions on Software Engineering. 2018 Aug 30;(Online First):1-24. https://doi.org/10.1109/TSE.2018.2868082

Author

Di Nucci, Dario ; Panichella, Annibale ; Zaidman, Andy ; De Lucia, Andrea. / A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator. In: IEEE Transactions on Software Engineering. 2018 ; Vol. (Online First). pp. 1-24.

BibTeX

@article{b627608ef5b14fe893a563df7650df6a,
title = "A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator",
abstract = "Regression testing is performed during maintenance activities to assess whether the unchanged parts of a software behave as intended. To reduce its cost, test case prioritization techniques can be used to schedule the execution of the available test cases to increase their ability to reveal regression faults earlier. Optimal test ordering can be determined using various techniques, such as greedy algorithms and meta-heuristics, and optimizing multiple fitness functions, such as the average percentage of statement and branch coverage. These fitness functions condense the cumulative coverage scores achieved when incrementally running test cases in a given ordering using Area Under Curve (AUC) metrics. In this paper, we notice that AUC metrics represent a bi-dimensional (simplified) version of the hypervolume metric, which is widely used in many-objective optimization. Thus, we propose a Hypervolume-based Genetic Algorithm, namely HGA, to solve the Test Case Prioritization problem when using multiple test coverage criteria. An empirical study conducted with respect to five state-of-the-art techniques shows that (i) HGA is more cost-effective, (ii) HGA improves the efficiency of Test Case Prioritization, (iii) HGA has a stronger selective pressure when dealing with more than three criteria.",
keywords = "Fault detection, Genetic Algorithm, Genetic algorithms, Greedy algorithms, Hypervolume, Measurement, Software systems, Test Case Prioritization, Testing",
author = "{Di Nucci}, Dario and Annibale Panichella and Andy Zaidman and {De Lucia}, Andrea",
year = "2018",
month = "8",
day = "30",
doi = "10.1109/TSE.2018.2868082",
language = "English",
volume = "(Online First)",
pages = "1--24",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

RIS

TY - JOUR

T1 - A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator

AU - Di Nucci, Dario

AU - Panichella, Annibale

AU - Zaidman, Andy

AU - De Lucia, Andrea

PY - 2018/8/30

Y1 - 2018/8/30

N2 - Regression testing is performed during maintenance activities to assess whether the unchanged parts of a software behave as intended. To reduce its cost, test case prioritization techniques can be used to schedule the execution of the available test cases to increase their ability to reveal regression faults earlier. Optimal test ordering can be determined using various techniques, such as greedy algorithms and meta-heuristics, and optimizing multiple fitness functions, such as the average percentage of statement and branch coverage. These fitness functions condense the cumulative coverage scores achieved when incrementally running test cases in a given ordering using Area Under Curve (AUC) metrics. In this paper, we notice that AUC metrics represent a bi-dimensional (simplified) version of the hypervolume metric, which is widely used in many-objective optimization. Thus, we propose a Hypervolume-based Genetic Algorithm, namely HGA, to solve the Test Case Prioritization problem when using multiple test coverage criteria. An empirical study conducted with respect to five state-of-the-art techniques shows that (i) HGA is more cost-effective, (ii) HGA improves the efficiency of Test Case Prioritization, (iii) HGA has a stronger selective pressure when dealing with more than three criteria.

AB - Regression testing is performed during maintenance activities to assess whether the unchanged parts of a software behave as intended. To reduce its cost, test case prioritization techniques can be used to schedule the execution of the available test cases to increase their ability to reveal regression faults earlier. Optimal test ordering can be determined using various techniques, such as greedy algorithms and meta-heuristics, and optimizing multiple fitness functions, such as the average percentage of statement and branch coverage. These fitness functions condense the cumulative coverage scores achieved when incrementally running test cases in a given ordering using Area Under Curve (AUC) metrics. In this paper, we notice that AUC metrics represent a bi-dimensional (simplified) version of the hypervolume metric, which is widely used in many-objective optimization. Thus, we propose a Hypervolume-based Genetic Algorithm, namely HGA, to solve the Test Case Prioritization problem when using multiple test coverage criteria. An empirical study conducted with respect to five state-of-the-art techniques shows that (i) HGA is more cost-effective, (ii) HGA improves the efficiency of Test Case Prioritization, (iii) HGA has a stronger selective pressure when dealing with more than three criteria.

KW - Fault detection

KW - Genetic Algorithm

KW - Genetic algorithms

KW - Greedy algorithms

KW - Hypervolume

KW - Measurement

KW - Software systems

KW - Test Case Prioritization

KW - Testing

UR - http://www.scopus.com/inward/record.url?scp=85052845104&partnerID=8YFLogxK

U2 - 10.1109/TSE.2018.2868082

DO - 10.1109/TSE.2018.2868082

M3 - Article

VL - (Online First)

SP - 1

EP - 24

JO - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

ER -

ID: 39384724