The Computer Journal Advance Access originally published online on September 26, 2007
The Computer Journal 2009 52(5):530-544; doi:10.1093/comjnl/bxm058
| ||||||||||||||||||||||||||||||||||||||||||||||||
This article appears in the following The Computer Journal issue: Special Issue on Automation of Software Test AST [View the issue table of contents]
Automated Worst-Case Execution Time Analysis Based on Program Modes
1 Department of Computer Science, National University of Defense Technology, Changsha, China
2 National Laboratory for Parallel and Distributed Processing, Changsha, China
* Corresponding author: wj{at}nudt.edu.cn
Received 4 October 2006; revised 31 May 2007
A program mode is a regular trajectory of the execution of a program that is determined by the values of its input variables. By exploiting program modes, we may make worst-case execution time (WCET) analysis more precise. This paper presents a novel method to automatically find program modes and calculate the WCET estimates of programs. First, the modes of a program will be identified automatically by mode-relevant program slicing, and the precondition will be calculated for each mode using a path-wise test data generation method. Then, for each feasible mode, we show how to calculate its WCET estimate for modern reduced instruction set computer (RISC) processors with caches and pipelines and for traditional complex instruction set computer (CISC) processors. We also present a method to obtain the symbolic expression for each mode for CISC processors. The experimental results show the effectiveness of the method.
Key Words: real-time systems WCET analysis program mode program slicing iterative relaxation method