Grammar-based test generation with YouGen

被引:14
作者
Hoffman, Daniel Malcolm [1 ]
Ly-Gagnon, David [1 ]
Strooper, Paul [2 ]
Wang, Hong-Yi [1 ]
机构
[1] Univ Victoria, Dept Comp Sci, Victoria, BC V8W 3P6, Canada
[2] Univ Queensland, Sch Informat Technol & Elect Engn, Brisbane, Qld 4072, Australia
关键词
automated testing; grammar-based test generation; covering array; firewall testing; RSS; XML; AUTOMATIC-GENERATION; COVERING ARRAYS; COMPILER; STRATEGY; DESIGN;
D O I
10.1002/spe.1017
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Grammars are traditionally used to recognize or parse sentences in a language, but they can also be used to generate sentences. In grammar-based test generation (GBTG), context-free grammars are used to generate sentences that are interpreted as test cases. A generator reads a grammar G and generates L(G), the language accepted by the grammar. Often L(G) is so large that it is not practical to execute all of the generated cases. Therefore, GBTG tools support 'tags': extra-grammatical annotations which restrict the generation. Since its introduction in the early 1970s, GBTG has become well established: proven on industrial projects and widely published in academic venues. Despite the demonstrated effectiveness, the tool support is uneven; some tools target specific domains, e.g. compiler testing, while others are proprietary. The tools can be difficult to use and the precise meaning of the tags are sometimes unclear. As a result, while many testing practitioners and researchers are aware of GBTG, few have detailed knowledge or experience. We present YouGen, a new GBTG tool supporting many of the tags provided by previous tools. In addition, YouGen incorporates covering-array tags, which support a generalized form of pairwise testing. These tags add considerable power to GBTG tools and have been available only in limited form in previous GBTG tools. We provide semantics for the YouGen tags using parse trees and a new construct, generation trees. We illustrate YouGen with both simple examples and a number of industrial case studies. Copyright (C) 2010 John Wiley & Sons, Ltd.
引用
收藏
页码:427 / 447
页数:21
相关论文
共 49 条
  • [1] [Anonymous], 2003, RSS 2 0 SPEC
  • [2] [Anonymous], 2003, Computer Networks
  • [3] [Anonymous], 2004, MATEMATICHE
  • [4] [Anonymous], XSLT XQUERY PROC
  • [5] [Anonymous], 2007, Practical Model-Based Testing: A Tools Approach
  • [6] Auger Robert., 2006, Zero Day Subscriptions: Using RSS and Atom Feeds As Attack Delivery Systems
  • [7] AUTOMATIC-GENERATION OF RANDOM SELF-CHECKING TEST CASES
    BIRD, DL
    MUNOZ, CU
    [J]. IBM SYSTEMS JOURNAL, 1983, 22 (03) : 229 - 245
  • [8] BURGESS C, 1994, J SOFTWARE TESTING V, V4, P81
  • [9] COMPILER TESTING USING A SENTENCE GENERATOR
    CELENTANO, A
    CRESPIREGHIZZI, S
    DELLAVIGNA, P
    GHEZZI, C
    GRANATA, G
    SAVORETTI, F
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1980, 10 (11) : 897 - 918
  • [10] The AETG system: An approach to testing based on combinatorial design
    Cohen, DM
    Dalal, SR
    Fredman, ML
    Patton, GC
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (07) : 437 - 444