Memory Leak Detection via Periodic Profile Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory leaks in computer applications lead to reduced available memory and degraded system performance, particularly detrimental in mobile devices with limited memory capacity, as applications fail to release allocated memory, causing inefficiencies and potential thrashing.

Innovation Solution

A system and method for detecting memory leaks by periodically receiving and analyzing memory use reports from user devices, generating memory profiles, and identifying patterns indicative of leaks, including the use of memory heap dumps to pinpoint the source of the issue, allowing for timely intervention and code correction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory allocations are continuously made without proper release, then applications can maintain operational state and functionality, but available memory decreases and system performance degrades

Engineering Contradiction:
Improveapplication functionalityVSAvoidavailable memory
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system implements automatic feedback mechanisms by monitoring memory allocation patterns and detecting leaks through analysis of memory usage reports. The leak detection system continuously observes memory behavior and provides feedback to identify applications that are not properly releasing allocations, enabling corrective action before system performance degrades.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The memory leak detection system operates autonomously by automatically collecting memory usage data, analyzing allocation patterns, identifying leaks without manual intervention, and generating reports. This self-service approach allows the system to monitor and diagnose memory issues while applications continue to operate, resolving the contradiction between maintaining functionality and preserving memory resources.

Inventive Principle:
Principle #25Self-service

2Loss of time

If memory leak detection is implemented through continuous monitoring, then memory leaks can be identified early, but system resources are consumed by the monitoring process

Engineering Contradiction:
Improvedetection timeVSAvoidsystem resources
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The system employs periodic monitoring where memory usage reports are collected at predetermined time intervals rather than continuously. This periodic action allows the system to detect memory leaks over time while consuming minimal system resources during the monitoring process, balancing early detection with resource conservation.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The leak detection system performs partial monitoring by focusing analysis on specific memory allocation patterns and only intensifying monitoring when anomalies are detected. This approach enables timely leak identification while avoiding excessive resource consumption during normal operation, implementing monitoring at the appropriate level of intensity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9760464B1Memory leak detection
Publication Date: 2017.09.12 AMAZON TECH INC
  • US9760464B1 patent drawing
  • US9760464B1 patent drawing
  • US9760464B1 patent drawing

AI summary

A leak detection system may be configured to receive a plurality of memory use reports periodically from a user device. The memory use reports may include an indication of memory that may be used and/or allocated by/to a particular process, such as a process that may currently be running on the user device. The memory use report may further provide a relatively granular view of the allocation of memory associated with the process, such as by type of memory and/or category of memory associated with the process. The leak detection system may use the plurality of memory use reports to generate a memory profile associated with the process and particular memory types and/or categories of memory allocation. By analyzing the memory profiles, the leak detection system may be configured to identify a memory leak associated with the process on the user device.