Reference : Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic ...
Scientific journals : Article
Engineering, computing & technology : Computer science
Security, Reliability and Trust
http://hdl.handle.net/10993/30978
Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets
English
Panichella, Annibale mailto [University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > >]
Kifetew, Fitsum [Fondazione Bruno Kessler]
Tonella, Paolo [Fondazione Bruno Kessler]
In press
IEEE Transactions on Software Engineering
Institute of Electrical and Electronics Engineers
Yes (verified by ORBilu)
International
0098-5589
New York
NY
[en] Automatic Test Case Generation ; Evolutionary Testing ; Many-Objective Optimisation
[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.
Researchers ; Professionals ; Students
http://hdl.handle.net/10993/30978
10.1109/TSE.2017.2663435

File(s) associated to this reference

Fulltext file(s):

FileCommentaryVersionSizeAccess
Open access
tse2017.pdfAuthor preprint3.41 MBView/Open

Bookmark and Share SFX Query

All documents in ORBilu are protected by a user license.