Marker Correlation for Execution Timeline Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Application developers face challenges in effectively debugging complex software due to the lack of intuitive tools for visualizing the execution timeline of source code, which limits their ability to understand and optimize program performance.

Innovation Solution

The introduction of markers in source code that remain in the binary version, allowing for data collection and visualization of their execution timeline, enabling developers to place markers and visualize their execution context within a larger timeframe, optionally with associated text or data, and customizable options for display.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If developers use traditional debugging tools to step through source code execution, then they can evaluate parameter values, but they cannot visualize the execution timeline in the context of overall program execution

Engineering Contradiction:
Improveexecution timeline contextVSAvoiddebugging tool complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the execution timeline visualization into discrete marker-based events that can be independently placed and tracked. Each marker represents a specific point of interest in the execution flow, allowing developers to break down complex execution timelines into manageable, visualizable segments that can be correlated with source code locations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces markers as intermediary elements that bridge source code and execution timeline visualization. These markers serve as mediators that are embedded in the binary code and generate events that can be correlated with source code locations, enabling the connection between low-level binary execution and high-level source code understanding without requiring complex direct analysis tools.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If developers add comprehensive debugging visualizations, then they gain better understanding of execution context, but the debugging process becomes more complex and time-consuming

Engineering Contradiction:
Improvedebugging easeVSAvoiddebugging time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having developers place markers in source code before execution. These markers are compiled into the binary code in advance, so that during execution, the timeline visualization can be generated automatically without requiring post-execution analysis or complex tool configuration, thereby reducing debugging time while maintaining ease of use.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The debugging system performs self-service by automatically generating and correlating execution timeline events with source code locations without requiring manual intervention. The markers embedded in the binary code self-generate events during execution, and the system automatically correlates these events with the original source code, eliminating the need for manual tracing or complex tool operations.

Inventive Principle:
Principle #25Self-service

3Reliability

If markers are embedded in binary code for timeline tracking, then execution timeline visualization is enabled, but the markers must be preserved through compilation and execution

Engineering Contradiction:
Improvemarker execution reliabilityVSAvoidcompilation and execution complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes markers universal by designing them to serve multiple functions: they are placed in source code, compiled into binary code, executed during program runtime, and used for timeline visualization. This multi-functionality ensures that a single marker mechanism handles the entire workflow from source code to execution analysis, improving reliability while managing complexity through consolidation rather than requiring separate mechanisms for each stage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8601442B2Marker correlation of application constructs with visualizations
Publication Date: 2013.12.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8601442B2 patent drawing
  • US8601442B2 patent drawing
  • US8601442B2 patent drawing

AI summary

The use of marker(s) in the source code of a program under evaluation. A representation of the marker(s) remains in the binary version of the program under evaluation. During execution, upon executing the marker, data is gathered regarding the timeline of the execution of the marker in the context of overall timeline of execution. A visualization of the marker is then displayed that illustrates the execution of the marker in the context of a larger timeframe of execution. Optionally, the marker may be associated with text, or other data, at least some of which being rendered with the visualization. Accordingly, an application developer, or indeed anyone evaluating the program, may place markers within source code and/or evaluate the timeline of execution of those markers.