• DocumentCode
    1122747
  • Title

    Deadline analysis of interrupt-driven software

  • Author

    Brylow, Dennis ; Palsberg, Jens

  • Author_Institution
    Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA
  • Volume
    30
  • Issue
    10
  • fYear
    2004
  • Firstpage
    634
  • Lastpage
    655
  • Abstract
    Real-time, reactive, and embedded systems are increasingly used throughout society (e.g., flight control, railway signaling, vehicle management, medical devices, and many others). For real-time, interrupt-driven software, timely interrupt handling is part of correctness. It is vital for software verification in such systems to check that all specified deadlines for interrupt handling are met. Such verification is a daunting task because of the large number of different possible interrupt arrival scenarios. For example, for a Z86-based microcontroller, there can be up to six interrupt sources and each interrupt can arrive during any clock cycle. Verification of such systems has traditionally relied upon lengthy and tedious testing; even under the best of circumstances, testing is likely to cover only a fraction of the state space in interrupt-driven systems. This paper presents the Zilog architecture resource bounding infrastructure (ZARBI), a tool for deadline analysis of interrupt-driven Z86-based software. The main idea is to use static analysis to significantly decrease the required testing effort by automatically identifying and isolating the segments of code that need the most testing. Our tool combines multiresolution static analysis and testing oracles in such a way that only the oracles need to be verified by testing. Each oracle specifies the worst-case execution time from one program point to another, which is then used by the static analysis to improve precision. For six commercial microcontroller systems, our experiments show that a moderate number of testing oracles are sufficient to do precise deadline analysis.
  • Keywords
    embedded systems; formal verification; interrupts; microcontrollers; program compilers; program diagnostics; program testing; Z86-based microcontroller; Zilog architecture resource bounding infrastructure; deadline analysis; embedded systems; interrupt handling; interrupt-driven Z86-based software; multiresolution static analysis; software verification; testing oracles; worst-case execution time; Aerospace control; Automatic testing; Clocks; Embedded system; Microcontrollers; Rail transportation; Real time systems; State-space methods; System testing; Vehicles; 65; Index Terms- Real time; multiresolution static analysis; testing oracles.;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2004.64
  • Filename
    1339276