Article (Scientific journals)
Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets
Panichella, Annibale; Kifetew, Fitsum; Tonella, Paolo
2018In IEEE Transactions on Software Engineering, 44 (2), p. 122 - 158
Peer Reviewed verified by ORBi
 

Files


Full Text
tse2017.pdf
Author preprint (3.49 MB)
Download

All documents in ORBilu are protected by a user license.

Send to



Details



Keywords :
Automatic Test Case Generation; Evolutionary Testing; Many-Objective Optimisation
Abstract :
[en] The test case generation is intrinsically a multi-objective problem, since the goal is covering multiple test targets (e.g., branches). Existing search-based approaches either consider one target at a time or aggregate all targets into a single fitness function (whole-suite approach). Multi and many-objective optimisation algorithms (MOAs) have never been applied to this problem, because existing algorithms do not scale to the number of coverage objectives that are typically found in real-world software. In addition, the final goal for MOAs is to find alternative trade-off solutions in the objective space, while in test generation the interesting solutions are only those test cases covering one or more uncovered targets. In this paper, we present DynaMOSA (Dynamic Many-Objective Sorting Algorithm), a novel many-objective solver specifically designed to address the test case generation problem in the context of coverage testing. DynaMOSA extends our previous many-objective technique MOSA (Many-Objective Sorting Algorithm) with dynamic selection of the coverage targets based on the control dependency hierarchy. Such extension makes the approach more effective and efficient in case of limited search budget. We carried out an empirical study on 346 Java classes using three coverage criteria (i.e., statement, branch, and strong mutation coverage) to assess the performance of DynaMOSA with respect to the whole-suite approach (WS), its archive-based variant (WSA) and MOSA. The results show that DynaMOSA outperforms WSA in 28% of the classes for branch coverage (+8% more coverage on average) and in 27% of the classes for mutation coverage (+11% more killed mutants on average). It outperforms WS in 51% of the classes for statement coverage, leading to +11% more coverage on average. Moreover, DynaMOSA outperforms its predecessor MOSA for all the three coverage criteria in 19% of the classes with +8% more code coverage on average.
Disciplines :
Computer science
Author, co-author :
Panichella, Annibale ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Kifetew, Fitsum;  Fondazione Bruno Kessler
Tonella, Paolo;  Fondazione Bruno Kessler
External co-authors :
yes
Language :
English
Title :
Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets
Publication date :
01 February 2018
Journal title :
IEEE Transactions on Software Engineering
ISSN :
1939-3520
Publisher :
Institute of Electrical and Electronics Engineers, New York, United States - New York
Volume :
44
Issue :
2
Pages :
122 - 158
Peer reviewed :
Peer Reviewed verified by ORBi
Focus Area :
Security, Reliability and Trust
Available on ORBilu :
since 30 April 2017

Statistics


Number of views
167 (18 by Unilu)
Number of downloads
2520 (31 by Unilu)

Scopus citations®
 
208
Scopus citations®
without self-citations
173
WoS citations
 
165

Bibliography


Similar publications



Contact ORBilu