Seeding strategies in search-based unit test generation

被引:55
|
作者
Rojas, Jose Miguel [1 ]
Fraser, Gordon [1 ]
Arcuri, Andrea [2 ,3 ]
机构
[1] Univ Sheffield, Dept Comp Sci, 211 Portobello, Sheffield S1 4DP, S Yorkshire, England
[2] Scienta, Oslo, Norway
[3] Univ Luxembourg, SnT Ctr, Luxembourg, Luxembourg
来源
基金
英国工程与自然科学研究理事会;
关键词
test case generation; search-based testing; testing classes; search-based software engineering; JUnit; !text type='Java']Java[!/text;
D O I
10.1002/stvr.1601
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Search-based techniques have been applied successfully to the task of generating unit tests for object-oriented software. However, as for any meta-heuristic search, the efficiency heavily depends on many factors; seeding, which refers to the use of previous related knowledge to help solve the testing problem at hand, is one such factor that may strongly influence this efficiency. This paper investigates different seeding strategies for unit test generation, in particular seeding of numerical and string constants derived statically and dynamically, seeding of type information and seeding of previously generated tests. To understand the effects of these seeding strategies, the results of a large empirical analysis carried out on a large collection of open-source projects from the SF110 corpus and the Apache Commons repository are reported. These experiments show with strong statistical confidence that, even for a testing tool already able to achieve high coverage, the use of appropriate seeding strategies can further improve performance. (C) 2016 The Authors. Software Testing, Verification and Reliability published by John Wiley & Sons, Ltd.
引用
收藏
页码:366 / 401
页数:36
相关论文
共 50 条
  • [21] Heuristic search-based approach for automated test data generation: a survey
    Malhotra, Ruchika
    Khari, Manju
    INTERNATIONAL JOURNAL OF BIO-INSPIRED COMPUTATION, 2013, 5 (01) : 1 - 18
  • [22] Search-Based Test Case Generation for Cyber-Physical Systems
    Arrieta, Aitor
    Wang, Shuai
    Markiegi, Urtzi
    Sagardui, Goiuria
    Etxeberria, Leire
    2017 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2017, : 688 - 697
  • [23] On the Usefulness of Crossover in Search-Based Test Case Generation: An Industrial Report
    Huang, Changze
    Zhou, Hailian
    Zhao, Hongbing
    Cai, Wenting
    Zhou, Zhi Quan
    Jiang, Mingyue
    2022 29TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC, 2022, : 417 - 421
  • [24] Using Search-Based Test Generation to Discover Real Faults in Guava
    Almulla, Hussein
    Salahirad, Alireza
    Gay, Gregory
    SEARCH BASED SOFTWARE ENGINEERING, SSBSE 2017, 2017, 10452 : 153 - 160
  • [25] OCELOT: A Search-Based Test-Data Generation Tool for C
    Scalabrino, Simone
    Grano, Giovanni
    Di Nucci, Dario
    Guerra, Michele
    De Lucia, Andrea
    Gall, Harald C.
    Oliveto, Rocco
    PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, : 868 - 871
  • [26] Search-Based Functional Test Data Generation Using Data Metamodel
    Olah, Janos
    Majzik, Istvan
    SEARCH BASED SOFTWARE ENGINEERING, 2011, 6956 : 273 - 273
  • [27] Industrial Evaluation of Search-Based Test Generation Techniques for Control Systems
    Hauer, Florian
    Pretschner, Alexander
    Schmitt, Maximilian
    Groetsch, Markus
    2017 IEEE 28TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2017), 2017, : 5 - 8
  • [28] A Multi-Objective Approach To Search-Based Test Data Generation
    Harman, Mark
    Lakhotia, Kiran
    McMinn, Phil
    GECCO 2007: GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, VOL 1 AND 2, 2007, : 1098 - +
  • [29] Improving Search-Based Android Test Generation Using Surrogate Models
    Auer, Michael
    Adler, Felix
    Fraser, Gordon
    SEARCH-BASED SOFTWARE ENGINEERING, SSBSE 2022, 2022, 13711 : 51 - 66
  • [30] Improving Search-based Test Suite Generation with Dynamic Symbolic Execution
    Galeotti, Juan Pablo
    Fraser, Gordon
    Arcuri, Andrea
    2013 IEEE 24TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2013, : 360 - 369