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.
A Test Case Prioritization Genetic Algorithm Guided by the Hypervolume Indicator
Dario Di Nucci,Annibale Panichella,A. Zaidman,A. D. Lucia
Published 2020 in IEEE Transactions on Software Engineering
ABSTRACT
PUBLICATION RECORD
- Publication year
2020
- Venue
IEEE Transactions on Software Engineering
- Publication date
2020-06-01
- Fields of study
Computer Science
- Identifiers
- External record
- Source metadata
Semantic Scholar
CITATION MAP
EXTRACTION MAP
CLAIMS
CONCEPTS
- auc metrics
Area-under-curve measures used to summarize cumulative coverage achieved as test cases are executed in sequence.
Aliases: area under curve metrics, AUC
- cost-effectiveness
A performance notion that relates the quality gains from a test ordering to the cost of executing it.
- hypervolume-based genetic algorithm
A genetic algorithm designed to prioritize test cases using the hypervolume indicator as its guiding fitness principle.
Aliases: HGA
- hypervolume metric
A multiobjective quality indicator that measures the dominated volume of a solution set relative to a reference point.
Aliases: hypervolume indicator
- multi-criteria test coverage
An evaluation setting that combines more than one test coverage criterion when scoring a test ordering.
Aliases: multiple test coverage criteria
- selective pressure
The degree to which the search process favors higher-quality solutions during optimization.
- state-of-the-art techniques
The five comparison methods used as baselines in the empirical evaluation.
Aliases: SOTA techniques, baseline techniques
- test case prioritization
The software testing problem of ordering available test cases to increase the chance of revealing faults or coverage earlier.
Aliases: TCP
REFERENCES
Showing 1-78 of 78 references · Page 1 of 1
CITED BY
Showing 1-46 of 46 citing papers · Page 1 of 1