Static timing analysis of real-time operating system code

  • Authors:
  • Daniel Sandell;Andreas Ermedahl;Jan Gustafsson;Björn Lisper

  • Affiliations:
  • Dept. of Computer Science and Electronics, Mälardalen University, Västerås, Sweden;Dept. of Computer Science and Electronics, Mälardalen University, Västerås, Sweden;Dept. of Computer Science and Electronics, Mälardalen University, Västerås, Sweden;Dept. of Computer Science and Electronics, Mälardalen University, Västerås, Sweden

  • Venue:
  • ISoLA'04 Proceedings of the First international conference on Leveraging Applications of Formal Methods
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Methods for Worst-Case Execution Time (WCET) analysis have been known for some time, and recently commercial tools have emerged. However, the technique has so far not been much used to analyse real production codes. Here, we present a case study where static WCET analysis was used to find upper time bounds for time-critical regions in a commercial real-time operating system. The purpose was not primarily to test the accuracy of the estimates, but rather to investigate the practical difficulties that arise when applying the current WCET analysis methods to this particular kind of code. In particular, we were interested in how labor-intense the analysis becomes, measured by the number of annotations to explicitly constrain the program flow which is necessary to perform the analysis. We also make some qualitative observations regarding what a WCET analysis method would need in order to perform a both convenient and tight analysis of typical operating systems code. In a second set of experiments, we analyzed some standard WCET benchmark codes compiled with different levels of optimization. The purpose of this study was to see how the different compiler optimizations affected the precision of the analysis, and again whether it affected the level of user intervention necessary to obtain an accurate WCET estimate.