Feedback-directed random test generation
Submitted by mernst on Wed, 2011-11-30 14:35
| Title | Feedback-directed random test generation |
| Publication Type | Miscellaneous |
| Year of Publication | 2006 |
| Authors | Pacheco C, Lahiri SK, Ernst MD, Ball T |
| Abstract | <p>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. When applied to 14 widely-used libraries comprising 780KLOC, feedback-directed random test generation finds many serious, previously-unknown errors. Compared with both systematic test generation and undirected random test generation, feedback-directed random test generation finds more errors, finds more severe errors, and produces fewer redundant tests.</p> |
| Downloads | |
| Citation Key | PachecoLEB2006:TR |
Last changed Mon, 2013-06-03 10:27

cs.