Memory Leak Detection via Weighted Object Graph Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems face memory leaks due to programs failing to deallocate memory, leading to reduced availability and performance issues, such as decreased system performance and crashes.

Innovation Solution

A memory analysis system that collects and analyzes memory information from user computing devices to detect potential memory leaks by constructing reference and weighted object graphs, identifying motifs indicative of leaks, and ranking their likelihood, allowing for correction of target programs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If programs allocate memory for data storage during execution, then memory availability for programs is improved, but memory leaks occur when memory is not properly deallocated leading to reduced memory availability

Engineering Contradiction:
Improvememory availabilityVSAvoidmemory management reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements a feedback mechanism by continuously monitoring memory allocation and deallocation operations. The system tracks memory usage patterns, identifies potential leaks through analysis of allocation histories, and provides feedback to developers about memory management issues. This closed-loop approach enables detection and correction of memory leaks while maintaining proper memory availability for program execution.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary memory analysis system that sits between the program and the memory management infrastructure. This intermediary component intercepts memory allocation and deallocation requests, analyzes them for potential leaks, and provides corrective actions without disrupting the normal memory operation. The intermediary acts as a mediator that preserves both memory availability and management reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If memory is allocated to programs for execution, then program functionality is improved, but system performance decreases when memory leaks accumulate

Engineering Contradiction:
Improveprogram functionalityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by proactively analyzing memory allocation patterns before memory leaks can significantly impact system performance. The system establishes baseline memory usage patterns during normal operation and detects deviations that indicate potential leaks early in their development. This early detection allows for corrective action before performance degradation occurs, maintaining both program functionality and system productivity.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If memory allocation is dynamically managed during program execution, then program flexibility is improved, but detection of memory leaks becomes more difficult

Engineering Contradiction:
Improveprogram flexibilityVSAvoidmemory leak detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements comprehensive feedback mechanisms that continuously monitor dynamic memory operations. The system tracks each allocation and deallocation event, maintains histories of memory usage patterns, and provides real-time feedback about potential leaks. This continuous monitoring capability enables effective detection of memory leaks even in dynamically managed memory environments, preserving both program flexibility and detectability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent creates copies of memory allocation metadata and usage patterns for analysis purposes. By maintaining parallel representations of memory state (such as allocation stacks, usage histories, and pattern models), the system can analyze memory behavior without interfering with the actual dynamic memory operations. This copying approach enables leak detection while preserving program flexibility.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9262251B1Detecting memory failures in computing systems
Publication Date: 2016.02.16 AMAZON TECH INC
  • US9262251B1 patent drawing
  • US9262251B1 patent drawing
  • US9262251B1 patent drawing

AI summary

Systems and methods for the analysis of memory information of a computing device are provided. One or more user computing devices may transmit memory information to a memory analysis system. The memory analysis system may generate a weighted object graph based on the received memory information, and identify subgraphs to inspect for potential memory use patterns. If such patterns are common in an identified subgraph, they may indicate a potential memory leak. The memory analysis system may further analyze a larger portion of the weighted object graph based on a detected common pattern. Each detected pattern may be ranked based on the likelihood that it corresponds to a memory leak.