Automatic Memory Leak Detection via Dynamic Linker Hooks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory leaks in complex software systems are difficult to detect and can lead to system unavailability, as existing tools either fail to identify runtime leaks or add significant overhead, making them unsuitable for quality assurance testing or customer use.

Innovation Solution

A system and method for automatic memory leak detection that collects memory usage data, performs trend analysis using linear regression, and generates notifications and recommendations for user identities, with low overhead and the ability to run continuously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If runtime tools are used to detect memory leaks for specific software components, then memory leak detection capability is improved, but system overhead becomes too high to be useful during QA testing and at customer sites

Engineering Contradiction:
Improvememory leak detection capabilityVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent introduces an intermediary mechanism that hooks into the dynamic linker/loader to intercept library loading events. This intermediary captures memory allocation information at the source without requiring instrumentation of the entire application, thereby maintaining detection capability while minimizing overhead on the running system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by setting up detection hooks during the library loading phase, before the application fully executes. By capturing memory allocation patterns early in the runtime lifecycle, the system establishes a baseline that enables continuous monitoring without adding significant overhead during normal operation.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If manual identification of key processes is performed to isolate memory leaks, then detection accuracy is improved, but time consumption and operational complexity increase

Engineering Contradiction:
Improvememory leak isolation accuracyVSAvoidtime to identify and isolate leaks
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service by automatically attributing memory leaks to specific third-party libraries and software components without requiring manual intervention. The dynamic linker hooks automatically capture and report memory allocation information, allowing the system to identify and isolate leaks autonomously based on predefined severity thresholds.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms that continuously monitor memory allocation patterns and provide real-time information about potential leaks. This feedback loop automatically correlates memory usage with specific library loading events, enabling rapid isolation of problematic components without manual analysis.

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If static analysis tools are used to check application code at build time, then compilation-time error detection is improved, but runtime memory leaks during error conditions are not detected

Engineering Contradiction:
Improvecode quality at build timeVSAvoidruntime leak detection under error conditions
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The system ensures continuity of useful action by maintaining memory leak detection throughout the entire runtime lifecycle, including error conditions. Unlike static analysis that stops at build time, this approach continuously monitors memory allocations even when the application encounters errors or abnormal execution paths, ensuring comprehensive coverage.

Inventive Principle:
Principle #20Continuity of useful action

4Adaptability or versatility

If monitoring tools examine all user space processes to detect memory leaks, then comprehensive detection coverage is improved, but system performance and operational simplicity deteriorate

Engineering Contradiction:
Improvedetection coverage scopeVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the essential detection function by focusing specifically on third-party library memory allocations rather than monitoring all user space processes. By using dynamic linker hooks to intercept only library loading events, the system achieves comprehensive coverage for the most common leak sources while maintaining system performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12292817B2Automatic memory leak detection
Publication Date: 2025.05.06 DELL PROD LP
  • US12292817B2 patent drawing
  • US12292817B2 patent drawing
  • US12292817B2 patent drawing

AI summary

Automatic memory leak detection is presented herein. An example method comprises, receiving, into a data slot of a defined data structure, a flow of memory usage data sent by a resource monitoring process operational on the system, in response to determining a time value exceeding a defined threshold time value, closing the data slot, based on the memory usage data included in the data slot, executing a trend analysis process using the memory usage data as an input to the trend analysis process, and in response to the trend analysis process determining a trend associated with the memory usage data, transmitting notification data representing the trend and recommendation data representing a suggestion to reverse the trend to a user equipment.