A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator

Journal Article (2018)
Author(s)

D. Di Nucci (Vrije Universiteit Brussel)

Annibale Panichella (TU Delft - Software Engineering)

Andy Zaidman (TU Delft - Software Engineering)

Andrea De Lucia (University of Salerno)

Research Group
Software Engineering
Copyright
© 2018 D. Di Nucci, A. Panichella, A.E. Zaidman, Andrea De Lucia
DOI related publication
https://doi.org/10.1109/TSE.2018.2868082
More Info
expand_more
Publication Year
2018
Language
English
Copyright
© 2018 D. Di Nucci, A. Panichella, A.E. Zaidman, Andrea De Lucia
Research Group
Software Engineering
Bibliographical Note
Green Open Access added to TU Delft Institutional Repository ‘You share, we take care!’ – Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public. @en
Issue number
6
Volume number
46 (2020)
Pages (from-to)
674-696
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

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.

Files

08453036.pdf
(pdf | 1.6 Mb)
- Embargo expired in 04-07-2022
License info not available