Symbolic simulation on complicated loops for WCET path analysis
Authors:
Open Access
- 9 October 2011
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 319-328
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 analysis2008
- 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 times2003
- Automatic detection and exploitation of branch constraints for timing analysisIEEE Transactions on Software Engineering, 2002
- Parametric Timing Analysis2001
- Performance analysis of embedded software using implicit path enumeration1995
- 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