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 条
  • [41] A Feature Rich Distance-Based Many-Objective Visualisable Test Problem Generator
    Fieldsend, Jonathan E.
    Chugh, Tinkle
    Allmendinger, Richard
    Miettinen, Kaisa
    PROCEEDINGS OF THE 2019 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE (GECCO'19), 2019, : 541 - 549
  • [42] A Comparison of methods for leader selection in Many-Objective problems
    Castro Junior, Olacir Rodrigues
    Britto, Andre
    Pozo, Aurora
    2012 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2012,
  • [43] Many-objective evolutionary algorithm based on dynamic mating and strengthened fitness selection mechanism
    Li, Wei
    Tang, Wenhao
    Wang, Lei
    JOURNAL OF SUPERCOMPUTING, 2025, 81 (02):
  • [44] Adaptive neighborhood selection for many-objective optimization problems
    Zou, Juan
    Zhang, Yuping
    Yang, Shengxiang
    Liu, Yuan
    Zheng, Jinhua
    APPLIED SOFT COMPUTING, 2018, 64 : 186 - 198
  • [45] A many-objective algorithm based on staged coordination selection
    Zou, Juan
    Liu, Jing
    Zheng, Jinhua
    Yang, Shengxiang
    SWARM AND EVOLUTIONARY COMPUTATION, 2021, 60
  • [46] A Customized Niching Methodology for the Many-Objective Pathfinding Problem
    Weise, Jens
    Mostaghim, Sanaz
    2021 IEEE SYMPOSIUM SERIES ON COMPUTATIONAL INTELLIGENCE (IEEE SSCI 2021), 2021,
  • [47] Model Transformation Modularization as a Many-Objective Optimization Problem
    Fleck, Martin
    Troya, Javier
    Kessentini, Marouane
    Wimmer, Manuel
    Alkhazi, Bader
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (11) : 1009 - 1032
  • [48] Verification of Applicability of MOEAs to Many-Objective GP Problem
    Ohki, Makoto
    2020 7TH INTERNATIONAL CONFERENCE ON CONTROL, DECISION AND INFORMATION TECHNOLOGIES (CODIT'20), VOL 1, 2020, : 837 - 842
  • [49] Reformulating Branch Coverage as a Many-Objective Optimization Problem
    Panichella, Annibale
    Kifetew, Fitsum Meshesha
    Tonella, Paolo
    2015 IEEE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2015,
  • [50] Pareto Fronts of Many-Objective Degenerate Test Problems
    Ishibuchi, Hisao
    Masuda, Hiroyuki
    Nojima, Yusuke
    IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, 2016, 20 (05) : 807 - 813