• DocumentCode
    703835
  • Title

    Effective verification of low-level software with nested interrupts

  • Author

    Kroening, Daniel ; Lihao Liang ; Melham, Tom ; Schrammel, Peter ; Tautschnig, Michael

  • Author_Institution
    Univ. of Oxford, Oxford, UK
  • fYear
    2015
  • fDate
    9-13 March 2015
  • Firstpage
    229
  • Lastpage
    234
  • Abstract
    Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested and subject to priorities. Interrupts can arrive at arbitrary times, leading to an explosion in the number of cases to be considered. We present a new formal approach to verifying interrupt-driven software based on symbolic execution. The approach leverages recent advances in the encoding of the execution traces of interacting, concurrent threads. We assess the performance of our method on benchmarks drawn from embedded systems code and device drivers, and experimentally compare it to conventional formal approaches that use source-to-source transformations. Our experimental results show that our method significantly outperforms conventional techniques. To the best of our knowledge, our technique is the first to demonstrate effective formal verification of low-level embedded software with nested interrupts.
  • Keywords
    embedded systems; formal verification; interrupts; symbol manipulation; device drivers; effective low-level software verification; embedded systems code; formal approach; formal verification; interrupt-driven software; low-level embedded software; nested interrupts; source-to-source transformations; symbolic execution; Benchmark testing; Encoding; Instruction sets; Instruments; Radio frequency; Semantics;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015
  • Conference_Location
    Grenoble
  • Print_ISBN
    978-3-9815-3704-8
  • Type

    conf

  • Filename
    7092387