Symbolic simulation on complicated loops for WCET path analysis
- 9 October 2011
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 319-328
- https://doi.org/10.1145/2038642.2038692
Abstract
We address the Worst-Case Execution Time (WCET) Path Analysis problem for bounded programs, formalized as discovering a tight upper bound of a resource variable. A key challenge is posed by complicated loops whose iterations exhibit non-uniform behavior. We adopt a brute-force strategy by simply unrolling them, and show how to make this scalable while preserving accuracy. Our algorithm performs symbolic simulation of the program. It maintains accuracy because it preserves, at critical points, path-sensitivity. In other words, the simulation detects infeasible paths. Scalability, on the other hand, is dealt with by using summarizations, compact representations of the analyses of loop iterations. They are obtained by a judicious use of abstraction which preserves critical information flowing from one iteration to another. These summarizations can be compounded in order for the simulation to have linear complexity: the symbolic execution can in fact be asymptotically shorter than a concrete execution. Finally, we present a comprehensive experimental evaluation using a standard benchmark suite. We show that our algorithm is fast, and importantly, we often obtain not just accurate but exact results.Keywords
This publication has 24 references indexed in Scilit:
- Comprehensive path-sensitive data-flow analysisPublished by Association for Computing Machinery (ACM) ,2008
- The worst-case execution-time problem—overview of methods and survey of toolsACM Transactions on Embedded Computing Systems, 2008
- Clustered calculation of worst-case execution timesPublished by Association for Computing Machinery (ACM) ,2003
- Automatic detection and exploitation of branch constraints for timing analysisIEEE Transactions on Software Engineering, 2002
- Parametric Timing AnalysisPublished by Association for Computing Machinery (ACM) ,2001
- Performance analysis of embedded software using implicit path enumerationPublished by Association for Computing Machinery (ACM) ,1995
- Projecting CLPR constraintsNew Generation Computing, 1993
- Predicting program execution times by analyzing static and dynamic program pathsReal-Time Systems, 1993
- The CLP( ℛ ) language and systemACM Transactions on Programming Languages and Systems, 1992
- Guarded commands, nondeterminacy and formal derivation of programsCommunications of the ACM, 1975