Using a Bounded Model Checker for Test Generation: How to Kill Two Birds with One SMT Solver

被引:1
|
作者
Petrov, M. [1 ]
Gagarski, K. [1 ]
Belyaev, M. [1 ]
Itsykson, V. [1 ]
机构
[1] St Petersburg State Polytech Univ, Ul Politekhnicheskaya 29, St Petersburg 195251, Russia
关键词
automated test generation; dynamic symbolic execution; bounded model checking; satisfiability modulo theories; function contracts;
D O I
10.3103/S0146411615070172
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Automated test generation has received a lot of attention in recent decades, because it is one possible solution to the problems inherent to software testing: the need to write tests in the first place and providing test coverage for the human factor. De facto the most promising technique to automatically generate a test is dynamic symbolic execution assisted by an automated constraint solver, e.g., an SMT solver. This process is very similar to bounded model checking, which also deals with generating models from source code, asserting logic properties in it, and processing 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 using the same basic components. The prototype test generator has been evaluated on a number of examples and has shown good results in terms of test coverage and test excessiveness.
引用
收藏
页码:466 / 472
页数:7
相关论文
共 32 条
  • [1] How to Kill Two Birds With One Transgenic Pig
    Aikin, Reid A.
    [J]. DIABETES, 2012, 61 (06) : 1348 - 1349
  • [2] Improving an Industrial Test Generation Tool Using SMT Solver
    Ren, Hao
    Bhatt, Devesh
    Hvozdovic, Jan
    [J]. NASA FORMAL METHODS, NFM 2016, 2016, 9690 : 100 - 106
  • [3] Applying Test Data Generation Using SMT Solver to COBOL
    Sasaki, Yusuke
    Maeda, Yoshiharu
    Kobayashi, Kenichi
    Matsuo, Akihiko
    [J]. 23RD IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSRE 2012), 2012, : 82 - 82
  • [4] Equilibrium and optimum: How to kill two birds with one stone?
    Yablonsky, Gregory
    Ray, Ajay K.
    [J]. INTERNATIONAL JOURNAL OF CHEMICAL REACTOR ENGINEERING, 2008, 6
  • [5] Strategies Comparison of Test Generation from UML using SMT solver
    Cantenot, Jerome
    Ambert, Fabrice
    Bouquet, Fabrice
    [J]. IEEE SIXTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW 2013), 2013, : 224 - 229
  • [6] Bounded model checking of analog and mixed-signal circuits using an SMT solver
    Walter, David
    Little, Scott
    Myers, Chris
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2007, 4762 : 66 - +
  • [7] Randomised testing of a microprocessor model using SMT-solver state generation
    Campbell, Brian
    Stark, Ian
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2016, 118 : 60 - 76
  • [8] Using the NuSMV Model Checker for Test Generation from Statecharts
    Kadono, Masaya
    Tsuchiya, Tatsuhiro
    Kikuno, Tohru
    [J]. IEEE 15TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, 2009, : 37 - 42
  • [9] How to kill two birds with one stone: EMI teachers' needs in higher education in China
    Curdt-Christiansen, Xiao Lan
    Gao, Bin
    Sun, Baoqi
    [J]. APPLIED LINGUISTICS REVIEW, 2023, 14 (06) : 1513 - 1538
  • [10] Counterexample Generation for Markov Chains Using SMT-Based Bounded Model Checking
    Braitling, Bettina
    Wimmer, Ralf
    Becker, Bernd
    Jansen, Nils
    Abraham, Erika
    [J]. FORMAL TECHNIQUES FOR DISTRIBUTED SYSTEMS, 2011, 6722 : 75 - 89