Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets

被引:207
|
作者
Panichella, Annibale [1 ]
Kifetew, Fitsum Meshesha [2 ]
Tonella, Paolo [2 ]
机构
[1] Univ Luxembourg, SnT, L-4365 Esch Sur Alzette, Luxembourg
[2] Fdn Bruno Kessler, Software Engn Unit, I-38122 Trento, Italy
关键词
Evolutionary testing; many-objective optimisation; automatic test case generation; EVOLUTIONARY ALGORITHMS;
D O I
10.1109/TSE.2017.2663435
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 Dynamic Many-Objective Sorting Algorithm (DynaMOSA), 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 Many-Objective Sorting Algorithm (MOSA) 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 percent of the classes for branch coverage (+8 percent more coverage on average) and in 27 percent of the classes for mutation coverage (+11 percent more killed mutants on average). It outperforms WS in 51 percent of the classes for statement coverage, leading to +11 percent more coverage on average. Moreover, DynaMOSA outperforms its predecessor MOSA for all the three coverage criteria in 19 percent of the classes with +8 percent more code coverage on average.
引用
收藏
页码:122 / 158
页数:37
相关论文
共 50 条
  • [1] A Visualizable Test Problem Generator for Many-Objective Optimization
    Fieldsend, Jonathan E.
    Chugh, Tinkle
    Allmendinger, Richard
    Miettinen, Kaisa
    IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, 2022, 26 (01) : 1 - 11
  • [2] A fast hypervolume driven selection mechanism for many-objective optimisation problems
    Rostami, Shahin
    Neri, Ferrante
    SWARM AND EVOLUTIONARY COMPUTATION, 2017, 34 : 50 - 67
  • [3] On the Effect of Selection and Archiving Operators in Many-Objective Particle Swarm Optimisation
    Woolard, Matthaus M.
    Fieldsend, Jonathan E.
    GECCO'13: PROCEEDINGS OF THE 2013 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, 2013, : 129 - 136
  • [4] Diversity based selection for many-objective evolutionary optimisation problems with constraints
    Myszkowski, Pawel B.
    Laszczyk, Maciej
    INFORMATION SCIENCES, 2021, 546 : 665 - 700
  • [5] Evolutionary many-objective optimisation: Many once or one many?
    Hughes, EJ
    2005 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-3, PROCEEDINGS, 2005, : 222 - 227
  • [6] Many-Objective Test Suite Generation for Software Product Lines
    Hierons, Robert M.
    Li, Miqing
    Liu, Xiaohui
    Parejo, Jose Antonio
    Segura, Sergio
    Yao, Xin
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2020, 29 (01)
  • [7] Automatic Test Case Generation Using Many-Objective Search and Principal Component Analysis
    Li, Dongcheng
    Wong, W. Eric
    Pan, Sean
    Koh, Liang-Seng
    Li, Shenglong
    Chau, Matthew
    IEEE ACCESS, 2022, 10 : 85518 - 85529
  • [8] Automatic Test Case Generation Using Many-Objective Search and Principal Component Analysis
    Li, Dongcheng
    Eric Wong, W.
    Pan, Sean
    Koh, Liang-Seng
    Li, Shenglong
    Chau, Matthew
    IEEE Access, 2022, 10 : 85518 - 85529
  • [9] Evolutionary many-objective optimisation: An exploratory analysis
    Purshouse, RC
    Fleming, PJ
    CEC: 2003 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-4, PROCEEDINGS, 2003, : 2066 - 2073
  • [10] Visualisation with treemaps and sunbursts in many-objective optimisation
    Walker, David J.
    GENETIC PROGRAMMING AND EVOLVABLE MACHINES, 2018, 19 (03) : 421 - 452