• 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

Korat: Automated testing based on Java predicates (2002)

Cached

  • Download as a PDF

Download Links

  • [cis.poly.edu]
  • [www.cs.wm.edu]
  • [www.pmg.lcs.mit.edu]
  • [pmg.lcs.mit.edu]
  • [www.mit.edu]
  • [sdg.lcs.mit.edu]
  • [www.ece.utexas.edu]
  • [sdg.csail.mit.edu]
  • [www.eecs.umich.edu]
  • [www.pmg.lcs.mit.edu]
  • [www.eecs.umich.edu]
  • [sp09.pbwiki.com]
  • [pmg.lcs.mit.edu]
  • [pmg.csail.mit.edu]
  • [www.pmg.lcs.mit.edu]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Chandrasekhar Boyapati , Sarfraz Khurshid , Darko Marinov
Venue:IN PROC. INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA
Citations:237 - 44 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@INPROCEEDINGS{Boyapati02korat:automated,
    author = {Chandrasekhar Boyapati and Sarfraz Khurshid and Darko Marinov},
    title = {Korat: Automated testing based on Java predicates},
    booktitle = {IN PROC. INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA},
    year = {2002},
    pages = {123--133},
    publisher = {ACM Press}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

This paper presents Korat, a novel framework for automated testing of Java programs. Given a formal specification for a method, Korat uses the method precondition to automatically generate all nonisomorphic test cases bounded by a given size. Korat then executes the method on each of these test cases, and uses the method postcondition as a test oracle to check the correctness of each output. To generate test cases for a method, Korat constructs a Java predicate (i.e., a method that returns a boolean) from the method’s precondition. The heart of Korat is a technique for automatic test case generation: given a predicate and a bound on the size of its inputs, Korat generates all nonisomorphic inputs for which the predicate returns true. Korat exhaustively explores the input space of the predicate but does so efficiently by monitoring the predicate’s executions and pruning large portions of the search space. This paper illustrates the use of Korat for testing several data structures, including some from the Java Collections Framework. The experimental results show that it is feasible to generate test cases from Java predicates, even when the search space for inputs is very large. This paper also compares Korat with a testing framework based on declarative specifications. Contrary to our initial expectation, the experiments show that Korat generates test cases much faster than the declarative framework.

Citations

7321 Introduction to Algorithms - Cormen, Leiserson, et al. - 2001
1207 Symbolic Model Checking - McMillan - 1993
1130 The model checker SPIN - Holzmann - 1997
1054 The Z notation : A reference manual - Spivey - 1992
514 Bandera: Extracting finite-state models from Java source code - Corbett, Dwyer, et al. - 2000
510 A Handbook of Integer Sequences - Sloane - 1973
417 The design and implementation of an intentional naming system - Adjie-Winoto, Schwartz, et al. - 1999
392 Software testing techniques - Beizer - 1990
388 Model checking programs - Visser, Havelund, et al.
353 Preliminary design of JML: A behavioral interface specification language for Java - Leavens, Baker, et al. - 2006
324 Model Checking for Programming Languages using VeriSoft - Godefroid - 1997
281 Solving shape-analysis problems in languages with destructive updating - Sagiv, Reps, et al. - 1998
273 Extended static checking - Detlefs, Leino, et al. - 1998
166 Toward a theory of test data selection - Goodenough, Gerhart - 1975
136 Test infected: Programmers love writing tests - Beck, Gamma - 1998
119 Graph Types - Klarlund, Schwartzback - 1993
112 H.: Alcoa: the Alloy constraint analyzer - Jackson, Schechter, et al. - 2000
106 M.: TVLA: A system for implementing static analyses - Lev-Ami, Sagiv - 2000
100 The Unified Modeling Language Reference Manual, Addison-Wesley Pub - Rumbaugh, Jacobson, et al. - 1999
98 A simple and practical approach to unit testing: The JML and JUnit way - Cheon, Leavens
95 Finding bugs with a constraint solver - Jackson, Vaziri - 2000
91 Role analysis - Kuncak, Lam, et al. - 2002
90 A micromodularity mechanism - Jackson, Shlyakhter, et al. - 2001
82 TestEra: A novel framework for automated testing of Java programs - Marinov, Khurshid - 2001
74 A deadlock detection tool for concurrent java programs. Software: Practice &Experience, Volume 29, No 7, pp 577{603 - Demartini, Sisto - 1999
63 Generating tests from UML specifications - Offutt, Abdurazik - 1999
39 Structural specification-based testing: Automated support and experimental evaluation - Chang, Richardson - 1999
35 The pointer assertion logic engine - Moeller, Schwartzbach - 2001
35 Generating effective symmetry-breaking predicates for search problems - Shlyakhter - 2001
34 Improving software tests using Z specifications - Horcher - 1995
31 Design Patterns: Elements od Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series - Gamma, Helm, et al. - 1995
23 Specifying and testing software components using adl - Sankar, Hayes - 1994
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