Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license
Conditional branches connect the values of program variables with the execution paths and thus with the execution times, including the worst-case execution time (WCET). Flow analysis aims to discover this connection and represent it as loop bounds and other path constraints. Usually, a specific analysis of the dependencies between branch conditions and assignments to variables creates some representation of the feasible paths, for example as IPET execution-count constraints, from which a WCET bound is calculated. This paper explores another approach that uses a more direct connection between variable values and execution time. The execution time is modeled as a program variable. An analysis of the dependencies between variables, including the execution-time variable, gives a WCET bound that excludes many infeasible paths. Examples show that the approach often works, in principle. It remains to be seen if it is scalable to real programs.
@InProceedings{holsti:OASIcs.WCET.2008.1660,
author = {Holsti, Niklas},
title = {{Computing time as a program variable: a way around infeasible paths}},
booktitle = {8th International Workshop on Worst-Case Execution Time Analysis (WCET'08)},
pages = {1--11},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-939897-10-1},
ISSN = {2190-6807},
year = {2008},
volume = {8},
editor = {Kirner, Raimund},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.WCET.2008.1660},
URN = {urn:nbn:de:0030-drops-16608},
doi = {10.4230/OASIcs.WCET.2008.1660},
annote = {Keywords: WCET, flow analysis, infeasible paths, dependency analysis}
}