Memory Error Detection via Block Indication Variables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for detecting memory errors in software development are costly and time-consuming, often failing to detect errors until runtime, leading to potential fatal errors and significant losses.
Innovation Solution
A method that generates original block indication variables to track memory regions, performs checks using target block indication variables before memory access or freeing, and outputs detected errors, employing techniques like bit map coloring to identify out-of-bound and invalid memory access issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional manual debugging and testing methods are used to detect memory errors, then detection thoroughness may be improved, but development time and cost increase significantly
Solution Approach 1:
The patent applies preliminary action by inserting error detection code into the program source code during the programming stage. This detection code automatically checks for memory errors (such as null pointer access, out-of-bound access, and invalid memory freeing) before they occur at runtime. By performing error detection in advance through automated code instrumentation rather than manual debugging, the system achieves thorough memory error detection while significantly reducing development time and cost.
2Measurement precision
If traditional manual debugging methods are used, then detailed error analysis may be achieved, but the cost and time required increase substantially
Solution Approach 1:
The patent applies self-service by implementing automated error detection mechanisms that operate independently without requiring manual intervention. The detection code automatically identifies memory errors such as null pointer access, out-of-bound access, and invalid memory freeing operations. This automated approach maintains high error detection accuracy while eliminating the need for expensive and time-consuming manual debugging processes, thereby reducing development costs.
3Productivity
If memory errors are not detected during programming, then development speed is maintained, but fatal errors occur at runtime causing significant losses
Solution Approach 1:
The patent applies preliminary action by instrumenting the program source code with error detection capabilities during the programming phase. This allows memory errors to be detected and flagged before runtime execution, maintaining development speed while preventing fatal runtime errors. The detection code checks for various memory error conditions proactively, ensuring that issues are identified and can be corrected during development rather than causing losses at runtime.
Data Source
AI summary
A method for easily detecting a memory error that may occur when a memory is accessed or an allocated memory is freed in the process of developing software is disclosed. The memory error detecting method includes: (a) generating an original block indication variable for indicating a starting memory block of a memory region allocated with respect to a variable included in a computer program; (b) detecting a memory error that may occur when the allocated memory region is accessed, by performing a certain operation (computing or arithmetic operation), before the allocated memory region is accessed, using a target block indication variable indicating memory block to be accessed in the allocated memory region and/or the original block indication variable; and (c) outputting information about a detected memory error.


