Model checking trampoline OS: A case study on safety analysis for automotive software

Research output: Contribution to journalArticlepeer-review

18 Scopus citations

Abstract

Model checking is an effective technique used to identify subtle problems in software safety using a comprehensive search algorithm. However, this comprehensiveness requires a large number of resources and is often too expensive to be applied in practice. This work strives to find a practical solution to model-checking automotive operating systems for the purpose of safety analysis, with minimum requirements and a systematic engineering approach for applying the technique in practice. The paper presents methods for converting the Trampoline kernel code into formal models for the model checker SPIN, a series of experiments using an incremental verification approach, and the use of embedded C constructs for performance improvement. The conversion methods include functional modularization and treatment for hardware-dependent code, such as memory access for context switching. The incremental verification approach aims at increasing the level of confidence in the verification even when comprehensiveness cannot be provided because of the limitations of the hardware resource. We also report on potential safety issues found in the Trampoline operating system during the experiments and present experimental evidence of the performance improvement using the embedded C constructs in SPIN.

Original languageEnglish
Pages (from-to)38-60
Number of pages23
JournalSoftware Testing Verification and Reliability
Volume24
Issue number1
DOIs
StatePublished - Jan 2014

Keywords

  • model checking
  • Osek/Vdx
  • safety analysis
  • Spin
  • Trampoline operating system

Fingerprint

Dive into the research topics of 'Model checking trampoline OS: A case study on safety analysis for automotive software'. Together they form a unique fingerprint.

Cite this