TY - GEN
T1 - Static profiling of the worst-case in real-time programs
AU - Brandner, Florian
AU - Hepp, Stefan
AU - Jordan, Alexander
PY - 2012/1/1
Y1 - 2012/1/1
N2 - With the increasing performance demand in real-time systems it becomes more and more relevant to provide feed-back 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 accuratc view to programmers how closc 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 tlic overhead of computing the metric to cover complete real-time programs.
AB - With the increasing performance demand in real-time systems it becomes more and more relevant to provide feed-back 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 accuratc view to programmers how closc 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 tlic overhead of computing the metric to cover complete real-time programs.
KW - Criticality
KW - Program analysis
KW - Program profiling
KW - Worst-case execution time
U2 - 10.1145/2392987.2393000
DO - 10.1145/2392987.2393000
M3 - Conference contribution
AN - SCOPUS:84870924505
SN - 9781450314091
T3 - ACM International Conference Proceeding Series
SP - 101
EP - 110
BT - Proceedings of the 20th International Conference on Real-Time and Network Systems, RTNS 2012
PB - Association for Computing Machinery
T2 - 20th International Conference on Real-Time and Network Systems, RTNS 2012
Y2 - 8 November 2012 through 9 November 2012
ER -