System-Wide Memory Leak Detection via Administrative Client
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory leaks in multi-process environments go undetected, leading to reduced system memory availability and potential system crashes, especially in embedded systems where inter-process communication can cause memory leaks across processes.
Innovation Solution
An administrative client transmits commands to multiple processes to track and compare memory allocations before and after a test case, generating a list of potential memory leaks by identifying differences in system-wide memory allocations, using a custom memory tracking library that overrides standard allocation and deallocation APIs with user-defined tags.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If memory allocation tracking is implemented at the process level, then memory leak detection capability is improved, but detection coverage deteriorates due to inter-process communication hiding leaks
Solution Approach 1:
The patent merges memory tracking across multiple processes by having an administrative client collect memory allocation data from all processes and combine them into a unified system-wide memory allocation view. This allows detection of memory leaks that occur due to inter-process communication by aggregating individual process memory states into a comprehensive system-level assessment.
2Adaptability or versatility
If system-wide memory tracking is implemented, then detection coverage is improved, but system complexity increases
Solution Approach 1:
The patent introduces an administrative client as an intermediary component that mediates between individual processes and the memory leak detection system. The administrative client collects memory allocation information from all processes, combines it into system-wide memory allocations, and performs comparison operations, thereby simplifying the overall system architecture while achieving comprehensive coverage.
3Measurement precision
If memory tracking is performed before and after test cases, then memory leak identification accuracy is improved, but time consumption increases
Solution Approach 1:
The patent performs preliminary memory allocation tracking before executing test cases to establish a baseline system-wide memory state. By capturing memory allocations before and after test execution, the system can accurately identify memory leaks introduced by specific test cases while reusing the pre-captured baseline data, thereby reducing redundant tracking operations and time consumption.
Data Source
AI summary
A method for detecting memory leaks with an administrative client begins by transmitting to all of the processes running on at least one computing device, a first command to return memory track information. The administrative client receives memory track information from each of the processes, and combines them into a first system wide memory allocation. The administrative client transmits an instruction to run a test case process, and then transmits, to each of the processes, a second command to return memory track information. The administrative client receives the second set of memory track information and combines it to generate a second system wide memory allocation. To generate a list of potential memory leaks originating from the test case process, the administrative client compares the first system wide memory allocation with the second system wide memory allocation.


