Constraint-based BMC: a backjumping strategy

被引:5
作者
Collavizza, Helene [1 ]
Nguyen Le Vinh [1 ]
Ponsini, Olivier [1 ]
Rueher, Michel [1 ]
Rollet, Antoine [2 ]
机构
[1] Univ Nice, I3S, CNRS, 2000 Route Lucioles,Bat Euclide B,BP 121, F-06903 Sophia Antipolis, France
[2] Univ Bordeaux, LABRI, CNRS, F-33405 Talence, France
关键词
Embedded systems; Validation; Constraint-based bounded model checking; Counterexample generation; MODEL CHECKING;
D O I
10.1007/s10009-012-0258-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Safety property checking is mandatory in the validation process of critical software. When formal verification tools fail to prove some properties, the automatic generation of counterexamples for a given loop depth is an important issue in practice. We investigate in this paper the capabilities of constraint-based bounded model checking for program verification and counterexample generation on real applications. We introduce dynamic post-condition variable-driven strategy (DPVS), a new backjumping strategy we developed to handle an industrial application from a car manufacturer, the Flasher Manager. This backjumping strategy is used to search a faulty path and to collect the constraints of such a path. The simplified control flow graph (CFG) of the program is explored in a backward way, starting from the post-condition and jumping to the most promising node where the variables of the post-condition are defined. In other words, the constraints are collected by exploring the CFG in a dynamic and non-sequential backward way. The Flasher Manager application has been designed and simulated using the Simulink platform. However, this module is concretely embedded as a C program in a car computer, thus we have to check that the safety properties are preserved on this C code. We report experiments on the Flasher Manager with our constraint-based bounded model checker, and with CBMC, a state-of-the-art bounded model checker. Experiments show that DPVS and CBMC have similar performances on one property of the Flasher Manager; DPVS outperforms CBMC to find a counterexample for two properties; two of the properties of the Flasher Manager remain intractable for CBMC and DPVS.
引用
收藏
页码:103 / 121
页数:19
相关论文
共 30 条
[1]  
Albert Elvira, 2008, Logic-Based Program Synthesis and Transformation. 18th International Symposium, LOPSTR 2008. Revised Selected Papers, P4
[2]   Bounded model checking of software using SMT solvers instead of SAT solvers [J].
Armando A. ;
Mantovani J. ;
Platania L. .
International Journal on Software Tools for Technology Transfer, 2009, 11 (01) :69-83
[3]   A Decade of Software Model Checking with SLAM [J].
Ball, Thomas ;
Levin, Vladimir ;
Rajamani, Sriram K. .
COMMUNICATIONS OF THE ACM, 2011, 54 (07) :68-76
[4]  
Barnett M., 2005, INFORM PROCESS LETT, V93, P281
[5]  
Biere A, 1999, LECT NOTES COMPUT SC, V1579, P193
[6]   Handling State-Machines Specifications with GATeL [J].
Blanc, Benjamin ;
Junke, Christophe ;
Marre, Bruno ;
Le Gall, Pascale ;
Andrieu, Olivier .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2010, 264 (03) :3-17
[7]   Model Checking Flight Control Systems: the Airbus Experience [J].
Bochot, Thomas ;
Virelizier, Pierre ;
Waeselynck, Helene ;
Wiels, Virginie .
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, COMPANION VOLUME, 2009, :18-+
[8]   Symbolic execution of floating-point computations [J].
Botella, Bernard ;
Gotlieb, Arnaud ;
Michel, Claude .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2006, 16 (02) :97-121
[9]  
Charreteur F., 2010, Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering (ISSRE 2010), P131, DOI 10.1109/ISSRE.2010.26
[10]   A tool for checking ANSI-C programs [J].
Clarke, E ;
Kroening, D ;
Lerda, F .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2004, 2988 :168-176