Conference paper
Evaluating and Estimating the WCET Criticality Metric
Static analysis tools that are used for worst-case execution time (WCET) analysis of real-time software just provide partial information on an analyzed program. Only the longest-executing path, which currently determines the WCET bound is indicated to the programmer. This limited view can prevent a programmer (or compiler) from targeting optimizations the right way.
A possible resort is to use a metric that targets WCET and which can be efficiently computed for all code parts of a program. Similar to dynamic profiling techniques, which execute code with input that is typically expected for the application, based on WCET analysis we can indicate how critical a code fragment is, in relation to the worst-case bound.
Computing such a metric on top of static analysis, incurs a certain overhead though, which increases with the complexity of the underlying WCET analysis. We present our approach to estimate the Criticality metric, by relaxing the precision of WCET analysis. Through this, we can reduce analysis time by orders of magnitude, while only introducing minor error.
To evaluate our estimation approach and share our garnered experience using the metric, we evaluate real-time programs, which are considered as standard WCET benchmarks. We furthermore demonstrate how the visualization of a Criticality-based profile can aid in the understanding of a program's worst-case behavior.
Language: | English |
---|---|
Publisher: | Association for Computing Machinery |
Year: | 2014 |
Pages: | 11-18 |
Proceedings: | 11th Workshop on Optimizations for DSP and Embedded Systems (ODES '14) |
ISBN: | 1450325955 and 9781450325950 |
Types: | Conference paper |
DOI: | 10.1145/2568326.2568331 |
Computer systems organization Cross-computing tools and techniques Embedded and cyber-physical systems Extra-functional properties General and reference Management of computing and information systems Performance Professional topics Real-time systems Social and professional topics Software and its engineering Software creation and management Software defect analysis Software management Software organization and properties Software performance Software selection and adaptation Software testing and debugging Software verification and validation criticality program analysis program profiling worst-case execution time