Using a bounded model checker for test generation: how to kill two birds with one SMT-solver
Maxim Petrov, Kirill Gagarski, Mikhail Belyaev, Vladimir Itsykson
Saint-Petersburg State Polytechnic University,
Polytechnicheskaya street, 29, Saint-Petersburg 195251 Russia
The automated test generation has received a lot of attention in the last decades as it is one of possible solutions to software testing inherent problems: the need to write tests and providing test coverage in presence of human factor. The most promising technique of generating a test automatically is the dynamic symbolic execution assisted by an automated constraint solver, e. g., an SMT-solver. This process is very similar to the bounded model checking, which also has to deal with generating models from a source code, asserting logic properties in it and process the returned model. This paper describes a prototype unit test generator for C based on a working bounded model checker called Borealis and shows that these two techniques are very similar and can be easily implemented by using the same basic components. The prototype test generator was sampled on a number of examples and showed good results in terms of test coverage and test excessiveness.
automated test generation, dynamic symbolic execution, bounded model checking, satisfiability modulo theories, function contracts.
PDF file (182 kB)
Maxim Petrov, Kirill Gagarski, Mikhail Belyaev, Vladimir Itsykson, “Using a bounded model checker for test generation: how to kill two birds with one SMT-solver”, Model. Anal. Inform. Sist., 21:6 (2014), 83–93
Citation in format AMSBIB
\by Maxim~Petrov, Kirill~Gagarski, Mikhail~Belyaev, Vladimir~Itsykson
\paper Using a bounded model checker for test generation: how to kill two birds with one SMT-solver
\jour Model. Anal. Inform. Sist.
Citing articles on Google Scholar:
Related articles on Google Scholar:
|Number of views:|