## Data-Flow Frameworks for Worst-Case Execution Time Analysis (2000)

### Cached

### Download Links

- [www.auto.tuwien.ac.at]
- [www.auto.tuwien.ac.at]
- [www.auto.tuwien.ac.at]
- [www.auto.tuwien.ac.at]
- DBLP

### Other Repositories/Bibliography

Venue: | Real-Time Systems |

Citations: | 12 - 8 self |

### BibTeX

@ARTICLE{Blieberger00data-flowframeworks,

author = {Johann Blieberger},

title = {Data-Flow Frameworks for Worst-Case Execution Time Analysis},

journal = {Real-Time Systems},

year = {2000},

volume = {22},

pages = {2002}

}

### Years of Citing Articles

### OpenURL

### Abstract

The purpose of this paper is to introduce frameworks based on data-flow equations which provide for estimating the worst-case execution time (WCET) of (real-time) programs. These frameworks allow several different WCET analysis techniques, which range from nave approaches to exact analysis, provided exact knowledge on the program behaviour is available. However, data-flow frameworks can also be used for symbolic analysis based on information derived automatically from the source code of the program. As a byproduct we show that slightly modified elimination methods can be employed for solving WCET data-flow equations, while iteration algorithms cannot be used for this purpose.

### Citations

1434 | An axiomatic basis of computer programming
- Hoare
- 1969
(Show Context)
Citation Context ...el languages has been introduced in [Sha89]. So-called schemas are used to estimate the best and worst-case execution time of statements of higher-level languages and an extension of Hoare logic (cf. =-=[Hoa69]-=-) is employed to prove the timeliness (and correctness) of real-time programs. The method is also able to handle certain real-time language constructs such as delays and time-outs. Although Hoare logi... |

849 |
Theory of Recursive Functions and Effective Computability
- Rogers
- 1967
(Show Context)
Citation Context ...ions handled by Definition 5.5. Since the expressive power of the system of conditional recurrence relations defined in Definition 5.6 is equal to that of recursive functions with the µ operator (cf.=-= [Rog92]-=-), solving such systems of recurrence relations is undecidable; in fact it is equivalent to the halting problem. However, for simple loops, such as for-loops or discrete loops (cf. [Bli94]), which gen... |

545 | Concrete Mathematics
- Graham, Knuth, et al.
- 1989
(Show Context)
Citation Context ...the loop breaking rule can be defined by simply solving the equation in a straight-forward way. Thus the solutions are rational functions. Employing well-known facts of generating functions (cf. e.g. =-=[GKP89]), the w-=-orstcase timing behavior of the underlying program is given by d dz Pexit(z) � � � � z=1 which means that we differentiate Pexit w.r.t. z and then set z = 1. Remark 4.1. Note that PB(1) equals... |

451 |
Algorithms in C
- Sedgewick
- 1990
(Show Context)
Citation Context ...equencies. In a sense our approach requires "minimal" knowledge to determine path execution frequencies. Example 3. Heapsort is a well-known and well-studied sorting algorithm (compare (Knut=-=h, 1973b; Sedgewick, 1988-=-; Schaffer and Sedgewick, 1993)). We are now going to apply symbolic instrumentation to the implementation shown in Figure 3. In this section we concentrate on procedure siftdown; the example will be ... |

332 | A safe approximate algorithm for interprocedural pointer aliasing - Landi, Ryder - 1992 |

318 | A unified approach to global program optimization
- Kildall
- 1973
(Show Context)
Citation Context ...ties 2.1. 1. A semilattice L is closed under finite meets if it is closed under arbitrary nonempty meets. If it is also closed under arbitrary infinite meets, it is called closed under infinite meets =-=[Kil73]-=-. 2. A semilattice has the descending chain condition (d.c.c.) if any descending chain of semilattice elements x1 > x2 > . . . is finite. The relation > is defined by 3. A function f is monotone if f ... |

289 |
Compilers: principles, techniques, and tools
- Aho, Sethi, et al.
- 1986
(Show Context)
Citation Context ...ta-flow equations, while iteration algorithms cannot be used for this purpose. 1. Introduction Data-flow analysis is primarily used by compilers to optimize the performance of the generated code (cf. =-=[ASU86]-=-). Data-flow analysis algorithms are also used to solve problems in verification, debugging, testing, parallelization, vectorization and parallel programming environments. They provide information abo... |

277 |
Calculating the Maximum Execution Time of Real-Time Programs
- Puschner, Koza
- 1989
(Show Context)
Citation Context ...pressive power of regular expressions. 4. Determining the execution time of a code segment is also mentioned in [GR91]. Real-time concurrent C uses a tool which originally is based on [MACT89]. 5. In =-=[PK89]-=- language constructs have been introduced in order to let the programmer integrate knowledge about the actual behavior of algorithms which cannot be expressed using standard programming language featu... |

236 | Interprocedural May-Alias Analysis for Pointers: Beyond k-Limiting - Deutsch - 1994 |

184 | Performance analysis of embedded software using implicit path enumeration
- Li, Malik
- 1995
(Show Context)
Citation Context ...m the program automatically, e.g., if a general loop is used. Nevertheless all loops are forced to have a constant upper bound. 6. In [PS97] an integer linear programming approach (similar to that of =-=[LM95]-=-) is employed, which together with so-called T-graphs is used to determine the WCET of real-time programs. A T-graph is similar to a control flow graph (CFG) of a program. In fact, a T-graph is dual t... |

163 | Reasoning about time in higher-level language software
- Shaw
- 1989
(Show Context)
Citation Context ...guments of whether gotos should be used in programming using high-order programming languages or not. 2. The idea to estimate WCET of programs written in higher-level languages has been introduced in =-=[Sha89]-=-. So-called schemas are used to estimate the best and worst-case execution time of statements of higher-level languages and an extension of Hoare logic (cf. [Hoa69]) is employed to prove the timelines... |

154 | Monotone data flow analysis frameworks - Kam, Ullman - 1977 |

147 | Undecidability of Static Analysis - Landi - 1992 |

126 | Global data flow analysis and iterative algorithms - Kam, Ullman - 1976 |

124 |
Predicting program execution times by analyzing static and dynamic program paths. Real-Time Systems
- Park
- 1993
(Show Context)
Citation Context ...r and lower bounds of the number of iterations of a loop. 3. Continuing and extending [Sha89] best and worst-case execution time is estimated by employing static and dynamic program paths analysis in =-=[Par93]-=-. This is done by specifying program paths by regular expressions. Since processing this information sometimes requires exponential time, an interface definition language is introduced which allows ef... |

120 | Bounding worst-case instruction cache performance - Arnold, Mueller, et al. - 1994 |

120 | Real-time Euclid: A language for reliable real-time systems - Kligerman, Stoyenko - 1986 |

105 | A program data flow analysis procedure - Allen, Cocke - 1976 |

96 | Integrating the timing analysis of pipelining and instruction caching - Healy, Whalley, et al. - 1995 |

91 | Fast Algorithms for Solving Path Problems - Tarjan - 1981 |

84 | The undecidability of aliasing - Ramalingam - 1994 |

83 | A retargetable technique for predicting execution time of code segments - Harmon, Baker, et al. - 1994 |

83 | Computing maximum task execution times - a graph-based approach
- Puschner, Schedl
- 1997
(Show Context)
Citation Context ...e number of loop iterations if this number cannot be estimated from the program automatically, e.g., if a general loop is used. Nevertheless all loops are forced to have a constant upper bound. 6. In =-=[PS97]-=- an integer linear programming approach (similar to that of [LM95]) is employed, which together with so-called T-graphs is used to determine the WCET of real-time programs. A T-graph is similar to a c... |

77 | A fast and usually linear algorithm for global flow analysis - Graham, Wegman - 1976 |

69 | A unified approach to path problems - Tarjan - 1981 |

64 | Array privatization for parallel execution of loops - Li - 1992 |

58 | Object-Oriented Real-Time Language Design: Constructs for Timing Constraints - Ishikawa, Tokuda, et al. - 1990 |

55 | Elimination algorithms for data flow analysis
- Ryder, Paull
- 1986
(Show Context)
Citation Context ...tions. For data-flow analysis the special structure of flow graphs can be exploited to construct algorithms with improved time complexity. For example see [AC76, HU77, Tar81a, GW76, Sre95, SGL98] and =-=[RP86]-=- for an overview of the first four algorithms. For our purposes we use the algorithm of [Sre95, SGL98]. Returning to our equations of Definition 3.4, we have to determine how to insert one equation in... |

47 | Sorting and Searching, The Art of - Knuth - 1990 |

46 | A simple algorithm for global data flow analysis - Hecht, Ullman - 1975 |

46 | Data flow frequency analysis
- Ramalingam
- 1996
(Show Context)
Citation Context ... a measure of how often the edge (B, B ′ ) is taken by executing the underlying procedure compared to the edges through the other successors of B. We call ORACLE(B, B ′ ) execution frequency (comp=-=are [Ram96] f-=-or a similar approach). By allowing ORACLE(B, B ′ ) = 0 we are able to model dead paths. In contrast to Section 3 we set up equations of generating functions Pi(z) in the following way. Definition 4... |

45 |
Evaluating Tight Execution Time Bounds of Programs by Annotations
- Mok, Amerasinghe, et al.
- 1989
(Show Context)
Citation Context ... not have the expressive power of regular expressions. 4. Determining the execution time of a code segment is also mentioned in [GR91]. Real-time concurrent C uses a tool which originally is based on =-=[MACT89]-=-. 5. In [PK89] language constructs have been introduced in order to let the programmer integrate knowledge about the actual behavior of algorithms which cannot be expressed using standard programming ... |

35 |
Graph Algorithms and NP-Completeness
- Mehlhorn
- 1984
(Show Context)
Citation Context ...f procedure A calls B, there is an edge from node A to B in the call graph. If there are no recursive procedures and functions, the call graph is acyclic. By topologically sorting (cf. (Knuth, 1973a; =-=Mehlhorn, 1984-=-)) an acyclic call graph, symbolic evaluation can be applied to the graph in such a way that a symbolic formula for the WCET of a procedure P is available before another procedure Q, which calls P , i... |

34 |
Constructing Predictable Real Time Systems
- Halang, Stoyenko
- 1991
(Show Context)
Citation Context ...-time programming languages (cf. [Bli94]) and that recursion can be employed without harm in real-time systems (cf. [BL96, Bli00]), the concept of schedulability analysis, which is also introduced in =-=[HS91]-=-, is still very important for real-time applications. One of the minor results of this paper is that goto-statements can be used for implementing real-time systems without prohibiting schedulability a... |

31 | Symbolic evaluation and the analysis of programs - CHEATHAM, HOLLOWAY, et al. - 1979 |

31 |
Real-time concurrent C: A language for programming dynamic real-time systems
- Gehani, Ramamritham
- 1991
(Show Context)
Citation Context ...ve the expressive power of regular expressions. dfwcetklu.tex; 14/04/2000; 9:10; p.2 Data-Flow Frameworks for WCET Analysis 3 4. Determining the execution time of a code segment is also mentioned in (=-=Gehani and Ramamritham, 1991-=-). Real-time concurrent C uses a tool which originally is based on (Mok et al., 1989). 5. In (Puschner and Koza, 1989) language constructs have been introduced in order to let the programmer integrate... |

30 |
Combining static worst-case timing analysis and program proof. Real-Time Syst
- CHAPMAN, BURNS, et al.
- 1996
(Show Context)
Citation Context ...ge allocation as long as compile time known values are involved. It can even solve certain simple problems of concurrent programming and synchronization of concurrent processes at compile time. 8. In =-=[CBW96] W-=-CET analysis and program proof are combined for the SPARK Ada subset (cf. [CJM + 92]). It is based on a slight generalization of [Tar81b]. The method allows WCET analysis depending on the program’s ... |

26 | Fundamental Algorithms, vol. 1 of The Art of Computer Programming - Knuth - 1997 |

25 |
95 Reference Manual
- ISOIEC
- 1995
(Show Context)
Citation Context ...ine the exact timing behavior of a program and not only an upper bound of it. This can also be proved for our approach. In addition our symbolic approach can handle formal and generic parameters (cf. =-=[Ada95]-=-) too. 7. Partial evaluation is used in [NP93] to estimate the execution time of programs at compile time. This is done by use of compile time variables, i.e., a variable whose value is definitely kno... |

25 | Dominators in linear time
- Alstrup, Harel, et al.
- 1999
(Show Context)
Citation Context ...dfwcetklu.tex; 14/04/2000; 9:10; p.31 32 Johann Blieberger Remark 8. Note that the dominator tree, a tree whose edges reflect the immediate dominance relation, can be constructed in linear time (see (=-=Alstrup et al., 1996-=-)). If we have symbolic expressions for all instrumentation variables b i , we can set up equations b i = X B j 2Succs(B i ) c ij b i = X B k 2Preds(B i ) c ki (5) where c ij is a symbolic counter ass... |

24 | Symbolic evaluation methods for program analysis - Clarke, Richardson - 1981 |

22 | Symbolic evaluation for parallelizing compilers - Fahringer, Scholz - 1997 |

19 |
Endre Tarjan. Fast algorithms for solving path problems
- Robert
- 1981
(Show Context)
Citation Context ... |E|) insertions and loop-breaking operations, where |N| denotes the number of nodes in the CFG and |E| is the number of edges of the CFG. The CFG is supposed to be reducible. The method described in =-=[Tar81a] take-=-s O(|E|·α(|E|, |N|)) time, where α denotes the inverse Ackermann’s function. Thus this algorithm behaves almost linear in time on reducible CFGs. Remark 4.2. If the oracle gives its answer in O(1... |

18 | Deterministic upperbounds of the worst-case execution times of cached programs - Liu, Lee - 1994 |

18 |
Analyzing Hard-Real-Time Programs for Guaranteed Schedulability
- Stoyenko, Hamacher, et al.
- 1991
(Show Context)
Citation Context ... of recursions and goto-statements. Loops are restricted to time bounded loops and simple forloops. An algorithm for calculating an upper bound of the WCET of RealTime Euclid programs is described in =-=[SHH91]-=-. Although in the meantime it has been proved that more general loopstatements can be used in real-time programming languages (cf. [Bli94]) and that recursion can be employed without harm in real-time... |

18 | The analysis of heapsort - Schaffer, Sedgewick - 1993 |

15 | Discrete loops and worst case performance
- Blieberger
- 1994
(Show Context)
Citation Context ...bound of the WCET of RealTime Euclid programs is described in [SHH91]. Although in the meantime it has been proved that more general loopstatements can be used in real-time programming languages (cf. =-=[Bli94]-=-) and that recursion can be employed without harm in real-time systems (cf. [BL96, Bli00]), the concept of schedulability analysis, which is also introduced in [HS91], is still very important for real... |

13 |
Properties of data flow frameworks: A unified model
- Marlowe, Ryder
- 1990
(Show Context)
Citation Context ...Figure 2. Control Flow Graph of Power Example 2. Data-Flow Frameworks In this section we give a short overview of data-flow frameworks. In most cases we will use the notation and definitions given in =-=[MR90]-=-. In general data-flow analysis algorithms gather facts about the use and definition of data, and information about control and data dependencies in programs. Data-flow frameworks are algebraic struct... |

12 | Symbolic Data Flow Analysis for Detecting Deadlocks in Ada Tasking Programs - Blieberger, Burgstaller, et al. - 2000 |

12 |
A Partial Evaluator for the Maruti Hard-Real-Time System
- Nirkhe, Pugh
- 1993
(Show Context)
Citation Context ...not only an upper bound of it. This can also be proved for our approach. In addition our symbolic approach can handle formal and generic parameters (cf. [Ada95]) too. 7. Partial evaluation is used in =-=[NP93]-=- to estimate the execution time of programs at compile time. This is done by use of compile time variables, i.e., a variable whose value is definitely known at compile time. Taking advantage of these ... |