Timing Analysis of Interrupt-Driven Programs under Context Bounds
Jonathan Kotker, Dorsa Sadigh, and Sanjit A. Seshia. Timing Analysis of Interrupt-Driven Programs under Context Bounds. In Proceedings of the IEEE International Conference on Formal Methods in Computer-Aided Design (FMCAD), pp. 81–90, October 2011.
Download
Abstract
Timing analysis is a key step in the design of dependablereal-time embedded systems, yet existing analysis tools donot work for interrupt-driven code, which is commonly used inembedded systems. In this paper, we present a technique fortiming analysis of interrupt-driven software. We show that forsystems that use priority pre-emptive scheduling, if there is afinite arrival time between interrupts, one can use bounds onthe number of context switches to perform timing analysis. Ourwork builds upon prior work on timing analysis for sequentialprograms. We present empirical evidence to show that we canaccurately predict the execution time along any path of aninterrupt-driven program on a standard micro-controller.
BibTeX
@InProceedings{kotker-fmcad11, author = {Jonathan Kotker and Dorsa Sadigh and Sanjit A. Seshia}, title = {Timing Analysis of Interrupt-Driven Programs under Context Bounds}, booktitle = {Proceedings of the IEEE International Conference on Formal Methods in Computer-Aided Design (FMCAD)}, month = {October}, year = {2011}, pages = "81--90", abstract = {Timing analysis is a key step in the design of dependable real-time embedded systems, yet existing analysis tools do not work for interrupt-driven code, which is commonly used in embedded systems. In this paper, we present a technique for timing analysis of interrupt-driven software. We show that for systems that use priority pre-emptive scheduling, if there is a finite arrival time between interrupts, one can use bounds on the number of context switches to perform timing analysis. Our work builds upon prior work on timing analysis for sequential programs. We present empirical evidence to show that we can accurately predict the execution time along any path of an interrupt-driven program on a standard micro-controller.}, }