A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator

Dario Di Nucci, Annibale Panichella, Andy Zaidman, Andrea De Lucia

Research output: Contribution to journalArticleScientificpeer-review

167 Downloads (Pure)

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.
Original languageEnglish
Pages (from-to)674-696
Number of pages23
JournalIEEE Transactions on Software Engineering
Volume46 (2020)
Issue number6
DOIs
Publication statusPublished - 2018

Keywords

  • Test Case Priorization
  • Genetic Algorithm
  • Hypervolume

Fingerprint

Dive into the research topics of 'A Test Case Prioritization Genetic Algorithm guided by the Hypervolume Indicator'. Together they form a unique fingerprint.

Cite this