Source Code Decoration for Program Trace Navigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software development tools lack an efficient and intuitive mechanism for conveying control flow information and searching program execution traces, making it difficult to identify the root cause of issues, especially in large traces.
Innovation Solution
A source code decorator system that uses program trace information to decorate source code lines with execution instance controls and indicators, allowing developers to navigate and browse the execution history by associating program counter data with source code, and displaying visual cues such as drop-down controls, arrow-shaped decorations, timestamps, and hyperlinks to identify branches, function calls, and exceptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If program execution traces are displayed in predetermined formats (trace event table or CallTree structure), then program execution information can be captured and displayed, but control flow information is not efficiently conveyed and trace search mechanism is insufficient
Solution Approach 1:
The patent transforms the traditional linear trace display into a multi-dimensional view by overlaying execution trace information directly onto the source code structure. This allows developers to navigate traces through code navigation rather than scrolling through event tables, effectively adding a spatial dimension to trace analysis and improving both information conveyance and search efficiency.
Solution Approach 2:
The patent introduces source code as an intermediary layer between the trace data and the developer. By mapping trace events to corresponding source code lines and displaying them together, the source code acts as a mediator that makes control flow information more intuitive and enables efficient navigation through familiar code structures.
2Reliability
If traditional trace display formats are used, then program execution can be recorded, but it is extremely difficult to identify root-cause of problems during program execution
Solution Approach 1:
The patent performs preliminary mapping of trace events to source code lines before display. By pre-associating execution trace data with their corresponding source code locations and preparing the decorated view in advance, the system enables developers to immediately see the context of trace events without manual correlation, significantly reducing debugging time while improving problem identification accuracy.
3Loss of information
If program trace tools generate trace logs in predetermined formats, then execution information can be captured, but the information does not efficiently convey control flow to developers
Solution Approach 1:
The patent merges trace display with source code editor functionality by overlaying execution trace information directly onto the source code view. This integration combines two previously separate systems (trace tools and code editors) into a unified interface, making control flow information more accessible while actually reducing operational complexity despite the enhanced functionality.
Data Source
AI summary
A method and apparatus are provided for navigating source code (112) by capturing a program trace data history (134) from a target (150) in response to execution of application executable code (123) thereon and decorating the source code blocks (252) on a graphical user interface viewer (251) by displaying an execution instance control indicator (253-255) corresponding to each detected execution instance, where an execution instance control enables control of which execution instance is displayed and an execution instance indicator displays information about the sequence of instructions that were executed at runtime in that execution instance.


