Skip to Main content Skip to Navigation
Journal articles

Static analysis by abstract interpretation of functional properties of device drivers in TinyOS

Abstract : In this paper, we present a static analysis by Abstract Interpretation of device drivers developed in the TinyOS operating system, which is considered as the de facto system in wireless sensor networks. We focus on verifying user-defined functional properties describing safety rules that programs should obey in order to interact correctly with the hardware. Our analysis is sound by construction and can prove that all possible execution paths follow the correct interaction patterns specified by the functional property. The soundness of the analysis is justified with respect to a preemptive execution model where interrupts can occur during execution depending on the configuration of specific hardware registers. The proposed solution performs a modular analysis that analyzes every interrupt independently and aggregates their results to over-approximate the effect of preemption. By doing so, we avoid reanalyzing interrupts in every context where they are enabled which improves considerably the scalability of the solution. A number of partitioning techniques are also presented in order to track precisely some crucial information, such as the hardware state and the tasks queue. We have performed several experiments on real-world TinyOS device drivers of the ATmega128 MCU and promising results demonstrate the effectiveness of our analysis.
Document type :
Journal articles
Complete list of metadatas

Cited literature [38 references]  Display  Hide  Download
Contributor : Abdelraouf Ouadjaout <>
Submitted on : Monday, August 1, 2016 - 10:35:50 AM
Last modification on : Tuesday, September 22, 2020 - 3:47:17 AM
Long-term archiving on: : Tuesday, November 8, 2016 - 7:43:10 PM


Files produced by the author(s)



Abdelraouf Ouadjaout, Antoine Miné, Noureddine Lasla, Nadjib Badache. Static analysis by abstract interpretation of functional properties of device drivers in TinyOS. Journal of Systems and Software, Elsevier, 2016, 120, pp.114--132. ⟨10.1016/j.jss.2016.07.030⟩. ⟨hal-01350646⟩



Record views


Files downloads