Memory Leak Detection via Usage Trend Correlation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory leaks in software programs are difficult to detect and analyze, particularly for average developers, as existing methods rely on cumbersome memory dump analysis that affects system performance and is not approachable due to their complexity and resource intensity.

Innovation Solution

A computational process that identifies memory usage trends over time, correlates data type trends, and groups them based on predetermined criteria to assist in detecting and displaying memory leaks, providing insights into the most rapidly leaking data types without relying on memory dump analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If traditional memory dump analysis is used to detect memory leaks, then memory leak detection capability is improved, but system performance deteriorates and resource consumption increases

Engineering Contradiction:
Improvememory leak detection capabilityVSAvoidsystem performance and resource consumption
Core Design Contradiction:
Difficulty of detecting and measuringVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the necessary memory usage data from the program execution, rather than analyzing complete memory dumps. It collects specific metrics such as memory allocation counts, allocation sizes, and deallocation information for selected data types, separating the essential leak detection data from the overwhelming entirety of memory state information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments memory analysis by focusing on specific data types rather than analyzing the entire memory space. It divides memory monitoring into type-specific categories, allowing developers to target analysis at particular data structures that are suspected of leaking, thereby reducing the overall computational burden.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If memory dump analysis is performed to identify memory leaks, then detection accuracy is improved, but ease of operation deteriorates due to complexity

Engineering Contradiction:
Improvememory leak detection accuracyVSAvoiddeveloper accessibility
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary analysis layer that processes raw memory allocation data and transforms it into meaningful insights. Instead of presenting raw memory dumps directly to developers, the system automatically correlates allocation patterns, identifies trends, and presents processed results that are easier to interpret while maintaining detection accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary processing of memory data during program execution, pre-calculating and storing relevant metrics such as allocation rates, deallocation rates, and retention patterns. This preliminary analysis prepares the data in advance, so when leak detection is needed, the information is already organized and ready for interpretation without requiring complex post-processing.

Inventive Principle:
Principle #10Preliminary action

3Difficulty of detecting and measuring

If comprehensive memory monitoring is implemented to track all data types, then memory leak detection coverage is improved, but device complexity increases

Engineering Contradiction:
Improvememory leak detection coverageVSAvoidanalysis system complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent implements dynamic monitoring where the system adapts its analysis focus based on program behavior and suspected leak patterns. Rather than statically monitoring all data types with equal intensity, the system dynamically adjusts which data types receive detailed analysis based on allocation patterns, program phase, and user-specified priorities, reducing overall system complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3191964B1Memory leak analysis by usage trends correlation
Publication Date: 2020.02.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3191964B1 patent drawingFigure 1~2
  • EP3191964B1 patent drawingFigure 3
  • EP3191964B1 patent drawingFigure 4~5

AI summary

Tools and techniques assist developers with the detection of memory leaks by using correlation of data type memory usage trends. In particular, investigations of memory leaks can be prioritized without always resorting to the use of bulky and performance-degrading memory dumps, by using these tools and techniques to identify leaky correlated data types. Data about a program's memory usage is processed to identify memory usage trends over time for respective data types, and the trends are searched for significant correlations. Correlated trends (and hence their corresponding data types) are grouped. Memory usage analysis information is displayed for grouped data types, such as the names of the most rapidly leaking data types, the names of correlated data types, leak rates, and leak amounts in terms of memory size and/or data object counts. Memory usage data may also be correlated with processing load requests to indicate which requests have associated memory leaks.