SMT-Based Bounded Model Checking for OSEK/VDX Applications

With the growing demands for automotive auxiliary functions, more and more complex applications have been developed based on OSEK/VDX OS. However, how to check the developed applications is becoming a challenge for developers. Although some invaluable formal methods have been proposed to check actual software, these methods cannot be directly employed to check OSEK/VDX applications. In this paper, we describe and develop an approach to check OSEK/VDX applications using SMT-based bounded model checking. We also implement a prototype tool and conduct many experiments on several examples. The experiment results show that our approach can completely check the properties associated with (i) variables, (ii) mutual exclusion, (iii) service API, and (iv) tasks execution sequences of developed applications.

[1]  Alessandro Armando,et al.  Bounded model checking of software using SMT solvers instead of SAT solvers , 2006, International Journal on Software Tools for Technology Transfer.

[2]  Toshiaki Aoki,et al.  An Approach for Checking OSEK/VDX Applications , 2013, 2013 13th International Conference on Quality Software.

[3]  Joseph Lemieux Programming in the OSEK/VDX Environment , 2001 .

[4]  Lucas C. Cordeiro,et al.  Bounded Model Checking of Multi-threaded Software using SMT solvers , 2010, ArXiv.

[5]  Toshiaki Aoki,et al.  Automatic Generation of Model Checking Scripts Based on Environment Modeling , 2010, SPIN.

[6]  George C. Necula,et al.  CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs , 2002, CC.

[7]  Yunja Choi,et al.  Safety Analysis of Trampoline OS Using Model Checking: An Experience Report , 2011, 2011 IEEE 22nd International Symposium on Software Reliability Engineering.

[8]  Lucas C. Cordeiro,et al.  SMT-based bounded model checking for multi-threaded software in embedded systems , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[9]  Enrico Tronci,et al.  Disk Based Software Verification via Bounded Model Checking , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[10]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[11]  Alessandro Armando,et al.  Bounded Model Checking of Software Using SMT Solvers Instead of SAT Solvers , 2006, SPIN.

[12]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[13]  Armin Biere,et al.  Bounded model checking , 2003, Adv. Comput..

[14]  Matteo Pradella,et al.  Refining Real-Time System Specifications through Bounded Model- and Satisfiability-Checking , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[15]  Toshiaki Aoki,et al.  Conformance Testing for OSEK/VDX Operating System Using Model Checking , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[16]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.