Selective self-healing of memory errors using allocation location information
First Claim
1. A system, comprising:
- a processor; and
memory coupled to the processor;
wherein the memory stores program instructions executable by the processor to;
store an error record in a database corresponding to a memory management error detected during an execution of an application, wherein the memory management error is associated with an object allocated during the execution, wherein the error record identifies an allocation location within the application at which the object was allocated;
identify, using the error record, at least one memory operation in the application performed on an other object allocated from the allocation location identified in the error record; and
perform at least one memory protection operation corresponding to the at least one memory operation identified using the error record.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for selective self-healing of memory errors comprises a processor coupled to a memory, where the memory stores instructions executable by the processor to store an error record for each memory management error detected during an execution of the application. The error record identifies an allocation location (e.g., a portion of a stack trace corresponding to the invocation of a memory allocation function such as malloc( )) of an object associated with the memory management error. The instructions are executable to use the error record to identify, during subsequent execution, memory operations performed on objects allocated from the allocation location, and to perform corresponding memory protection operations (e.g., operations to prevent re-occurrences of the memory errors) for the memory operations identified using the error record.
74 Citations
25 Claims
-
1. A system, comprising:
-
a processor; and memory coupled to the processor; wherein the memory stores program instructions executable by the processor to; store an error record in a database corresponding to a memory management error detected during an execution of an application, wherein the memory management error is associated with an object allocated during the execution, wherein the error record identifies an allocation location within the application at which the object was allocated; identify, using the error record, at least one memory operation in the application performed on an other object allocated from the allocation location identified in the error record; and perform at least one memory protection operation corresponding to the at least one memory operation identified using the error record. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
wherein the at least one memory operation is identified during the different execution using the persistent data structure.
-
-
13. The system as recited in claim 1, wherein the execution of the application comprises an invocation of one or more functions of a shared library, wherein the allocation location is within a function of the shared library.
-
14. A computer-implemented method, comprising:
-
storing an error record in a database corresponding to a memory management error detected during an execution of an application, wherein the memory management error is associated with an object allocated during the execution, wherein the error record identifies an allocation location within the application at which the object was allocated; identifying, using the error record, at least one memory operation in the application performed on an other object allocated from the allocation location identified in the error record; and performing at least one memory protection operation corresponding to the at least one memory operation identified using the error record. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A tangible computer readable medium comprising program instructions, wherein the instructions are computer-executable to:
-
store an error record in a database corresponding to a memory management error detected during an execution of an application, wherein the memory management error is associated with an object allocated during the execution, wherein the error record identifies an allocation location within the application at which the object was allocated; identify, using the error record, at least one memory operation in the application performed on an other object allocated from the allocation location identified in the error record; and perform at least one memory protection operation corresponding to the at least one memory operation identified using the error record. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification