International audienceUser-space programs rely on memory allocation primitives when they need to construct dynamic structures such as lists or trees. However, low-level OS kernel services and embedded device drivers typically avoid resorting to an external memory allocator in such cases, and store structure elements in contiguous arrays instead. This programming pattern leads to very complex code, based on data-structures that can be viewed and accessed either as arrays or as chained dynamic structures. The code correctness then depends on intricate invariants mixing both aspects. We propose a static analysis that is able to verify such programs. It relies on the combination of abstractions of the allocator array and of the dynamic structur...
International audienceEmbedded critical systems, such as planes and cars, cannot be easily fixed dur...
As the complexity of embedded systems grows, there is an increasing use of operating systems (OSes) ...
ManuscriptAn important correctness criterion for software running on embedded microcontrollers is st...
AbstractIn the embedded, multimedia community, designers deal with data management at different leve...
Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As...
C programs that manipulate list-based dynamic data structures remain a challenging target for static...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
In the embedded, multimedia community, designers deal with data management at different levels of ab...
Maximizing performance on modern multicore hardware demands aggressive optimizations. Large amountso...
Cette thèse est consacrée à l'analyse de logiciels de bas niveau, tels que les systèmes d'exploitati...
One of the main challenges in the verification of software systems is the analysis of unbounded data...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
International audienceThe C programming language does not prevent out-of- bounds memory accesses. Th...
This paper introduces a dynamic layout optimization strategy to minimize the number of cycles spent ...
International audienceEmbedded critical systems, such as planes and cars, cannot be easily fixed dur...
As the complexity of embedded systems grows, there is an increasing use of operating systems (OSes) ...
ManuscriptAn important correctness criterion for software running on embedded microcontrollers is st...
AbstractIn the embedded, multimedia community, designers deal with data management at different leve...
Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As...
C programs that manipulate list-based dynamic data structures remain a challenging target for static...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
In the embedded, multimedia community, designers deal with data management at different levels of ab...
Maximizing performance on modern multicore hardware demands aggressive optimizations. Large amountso...
Cette thèse est consacrée à l'analyse de logiciels de bas niveau, tels que les systèmes d'exploitati...
One of the main challenges in the verification of software systems is the analysis of unbounded data...
Modern architectures implement relaxed memory models which may reorder memory operations or execute ...
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the thr...
International audienceThe C programming language does not prevent out-of- bounds memory accesses. Th...
This paper introduces a dynamic layout optimization strategy to minimize the number of cycles spent ...
International audienceEmbedded critical systems, such as planes and cars, cannot be easily fixed dur...
As the complexity of embedded systems grows, there is an increasing use of operating systems (OSes) ...
ManuscriptAn important correctness criterion for software running on embedded microcontrollers is st...