Static analysis by abstract interpretation of functional properties of device drivers in TinyOS - Sorbonne Université
Article Dans Une Revue Journal of Systems and Software Année : 2016

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

Résumé

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.
Fichier principal
Vignette du fichier
manuscript.pdf (579.51 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01350646 , version 1 (01-08-2016)

Identifiants

Citer

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, 2016, 120, pp.114--132. ⟨10.1016/j.jss.2016.07.030⟩. ⟨hal-01350646⟩
662 Consultations
261 Téléchargements

Altmetric

Partager

More