RUS  ENG
Full version
JOURNALS // Modelirovanie i Analiz Informatsionnykh Sistem // Archive

Model. Anal. Inform. Sist., 2014 Volume 21, Number 6, Pages 83–93 (Mi mais414)

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

Abstract: 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.

Keywords: automated test generation, dynamic symbolic execution, bounded model checking, satisfiability modulo theories, function contracts.

UDC: 004.054+004.4'23

Received: 15.09.2014



© Steklov Math. Inst. of RAS, 2024