ABSTRACT
With the increasing performance demand in real-time systems it becomes more and more relevant to provide feedback to engineers and programmers, but also software development tools, on the performance-relevant code parts of a real-time program. So far, the information provided to programmers through tools was limited to an estimation of the worst-case execution time (WCET) and its associated worst-case execution path (WCEP). However, these metrics only provide partial information. Only those code parts that are on one of the WCEPs are indicated to the programmer. No information is provided for all other code parts. To give an accurate view covering the entire code base, tools in the spirit of standard program profiling tools are required.
This work proposes an efficient approach to compute worst-case timing information for all code parts of a program using a complementary metric, called criticality. Every statement of a real-time program is assigned a criticality value, expressing how critical the respective code is with respect to the global WCET. This gives an accurate view to programmers how close the worst execution path passing through a specific part of a real-time program is to the global WCEP. We formally define the criticality metric and investigate some of its properties with respect to dominance in control-flow graphs. Exploiting some of those properties, we propose an algorithm that reduces the overhead of computing the metric to cover complete real-time programs.
References
- H. Agrawal. Dominators, super blocks, and program coverage. In Proc. of the Symposium on Principles of Programming Languages, pages 25--34. ACM, 1994. Google Scholar
Digital Library
- T. Ball and S. G. Eick. Software visualization in the large. Computer, 29:33--43, 1996. Google Scholar
Digital Library
- T. Ball and J. R. Larus. Optimally profiling and tracing programs. ACM Trans. Program. Lang. Syst., 16(4):1319--1360, July 1994. Google Scholar
Digital Library
- S. L. Graham, P. B. Kessler, and M. K. Mckusick. Gprof: A call graph execution profiler. In Proc. of the Symposium on Compiler Construction, CC 82, pages 120--126. ACM, 1982. Google Scholar
Digital Library
- J. Gustafsson, A. Betts, A. Ermedahl, and B. Lisper. The Mälardalen WCET benchmarks -- past, present and future. In Proc. of the Workshop on Worst-Case Execution Time Analysis, pages 137--147. OCG, 2010.Google Scholar
- N. Holsti, T. Långbacka, and S. Saarinen. Using a worst-case execution-time tool for real-time verification of the DEBIE software. In Proc. of the Data Systems in Aerospace Conference, page 307. ESA, 2000.Google Scholar
- F. Lemieux and M. Salois. Visualization techniques for program comprehension a literature review. In Proc. of the Conference on New Trends in Software Methodologies, Tools and Techniques (SoMeT '06), pages 22--47. IOS Press, 2006. Google Scholar
Digital Library
- T. Lengauer and R. E. Tarjan. A fast algorithm for finding dominators in a flowgraph. ACM Trans. Program. Lang. Syst., 1(1):121--141, 1979. Google Scholar
Digital Library
- Y.-T. S. Li and S. Malik. Performance analysis of embedded software using implicit path enumeration. In Proc. of the Design Automation Conference, DAC '95, pages 456--461. ACM, 1995. Google Scholar
Digital Library
- P. Lokuciejewski, F. Gedikli, and P. Marwedel. Accelerating WCET-driven optimizations by the invariant path paradigm - a case study of loop unswitching. In Proc. of the Workshop on Software & Compilers for Embedded Systems (SCOPES '09), pages 11--20, 2009. Google Scholar
Cross Ref
- F. Nemer, H. Cassé, P. Sainrat, J.-P. Bahsoun, and M. D. Michiel. Papabench: A free real-time benchmark. In Proc. of the Workshop on Worst-Case Execution Time Analysis, pages 63--68. OCG, 2006.Google Scholar
- P. P. Puschner and A. V. Schedl. Computing maximum task execution times - a graph-based approach. Real-Time Systems, 13(1):67--91, July 1997. Google Scholar
Digital Library
- R. E. Tarjan. Depth-first search and linear graph algorithms. SIAM J. Comput., 1(2):146--160, 1972.Google Scholar
Cross Ref
- H. Theiling, C. Ferdinand, and R. Wilhelm. Fast and precise wcet prediction by separated cache and path analyses. Real-Time Systems, 18(2/3):157--179, 2000. Google Scholar
Digital Library
Index Terms
Static profiling of the worst-case in real-time programs


Florian Brandner


Comments