Browse > Article
http://dx.doi.org/10.3745/KTSDE.2016.5.12.615

Comparison of Path Exploration and Model Checking Techniques for Checking Automotive API Call Safety  

Kim, Dongwoo (경북대학교 컴퓨터학부)
Choi, Yunja (경북대학교 컴퓨터학부)
Publication Information
KIPS Transactions on Software and Data Engineering / v.5, no.12, 2016 , pp. 615-622 More about this Journal
Abstract
Automotive control software can be a source of critical safety issues when developers do not comply system constraints. However, a violation is difficult to identify in complicated source code if not supported by an automated verification tool. This paper introduces two possible approaches that check whether an automotive control software complies API call constraints to compare their performance and effectiveness. One method statically analyzes the source code and explores all possible execution paths, and the other utilizes a model checker to monitor constraint violations for a given set of constraint automata. We have implemented both approaches and performed a series of experiments showing that the approach with model-checking finds constraint violations more accurately and scales better.
Keywords
Automotive Software; API; OSEK/VDX; Constraint Pattern; Static Analysis; Model Checking;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 OSEK/VDX [Internet], http://www.osek-vdx.org/.
2 D. Kim and Y. Choi, "Light-weight api-call safety checking for automotive control software using constraint patterns," in 6th International Conference on IT Convergence and Security, ICITCS'16, pp.314-318, 2016
3 E. Clarke and D. Kroening, "A tool for checking ANSI-C programs," in International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pp.168-176. Spinger, 2004.
4 T. Byun and Y. Choi, "Automated system-level safety testing using constraint patterns for automotive operating systems," in Proceedings of the 30th Annual ACM Symposium on Applied Computing, SAC '15, pp.1815-1822, 2015.
5 Jean-Luc Bechennec, et al., "Trampoline an OpenSource Implementation of the OSEK/VDX RTOS Specification," IEEE Conference on Emerging Technologies and Factory Automation, 2006.
6 Y. Choi, "Constraint specification and test generation for osek/vdx-based operating systems," in Proceedings of the 11th International Conference on Software Engineering and Formal Methods, pp.305-319, Sept., 2013.
7 M. Park, D. Kim, and Y. Choi, "CodeAnt : Code Slicing Tool for Effective Software Verification," KIPS Transactions on Software and Data Engineering, Vol.1, No.1, pp.1-8, 2012.   DOI
8 K. L. McMillan, "Symbolic Model Checking," Kluwer Academic Publishers, Norwell, MA, USA, 1993.
9 E. M. Clarke, O. Grumberg, and D. Peled, "Model checking," MIT press, 1999.
10 R. E. Strom and S. Yemini, "Typestate: A programming language concept for enhancing software reliability," IEEE Trans. Software Eng., Vol.12, No.1, pp.157-171, 1986.
11 S. J. Fink, E. Yahav, N. Dor, G. Ramalingam, and E. Geay, "Effective typestate verification in the presence of aliasing," ACM Trans. Softw. Eng. Methodol., Vol.17, No.2, pp.9:1-9:34, May, 2008.
12 J. Field, D. Goyal, G. Ramalingam, and E. Yahav, "Typestate verification: Abstraction techniques and complexity results," Sci. Comput. Program., Vol.58, No.1-2, pp.57-82, 2005.   DOI
13 T. Ball, E. Bounimova, B. Cook, V. Levin, J. Lichtenberg, C. McGarvery, B. Ondrusek, S. K. Rajamani, and A. Ustuner, "Thorough Static Analysis of Device Drivers," ACM SIGOPS/EuroSys European Conference on Computer Systems, Vol.40, Issue 4, pp.73-85, 2006.
14 T. Ball, E. Bounimova, R. Kumar, and V. Levin, "SLAM2: Static driver verification with under 4% false alarms," Conference on Formal Methods in Computer-Aided Design, pp.35-42, 2006.