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 exponential blow-up in the number of cases to consider. 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 approaches that use source-to-source transformations. Our results show that our method significantly outperforms these techniques. To the best ...
In this work we present a verification framework for applications for the embedded system operating ...
International audienceEmbedded software often involves intensive numerical computations and thus can...
Interrupt behaviors, especially the external ones, are diffi-cult to verify in a microprocessor desi...
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...
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...
Embedded control programs are hard to analyse because their behaviour depends on how they interact w...
AbstractThis paper presents an approach to the efficient abstraction of interrupt handling in microc...
The interrupt mechanism in a system-on-chip (SoC) joins the SoCs hardware and software behaviors. We...
When trying to track down bugs using cyclic debugging, the ability to correctly reproduce executions...
Information security is important in academia, industry and government. The use of formal methods in...
A widely-used class of real-time, reactive, embedded systems is called interrupt-driven systems [8]....
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too m...
In this work we present a verification framework for applications for the embedded system operating ...
International audienceEmbedded software often involves intensive numerical computations and thus can...
Interrupt behaviors, especially the external ones, are diffi-cult to verify in a microprocessor desi...
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...
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...
Embedded control programs are hard to analyse because their behaviour depends on how they interact w...
AbstractThis paper presents an approach to the efficient abstraction of interrupt handling in microc...
The interrupt mechanism in a system-on-chip (SoC) joins the SoCs hardware and software behaviors. We...
When trying to track down bugs using cyclic debugging, the ability to correctly reproduce executions...
Information security is important in academia, industry and government. The use of formal methods in...
A widely-used class of real-time, reactive, embedded systems is called interrupt-driven systems [8]....
Embedded systems can fail to operate correctly due to interrupt overload: starvation caused by too m...
In this work we present a verification framework for applications for the embedded system operating ...
International audienceEmbedded software often involves intensive numerical computations and thus can...
Interrupt behaviors, especially the external ones, are diffi-cult to verify in a microprocessor desi...