AbstractWe study the problem of determining stack boundedness and the exact maximum stack size for three classes of interrupt-driven programs. Interrupt-driven programs are used in many real-time applications that require responsive interrupt handling. In order to ensure responsiveness, programmers often enable interrupt processing in the body of lower-priority interrupt handlers. In such programs a programming error can allow interrupt handlers to be interrupted in a cyclic fashion to lead to an unbounded stack, causing the system to crash. For a restricted class of interrupt-driven programs, we show that there is a polynomial-time procedure to check stack boundedness, while determining the exact maximum stack size is PSPACE-complete. For ...
Context-bounded analysis of concurrent programs is a technique to compute a sequence of under-approx...
AbstractThis paper presents an approach to the efficient abstraction of interrupt handling in microc...
Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested a...
Abstract. We study the problem of determining stack boundedness and the exact maximum stack size for...
AbstractWe study the problem of determining stack boundedness and the exact maximum stack size for t...
A widely-used class of real-time, reactive, embedded systems is called interrupt-driven systems [8]....
Static checking can provide safe and tight bounds on stack usage and execution times in interrupt-dr...
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too m...
AbstractTwo restricted imperative programming languages are considered: One is a slight modification...
Intuitively, if we can prove that a program terminates, we expect some conclusion re-garding its com...
Following a brief discussion of uniprocessor scheduling in which we argue the case for formal analys...
In an earlier work with Neil D.~Jones, we proposed the ``size-change principle'' for program termina...
Embedded control programs are hard to analyse because their behaviour depends on how they interact w...
In this work, we introduce the class of Interrupt Timed Automata (ITA), which are well suited to the...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
Context-bounded analysis of concurrent programs is a technique to compute a sequence of under-approx...
AbstractThis paper presents an approach to the efficient abstraction of interrupt handling in microc...
Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested a...
Abstract. We study the problem of determining stack boundedness and the exact maximum stack size for...
AbstractWe study the problem of determining stack boundedness and the exact maximum stack size for t...
A widely-used class of real-time, reactive, embedded systems is called interrupt-driven systems [8]....
Static checking can provide safe and tight bounds on stack usage and execution times in interrupt-dr...
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too m...
AbstractTwo restricted imperative programming languages are considered: One is a slight modification...
Intuitively, if we can prove that a program terminates, we expect some conclusion re-garding its com...
Following a brief discussion of uniprocessor scheduling in which we argue the case for formal analys...
In an earlier work with Neil D.~Jones, we proposed the ``size-change principle'' for program termina...
Embedded control programs are hard to analyse because their behaviour depends on how they interact w...
In this work, we introduce the class of Interrupt Timed Automata (ITA), which are well suited to the...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
Context-bounded analysis of concurrent programs is a technique to compute a sequence of under-approx...
AbstractThis paper presents an approach to the efficient abstraction of interrupt handling in microc...
Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested a...