Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Finding the needles in the haystack: Generating legal test inputs for object-oriented programs

Finding the needles in the haystack: Generating legal test inputs for object-oriented programs

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2006-056.pdf

Size

402.61 KB

Format

Adobe PDF

Checksum (MD5)

46f73f9a5d54cb51ff657b2a9b01ae40

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2006-056.ps

Size

901.43 KB

Format

PostScript

Checksum (MD5)

b2b931d4b204b113e4ddce1a988b8a5c

Author(s)
Artzi, Shay
•
Ernst, Michael D.
•
Kiezun, Adam
•
Pacheco, Carlos
•
Perkins, Jeff H.
Advisor(s)
Michael Ernst
Date Issued
August 31, 2006
Series/Report no.
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory
Abstract
A test input for an object-oriented program typically consists of asequence of method calls that use the API defined by the programunder test. Generating legal test inputs can be challenging because,for some programs, the set of legal method sequences is much smallerthan the set of all possible sequences; without a formalspecification of legal sequences, an input generator is bound toproduce mostly illegal sequences.We propose a scalable technique that combines dynamic analysis withrandom testing to help an input generator create legal test inputswithout a formal specification, even for programs in whichmost sequences are illegal. The technique uses an example executionof the program to infer a model of legal call sequences, and usesthe model to guide a random input generator towards legal butbehaviorally-diverse sequences.We have implemented our technique for Java, in a tool calledPalulu, and evaluated its effectiveness in creating legal inputsfor real programs. Our experimental results indicate that thetechnique is effective and scalable. Our preliminary evaluationindicates that the technique can quickly generate legal sequencesfor complex inputs: in a case study, Palulu created legal testinputs in seconds for a set of complex classes, for which it took anexpert thirty minutes to generate a single legal input.
Persistent DSpace Link
http://hdl.handle.net/1721.1/33959
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.