Abstract
Assertions are recognized as a powerful tool for automatic run-time detection of software
errors. However, exsisting testing methods do not use assertions to generate test cases.
In this paper we present a novel approach of automated test data generation in which
assertions are used to generate test cases. In this approach the goal is to identify
test cases on which an assertion is violated. If such a test is found then this test
uncovers an error in the program. The problem of finding program input on which an
assertion is violated may be reduced to the problem of finding the program input on
which a selected statement is executed. As a result, the exsisting methods of automated
test data generation for white-box testing may be used to generate tests to violate
assertions. The experiments have shown that his approach may significantly improve
the chances of finding software errors as compared to the existing methods of test generation.