AbstractMost of the research effort towards verification of concurrent software has focused on multithreaded code. On the other hand, concurrency in low-end embedded systems is predominantly based on interrupts. Low-end embedded systems are ubiquitous in safety-critical applications such as those supporting transportation and medical automation; their verification is important. Although interrupts are superficially similar to threads, there are subtle semantic differences between the two abstractions. This paper compares and contrasts threads and interrupts from the point of view of verifying the absence of race conditions. We identify a small set of extensions that permit thread verification tools to also verify interrupt-driven software, ...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
In concurrent programming, mutual exclusion algorithms are used to avoid the simultaneous access of ...
A widely-used class of real-time, reactive, embedded systems is called interrupt-driven systems [8]....
AbstractMost of the research effort towards verification of concurrent software has focused on multi...
Journal ArticleInterrupts are superficially similar to threads, but there are subtle semantic differ...
Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested a...
Abstract—Interrupt-driven software is difficult to test and debug, especially when interrupts can be...
Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested a...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
AbstractThe paper details the author's thread verification experiences with four applications: Linux...
We describe an approach to design static analysis and verification tools for concurrent programs tha...
Information security is important in academia, industry and government. The use of formal methods in...
We describe a new sequentialization-based approach to the symbolic verification of multi-threaded pr...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
When trying to track down bugs using cyclic debugging, the ability to correctly reproduce executions...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
In concurrent programming, mutual exclusion algorithms are used to avoid the simultaneous access of ...
A widely-used class of real-time, reactive, embedded systems is called interrupt-driven systems [8]....
AbstractMost of the research effort towards verification of concurrent software has focused on multi...
Journal ArticleInterrupts are superficially similar to threads, but there are subtle semantic differ...
Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested a...
Abstract—Interrupt-driven software is difficult to test and debug, especially when interrupts can be...
Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested a...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
AbstractThe paper details the author's thread verification experiences with four applications: Linux...
We describe an approach to design static analysis and verification tools for concurrent programs tha...
Information security is important in academia, industry and government. The use of formal methods in...
We describe a new sequentialization-based approach to the symbolic verification of multi-threaded pr...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
When trying to track down bugs using cyclic debugging, the ability to correctly reproduce executions...
Developing correct concurrent software is a difficult task, due to the inherently non-deterministic ...
In concurrent programming, mutual exclusion algorithms are used to avoid the simultaneous access of ...
A widely-used class of real-time, reactive, embedded systems is called interrupt-driven systems [8]....