Memory Map Tool for Runtime Analysis and Error Diagnosis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional debuggers and software analysis tools have limitations in presenting memory usage information, such as limited display of memory bytes, inability to indicate committed memory ranges, and lack of subdivision information within memory ranges, which hinders error diagnosis in computer programs.

Innovation Solution

A method for runtime analysis of computer programs that generates memory maps with multiple memory ranges, allowing users to zoom in on specific ranges to view their components, providing detailed information on memory usage through instrumented code that tracks virtual memory management calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional debuggers present memory information in a limited display window, then the interface is simple and easy to operate, but the amount of memory information that can be shown is constrained

Engineering Contradiction:
Improveamount of memory information displayedVSAvoiddisplay window size
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

The patent transitions from a two-dimensional display window to a multi-level hierarchical structure with zoom capabilities. Users can navigate from a high-level overview of memory spaces to detailed views of individual memory segments by zooming in, effectively adding a dimensional aspect of magnification that allows comprehensive memory information to be displayed without increasing the physical display area.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The memory map is divided into hierarchical segments: memory spaces (e.g., heap, stack), memory segments within those spaces, and individual memory bytes. This segmentation allows the system to manage and display large amounts of memory information by organizing it into manageable levels, where users can focus on specific segments without being overwhelmed by the entire memory map at once.

Inventive Principle:
Principle #1Segmentation

2Loss of information

If conventional debuggers indicate only committed memory portions, then the interface remains simple, but the ability to provide information about memory range size and subdivisions is lost

Engineering Contradiction:
Improvememory range size and subdivision informationVSAvoiddebugger interface complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The memory map interface is designed to be dynamic and adaptive. It automatically adjusts the level of detail displayed based on the user's zoom level and selection. At higher levels, it shows aggregate memory range sizes and types; when zoomed in, it automatically reveals subdivisions and individual memory segments. This dynamic behavior provides comprehensive information without requiring the interface to constantly display all possible details, thus managing complexity.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If conventional debuggers show only a small number of bytes at one time, then the display remains manageable, but detailed error diagnosis capability is reduced

Engineering Contradiction:
Improveerror diagnosis precisionVSAvoidnumber of bytes displayed simultaneously
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system prepares and organizes comprehensive memory information in advance at multiple hierarchical levels. Before the user needs detailed information for error diagnosis, the memory map has already computed and structured the data showing memory spaces, segments, and their relationships. When users zoom in or select specific areas, this pre-organized information is immediately available, enabling precise error diagnosis without the need to manually navigate through large amounts of raw memory data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10353797B2Using memory tracking data to inform a memory map tool
Publication Date: 2019.07.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10353797B2 patent drawing
  • US10353797B2 patent drawing
  • US10353797B2 patent drawing

AI summary

A method of runtime analysis for a computer program can include generating runtime data relating to memory usage for an instrumented computer program and creating a memory map comprising a plurality of memory ranges of different types according to the runtime data. At least a portion of the memory map can be presented to indicate selected ones of the plurality of memory ranges.