Faster WCET flow analysis by program slicing

  • Authors:
  • Christer Sandberg;Andreas Ermedahl;Jan Gustafsson;Björn Lisper

  • Affiliations:
  • Mälardalen University, Västerås, Sweden;Mälardalen University, Västerås, Sweden;Mälardalen University, Västerås, Sweden;Mälardalen University, Västerås, Sweden

  • Venue:
  • Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

Static Worst-Case Execution Time (WCET) analysis is a technique to derive upper bounds for the execution times of programs. Such bounds are crucial when designing and verifying real-time systems. WCET analysis needs a program flow analysis to derive constraints on the possible execution paths of the analysed program, like iteration bounds for loops and dependences between conditionals.Current WCET analysis tools typically obtain flow information through manual annotations. Better support for automatic flow analysis would eliminate much of the need for this laborious work. However, to automatically derive high-quality flow information is hard, and solution techniques with large time and space complexity are often required.In this paper we describe how to use program slicing to reduce the computational need of flow analysis methods. The slicing identifes statements and variables which are guaranteed not to influence the program flow. When these are removed, the calculation time of our different flow analyses decreases, in some cases considerably.We also show how program slicing can be used to identify the input variables and globals that control the outcome of a particular loop or conditional. This should be valuable aid when performing WCET analysis and systematic testing of large and complex real-time programs.