• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Feedback-directed random test generation (2007)

Cached

  • Download as a PDF

Download Links

  • [www.cs.wm.edu]
  • [www.csc.calpoly.edu]
  • [www.research.microsoft.com]
  • [pag.csail.mit.edu]
  • [www.cs.ucla.edu]
  • [pag.lcs.mit.edu]
  • [people.csail.mit.edu]
  • [www.pag.csail.mit.edu]
  • [www.csail.mit.edu]
  • [www.cs.washington.edu]
  • [muymughal.googlepages.com]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Carlos Pacheco , Shuvendu K. Lahiri , Michael D. Ernst , Thomas Ball
Venue:In ICSE
Citations:74 - 14 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@INPROCEEDINGS{Pacheco07feedback-directedrandom,
    author = {Carlos Pacheco and Shuvendu K. Lahiri and Michael D. Ernst and Thomas Ball},
    title = {Feedback-directed random test generation},
    booktitle = {In ICSE},
    year = {2007},
    publisher = {IEEE Computer Society}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

We present a technique that improves random test generation by incorporating feedback obtained from executing test inputs as they are created. Our technique builds inputs incrementally by randomly selecting a method call to apply and finding arguments from among previously-constructed inputs. As soon as an input is built, it is executed and checked against a set of contracts and filters. The result of the execution determines whether the input is redundant, illegal, contract-violating, or useful for generating more inputs. The technique outputs a test suite consisting of unit tests for the classes under test. Passing tests can be used to ensure that code contracts are preserved across program changes; failing tests (that violate one or more contract) point to potential errors that should be corrected. Our experimental results indicate that feedback-directed random test generation can outperform systematic and undirected random test generation, in terms of coverage and error detection. On four small but nontrivial data structures (used previously in the literature), our technique achieves higher or equal block and predicate coverage than model checking (with and without abstraction) and undirected random generation. On 14 large, widely-used libraries (comprising 780KLOC), feedback-directed random test generation finds many previously-unknown errors, not found by either model checking or undirected random generation. 1

Citations

388 Model checking programs - Visser, Havelund, et al.
355 DART: directed automated random testing - GODEFROID, KLARLUND, et al. - 2005
335 Hints on test data selection: Help for the practicing programmer - DeMillo, Lipton, et al. - 1978
252 QuickCheck: a lightweight tool for random testing of Haskell programs - Claessen, Hughes - 2000
184 An Evaluation of Random Testing - Duran, Ntafos - 1984
163 An Empirical Study of the Reliability of UNIX Utilities - Miller, Fredriksen, et al. - 1990
144 Partition Testing Does Not Inspire Confidence - Hamlet, Taylor - 1990
112 JCrasher: an automatic robustness tester for Java - Csallner, Smaragdakis - 2004
111 Test input generation with java pathfinder - Visser, Pǎsǎreanu, et al. - 2004
102 Symstra: A framework for generating object-oriented unit tests using symbolic execution - Xie, Marinov, et al. - 2005
91 Eclat: Automatic generation and classification of test inputs - Pacheco, Ernst - 2005
84 B.: The chaining approach for software test data generation - Ferguson, Korel - 1996
79 Rostra: A framework for detecting redundant objectoriented unit tests - Xie, Marinov, et al. - 2004
72 An Empirical Study of the Robustness of Windows NT Applications Using Random Testing - Forrester, Miller, et al. - 2000
68 Discovering Algebraic Specifications from Java Classes - Henkel, Diwan - 2003
63 Random testing - Hamlet - 1994
56 Check ’n’ crash: Combining static checking and testing - Csallner, Smaragdakis - 2005
49 Heuristics for model checking Java programs - Groce, Visser
45 CUTE and jCUTE: Concolic unit testing and explicit path model-checking tools - Sen, Agha - 2006
41 Mutation 2000: Uniting the Orthogonal - Offutt, Untch - 2001
40 A theory of predicate-complete test coverage and generation - Ball - 2004
39 Test input generation for java containers using state matching - Visser, Pǎsǎreanu, et al. - 2006
36 DSD-Crasher: A hybrid analysis tool for bug finding - Csallner, Smaragdakis, et al. - 2008
29 An empirical comparison of automated generation and classification techniques for object-oriented unit testing - d’Amorim, Pacheco, et al.
27 An evaluation of exhaustive testing for data structures - Marinov, Andoni, et al. - 2003
25 Jartege: a tool for random generation of unit tests for Java classes - Oriat - 2004
16 On random and partition testing - Ntafos - 1998
7 Action machines – towards a framework for model composition, exploration and conformance testing based on symbolic computation - Grieskamp, Tillmann, et al. - 2005
1 An empirical comparison of automated generation and classification techniques for object-oriented unit testing - Ernst - 2006
1 Action machines – towards a framework for - Grieskamp, Tillmann, et al. - 2005
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University