Verifying Time Partitioning in the DEOS Scheduling Kernel

  • Authors:
  • John Penix;Willem Visser;Seungjoon Park;Corina Pasareanu;Eric Engstrom;Aaron Larson;Nicholas Weininger

  • Affiliations:
  • Intelligent Systems Division, NASA Ames Research Center, Moffett Field 94035;Research Institute for Advanced Computer Science, NASA Ames Research Center, Moffett Field 94035;Research Institute for Advanced Computer Science, NASA Ames Research Center, Moffett Field 94035;Kestrel Technologies, NASA Ames Research Center, Moffett Field 94035;Honeywell Technology Center, Minneapolis, USA 55418;Honeywell Technology Center, Minneapolis, USA 55418;Honeywell Technology Center, Minneapolis, USA 55418

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes an experiment to use the Spin model checking system to support automated verification of time partitioning in the Honeywell DEOS real-time scheduling kernel. The goal of the experiment was to investigate whether model checking with minimal abstraction could be used to find a subtle implementation error that was originally discovered and fixed during the standard formal review process. The experiment involved translating a core slice of the DEOS scheduling kernel from C++ into Promela, constructing an abstract "test-driver" environment and carefully introducing several abstractions into the system to support verification. Attempted verification of several properties related to time-partitioning led to the rediscovery of the known error in the implementation. The case study indicated several limitations in existing tools to support model checking of software. The most difficult task in the original DEOS experiment was constructing an adequate environment to close the system for verification. The fidelity of the environment was of crucial importance for achieving meaningful results during model checking. In this paper, we describe the initial environment modeling effort and a follow-on experiment with using semi-automated environment generation methods. Program abstraction techniques were also critical for enabling verification of DEOS. We describe an implementation scheme for predicate abstraction, an approach based on abstract interpretation, which was developed to support DEOS verification.