Memory Verification Tool Intercepting Allocation Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory corruption issues in applications due to improper use of virtual memory, which existing memory debuggers often fail to address efficiently without consuming excessive physical memory resources, especially when dealing with larger applications.

Innovation Solution

A computing system that allocates a virtual address space for memory verification tools to form a memory pool with protectable slots, intercepts memory allocation requests, and manages memory allocation and deallocation to detect memory corruption without consuming large amounts of physical memory by using a memory verification tool that pre-allocates virtual memory addresses and sets protections to detect unauthorized access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory debuggers keep virtual memory addresses as placeholders to detect memory corruption, then memory verification capability is improved, but physical memory consumption increases rapidly

Engineering Contradiction:
Improvememory verification capabilityVSAvoidphysical memory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the memory verification function from traditional debuggers that hold all addresses as placeholders. Instead, it creates a selective verification system that only reserves physical memory for addresses that are actually allocated to the application, separating verification capability from continuous physical memory occupation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the state of virtual memory addresses from a static placeholder state to a dynamic state where addresses are only physically allocated when needed for actual application use. This transforms the memory management approach from conservative reservation to demand-based allocation.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If memory debuggers never release virtual memory address allocations, then memory corruption detection is improved, but available physical memory decreases

Engineering Contradiction:
Improvememory corruption detectionVSAvoidavailable physical memory
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic memory release mechanisms where the memory verification system automatically releases physical memory when virtual memory addresses are no longer in use by the application. This dynamic behavior allows the system to maintain verification capability while adapting to changing memory needs and releasing resources when appropriate.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback loops that monitor application memory usage patterns and automatically adjust physical memory allocation accordingly. When addresses are freed or no longer accessed, the system receives feedback and releases the corresponding physical memory, creating a self-regulating memory management system.

Inventive Principle:
Principle #23Feedback

3Reliability

If traditional memory verification tools are used, then memory corruption detection is improved, but the system cannot handle larger applications due to memory constraints

Engineering Contradiction:
Improvememory corruption detectionVSAvoidapplication size handling capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory verification function into modular components that can be applied selectively to different memory regions. Instead of verifying all memory addresses uniformly, it divides the verification process into manageable segments that align with actual application memory allocations, enabling verification of larger applications within available physical memory constraints.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9983914B2Memory corruption protection by tracing memory
Publication Date: 2018.05.29 SIEMENS INDUSTRY SOFTWARE INC
  • US9983914B2 patent drawing
  • US9983914B2 patent drawing
  • US9983914B2 patent drawing

AI summary

This application discloses a computing system configured to request that an operating system implemented by the computing system allocate a virtual address space, which is designated for use by an application implemented by the computing system, to a memory verification tool implemented by the computing system. The computing system is configured to utilize the virtual address space to form a memory pool having multiple protectable slots available for allocation to the application. The computing system is further configured to intercept a memory allocation request issued by the application to the operating system of the computing system, and allocate at least one of the protectable slots in the memory pool to the application in response to the intercepted memory allocation request.