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.
Keywords :
bar charts; computational complexity; directed graphs; embedded systems; image processing; Gantt chart; control overhead; critical path approximation; critical path extraction; critical path reconstruction; directed acyclic graph; embedded systems; false positives; information extraction; modeling formalisms; noisy execution traces; platform semantics; task graph extraction; Algorithm design and analysis; Approximation algorithms; Approximation methods; Engines; Schedules; Semantics; Timing; critical path analysis; embedded systems; task graph;