- Electrical Engineering and Computer Science. Electrical Engineering and Computer
- Pacheco, Carlos, Ph.D. Massachusetts Institute of Technology Pacheco, Carlos, Ph.D. Massachusetts Institute of
- Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of
Electrical Engineering and Computer Science. Daniel N. Jackson.
- 165 p.
- Massachusetts Institute of Technology
- M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See
provided URL for inquiries about permission.
- Random testing can quickly generate many tests, is
easy to implement, scales to large software applications, and
reveals software errors. But it tends to generate many tests that
are illegal or that exercise the same parts of the code as other
tests, thus limiting its effectiveness. Directed random testing is
a new approach to test generation that overcomes these limitations,
by combining a bottom-up generation of tests with runtime guidance.
A directed random test generator takes a collection of operations
under test and generates new tests incrementally, by randomly
selecting operations to apply and finding arguments from among
previously-constructed tests. As soon as it generates a new test,
the generator executes it, and the result determines whether the
test is redundant, illegal, error-revealing, or useful for
generating more tests. The technique outputs failing tests pointing
to potential errors that should be corrected, and passing tests
that can be used for regression testing. The thesis also
contributes auxiliary techniques that post-process the generated
tests, including a simplification technique that transforms a,
failing test into a smaller one that better isolates the cause of
failure, and a branch-directed test generation technique that aims
to increase the code coverage achieved by the set of generated
tests. Applied to 14 widely-used libraries (including the Java JDK
and the core .NET framework libraries), directed random testing
quickly reveals many serious, previously unknown errors in the
libraries. And compared with other test generation tools (model
checking, symbolic execution, and traditional random testing), it
reveals more errors and achieves higher code
- (cont.) In an industrial case study, a test team at
Microsoft using the technique discovered in fifteen hours of human
effort as many errors as they typically discover in a person-year
of effort using other testing methods.
- by Carlos Pacheco.
- Thesis (Ph. D.)--Massachusetts Institute of
Technology, Dept. of Electrical Engineering and Computer Science,
- Cataloged from PDF version of
- Includes bibliographical references (p.
- M.I.T. theses are protected by copyright. They may be
viewed from this source for any purpose, but reproduction or
distribution in any format is prohibited without written
permission. See provided URL for inquiries about
- Instructions in case access is denied
Site powered by: