TimeWeaver

TimeWeaver combines static path analysis with timing measurements to provide worst-case execution time estimates.


The tool estimates the worst-case execution time (WCET) of tasks based on the exe­cution time of trace segments obtained from real-time instruction-level tracing. The computed time bounds are valuable for soft real-time systems and provide feedback for optimizing worst-case performance.

Why do you need TimeWeaver?

  • TimeWeaver analyses all potential execution paths and computes the longest path based on the execution times of trace segments observed in real-time traces.
  • TimeWeaver supports non-intrusive tracing, e.g. Nexus branch history target messages. The computed time bounds are compliant to requirements of safety standards like DO-178B, DO-178C, ISO 26262, etc.
  • TimeWeaver reports test coverage information at the instruction level with respect to all possible execution paths for all considered trace segments. This gives valuable feedback for improving the test coverage of the system.
  • TimeWeaver generates customizable reports and visualizations for documentation and certification purposes, e.g.:
    • global end-to-end time, based on the maximum observed trace segment times combined to an overall bound
    • end-to-end time bounds for specific functions, depending on trace points
    • GANTT chart of task execution times extracted from trace data
    • total interrupt blocking time per trace segment
    • time variance of each trace segment
    • trace coverage
    • maximum possible (based on static program analysis) and maximum observed iteration counts for loops
  • TimeWeaver supports batch mode execution and integration in continuous integration frameworks.
  • On Tricore AURIX devices, TimeWeaver supports highly efficient interactive MCDS tracing via Infineon DAS.
Workflow
  1. a binary executable
  2. execution traces, e.g. BHM traces compliant to the IEEE-ISTO 5001 standard
  3. optional user annotations, e.g. on loop bounds, in the same format as other AbsInt analyzers such as aiT, TimingProfiler, or StackAnalyzer
TimeWeaver then provides a safe upper bound of the length of the longest execution path, based on the local time measurements in the traces. Features The analysis results reported by TimeWeaver include:
  • coverage of the control-flow graph by the input traces
  • global end-to-end time, based on the maximum observed trace segment times combined to an overall bound end-to-end bounds for specific functions, depending on trace points
  • maximum possible and maximum observed iteration counts for loops
  • time variance of each code segment over all traces
  • TimeWeaver offers the same powerful user interface you are used to from working with other AbsInt tools, with fully integrated graphical and textual viewers for control flow, analysis results, source code, assembly code, and configuration files. You can:
  • interactively explore analysis results
  • save and restore analysis scenarios
  • export customizable reports for documentation and certification purposes
  • start all analyses from the same GUI and handle all the tools with the same look and feel

Request Info