@MISC{Althaus_symbolicworst, author = {Ernst Althaus and Sebastian Altmeyer and Rouven Naujoks}, title = {Symbolic Worst Case Execution Times?}, year = {} }

Share

OpenURL

Abstract

In immediate or hard real-time systems the correctness of an operation depends not only upon its logical correctness, but also on the time in which it is is computed. In such systems, it is imperative that operations are performed within a given deadline because missing this deadline constitutes the failure of the complete system. Such systems include medical systems, flight control sys-tems and other systems whose failure in responding punctually results in a high economical loss or even in the loss of human lives. These systems are usually analyzed in a sequence of steps in which first, a so-called control flow graph (CFG) is constructed that represents possible program flows. Furthermore, bounds on the time necessary to execute small code blocks are computed along with bounds on the number of possible executions of the program loops. Depending on the type of the analysis, these loop bounds can either be numerical values or symbolic variables, corresponding to inputs given for instance by a user or by sensors. In the last step, in such a CFG the weight of a longest path with respect to the loop bounds is computed, reflecting a bound on the worst case execution time. In this paper, we will show how to compute such symbolic longest path weights in CFGs of software with a rather regular structure like software developed for hard real-time systems. We will present the first algorithm that is capable of computing such paths in time polynomial in the size of both the input and the output. Our approach replaces the application of integer linear programming solvers in the case of purely numerical loop bounds. Furthermore, it improves upon the speed and accuracy of existing approaches in the case of symbolic bounds.