• DocumentCode
    3031698
  • Title

    Heuristics for Scalable Dynamic Test Generation

  • Author

    Burnim, Jacob ; Sen, Koushik

  • Author_Institution
    EECS, UC Berkeley, Berkeley, CA
  • fYear
    2008
  • fDate
    15-19 Sept. 2008
  • Firstpage
    443
  • Lastpage
    446
  • Abstract
    Recently there has been great success in using symbolic execution to automatically generate test inputs for small software systems. A primary challenge in scaling such approaches to larger programs is the combinatorial explosion of the path space. It is likely that sophisticated strategies for searching this path space are needed to generate inputs that effectively test large programs (by, e.g., achieving significant branch coverage). We present several such heuristic search strategies, including a novel strategy guided by the control flow graph of the program under test. We have implemented these strategies in CREST, our open source concolic testing tool for C, and evaluated them on two widely-used software tools, grep 2.2 (15 K lines of code) and Vim 5.7 (150 K lines). On these benchmarks, the presented heuristics achieve significantly greater branch coverage on the same testing budget than concolic testing with a traditional depth-first search strategy.
  • Keywords
    program testing; software tools; control flow graph; depth-first search strategy; open source concolic testing tool; path space; scalable dynamic test generation; software systems; software tools; symbolic execution; Automatic testing; Benchmark testing; Concrete; Explosions; Flow graphs; Jacobian matrices; Software systems; Software testing; Software tools; System testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering, 2008. ASE 2008. 23rd IEEE/ACM International Conference on
  • Conference_Location
    L´Aquila
  • ISSN
    1938-4300
  • Print_ISBN
    978-1-4244-2187-9
  • Electronic_ISBN
    1938-4300
  • Type

    conf

  • DOI
    10.1109/ASE.2008.69
  • Filename
    4639362