Everything about Memory leak
When a computer program fails to release unnecessary memory
In computer science, a memory leak is a type of resource leak that occurs when a computer program incorrectly manages memory allocations in a way that memory which is no longer needed is not released. A memory leak may also happen when an object is stored in memory but cannot be accessed by the running code. A memory leak has symptoms similar to a number of other problems and generally can only be diagnosed by a programmer with access to the program's source code. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Memory leakA 5-minute orientation
- Skim a recent paper: Application of long short-term memory recurrent neural networks for localisation of leak source using 3D computational fluid dynamicsInfluential work since 2022
- Pick up a classic book: Clarissa; or, The history of a young lady: comprehending the most important concerns of private life; and particularly shewing the distresses that may attend the misconduct both of parents and children, in relation to marriage ..The most-reprinted book on the subject
- Read the landmark paper: Memory leak analysis of mission-critical middlewareCited 36 times
- Go sideways: Unreachable memoryA closely related topic
- Go sideways: Resource acquisition is initializationA closely related topic
📖 Definitions
Noun Any of several faults in the memory allocation logic of a computer or program whereby parts of memory become hidden or unusable.
🏆 Landmark papers (most cited)
Memory leak analysis of mission-critical middleware
Memory and resource leak defects and their repairs in Java projects
Low-overhead memory leak detection using adaptive statistical profiling
Precise memory leak detection for java software using container profiling
Context- and path-sensitive memory leak detection
Melton: a practical and precise memory leak detection tool for C programs
A practical flow-sensitive and context-sensitive C and C++ memory leak detector
Practical memory leak detection using guarded value-flow analysis
🆕 Influential since 2022
Application of long short-term memory recurrent neural networks for localisation of leak source using 3D computational fluid dynamics
Combining Static Analysis With Directed Symbolic Execution for Scalable and Accurate Memory Leak Detection
AddressWatcher: Sanitizer-Based Localization of Memory Leak Fixes
MLD: An Intelligent Memory Leak Detection Scheme Based on Defect Modes in Software
Efficient and linear static approach for finding the memory leak in C
📚 Books worth reading
Clarissa; or, The history of a young lady: comprehending the most important concerns of private life; and particularly shewing the distresses that may attend the misconduct both of parents and children, in relation to marriage ..Samuel Richardson · 1748
A short treatise on the game of whistEdmond Hoyle · 1742
The Conspirators HierarchyJohn Coleman · 1992
Memorials of ShrewsburyHenry Pidgeon · 1837
Professional iPhone and iPad Application DevelopmentGene Backlin · 2010
Real World HaskellBryan O'Sullivan, John Goerzen · 2008
Memory LeakTrevor Schmidt · 2011- 📕The Christian sacrificePatrick, Simon Bishop · 1701
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Unreachable memory In computer science and programming, unreachable memory is a block of dynamically allocated memory where the program that allocated the memory no longer…
- Resource acquisition is initialization Resource acquisition is initialization (RAII) is a programming idiom used in several object-oriented, statically typed programming languages to describe…
- Garbage collection (computer science) In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim memory that was allocated…
- Comparison of Java and C++ Java and C++ are two prominent object-oriented programming languages. By many language popularity metrics, the two languages have dominated object-oriented…
- Garbage (computer science) In computer science, garbage includes data, objects, or other regions of the memory of a computer system (or other system resources), which will not be…
- Weak reference In computer programming, a weak reference is a reference that does not protect the referenced object from collection by a garbage collector, unlike a strong…
- Manual memory management In computer science, manual memory management refers to the usage of manual instructions by the programmer to identify and deallocate unused objects, or…
- Resource management (computing) In computer programming, resource management refers to techniques for managing resources (components with limited availability). Computer programs may…