Reconstructing Critical Paths from Execution Traces
M. Hendriks and F.W. Vaandrager. Reconstructing Critical Paths from Execution Traces. In Proceedings 10th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing. 5-7 December 2012, Paphos, Cyprus. IEEE Computer Society, pages 524-531, 2012. DOI 10.1109/ICCSE.2012.78. Full version available as Technical Report ICIS-R12007, Radboud University Nijmegen, December 2012.Abstract
We consider the problem of constructing critical paths from incomplete information. In general, a directed acyclic graph of tasks with their execution times (i.e., a task graph) is necessary to extract critical paths. We assume, however, that only the set of tasks, and their start and end times are known, e.g., an execution trace in the form of a Gantt chart. This information can be extracted from real machines or from the output of analysis tools, whereas extraction of the exact task graph often is problematic due to imperative modeling formalisms and complicated platform semantics (resource allocation, varying execution speeds). We show that, based on start and end times only, an over-approximation of the critical paths of an unknown task graph can be extracted nevertheless. Furthermore, this approach is generalized to deal with "noisy" execution traces of real machines in which control overhead is present. Finally, we discuss various methods to deal with false positives, and apply our approach to a complex industrial case study.