ABSTRACT

This chapter focuses on the analysis of the timing behavior of software applications that expose real-time requirements. The state-of-the-art methodologies to timing analysis of software programs are generally split into four categories, referred to as static, measurement-based, hybrid, and probabilistic analysis techniques. Most of the timing analysis tools focus only on determining an upper-bound on the Worst-Case Execution Time (WCET) of a program or function code that runs in isolation and without interruption. The current trend in probabilistic approaches is to apply results from the extreme value theory framework to the WCET estimation problem. After determining the intrinsic and extrinsic execution times, we communicate them to the mapping and scheduling analysis tools through the annotation of the task dependency graph of the real-time task. To measure the execution time of a task-part, we insert a trace-point at its entry and exit points. A trace-point is a call to a system function that records the current timestamp.