An important correctness criterion for software running on embedded microcontrollers is stack safety: a guarantee that the call stack does not overflow. Our first contribution is a method for statically guaranteeing stack safety of interrupt-driven embedded software using an approach based on context-sensitive dataflow analysis of object code. We have implemented a prototype stack analysis tool that targets software for Atmel AVR microcontrollers and tested it on embedded applications compiled from up to 30,000 lines of C. We experimentally validate the accuracy of the tool, which runs in under 10 sec on the largest programs that we tested. The second contribution of this paper is the development of two novel ways to reduce stack memory req...
Embedded systems have proliferated into diverse and complex critical applications with stringent rel...
Static checking can provide safe and tight bounds on stack usage and execution times in interrupt-dr...
Debugging errors in software applications can be a major challenge. It is not enough to know that a ...
ManuscriptAn important correctness criterion for software running on embedded microcontrollers is st...
This paper presents a methodology and small software library which is intended to reduce the impact ...
Failure of a safety-critical application on an embedded processor can lead to severe damage or even ...
International audienceEmbedded critical systems, such as planes and cars, cannot be easily fixed dur...
The lack of virtual memory protection is a serious source of unreliability in many embedded systems....
Embedded systems have proliferated into diverse and complex critical applications with stringent rel...
The pervasive presence of smart objects in almost every corner of our everyday life urges the securi...
<p>Embedded software today is pervasive: they can be found everywhere, from coffee makers and medica...
Embedded control programs are hard to analyse because their behaviour depends on how they interact w...
System languages such as C or C++ are widely used for their high performance, however the allowance ...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
Embedded system applications in diverse sectors such as transportation, healthcare, homeautomation, ...
Embedded systems have proliferated into diverse and complex critical applications with stringent rel...
Static checking can provide safe and tight bounds on stack usage and execution times in interrupt-dr...
Debugging errors in software applications can be a major challenge. It is not enough to know that a ...
ManuscriptAn important correctness criterion for software running on embedded microcontrollers is st...
This paper presents a methodology and small software library which is intended to reduce the impact ...
Failure of a safety-critical application on an embedded processor can lead to severe damage or even ...
International audienceEmbedded critical systems, such as planes and cars, cannot be easily fixed dur...
The lack of virtual memory protection is a serious source of unreliability in many embedded systems....
Embedded systems have proliferated into diverse and complex critical applications with stringent rel...
The pervasive presence of smart objects in almost every corner of our everyday life urges the securi...
<p>Embedded software today is pervasive: they can be found everywhere, from coffee makers and medica...
Embedded control programs are hard to analyse because their behaviour depends on how they interact w...
System languages such as C or C++ are widely used for their high performance, however the allowance ...
ManuscriptWhile developing embedded and real-time systems, it is usually necessary to write code tha...
Embedded system applications in diverse sectors such as transportation, healthcare, homeautomation, ...
Embedded systems have proliferated into diverse and complex critical applications with stringent rel...
Static checking can provide safe and tight bounds on stack usage and execution times in interrupt-dr...
Debugging errors in software applications can be a major challenge. It is not enough to know that a ...