Memory Leak, word which hit your mind whenever a system performs slowly or devices tops working correctly. There occur different issues with different systems / applications due to memory leak.
What is Memory Leak?
Each program or application will use an amount of memory to cache the needed files temporarily. When a program or an application or part of the operating system repeatedly fails to return memory that it has allocated for temporary use causes memory leak.
This can also be referred as gradual loss of available computer memory for a program or application.
This may happen because of not correctly managing the memory allocated to that particular program. May also occurs when a program or application is frequently opened or called or runs continuously.
Let us see this in a form of example.
An application is having two modules supposed to be “A” and “B”.
Module “A” is supposed to collect data and process all financial transitions for that particular hour and provide consolidated result to Module “B”.
For performing that task module “A” will use particular temporary memory allocated for “A”.
Once “A” performed the task it should release the memory to perform task for next hour. But “A” did not released memory which causes in hanging up of “A” to perform its next task. So “B” will not get needed data to perform its task.
Also check Lift example at
This issue may cause huge loss to that financial organization until the system is rebooted to clear the memory.
Yes, this is a bug which may be a result of a programming error. Symptoms are reduced performance or termination or failure.
Most of the times remedy for memory leak is rebooting the whole system. So impacts may be severe. For ex., in business application or automotive systems we cannot easily restart the system as impact may be severe.
Memory Leak Testing
Memory leak testing is an important aspect of non functional software testing process but often it is ignored during the various testing phases.
Memory leak detection is a challenging task because it is not easy to isolate and reproduce.
Whether it is a Memory Leak?
Constantly increasing memory usage is not necessarily evidence of this problem. Some applications will use
large amounts of information in memory (e.g. as a cache). If the cache grows as large as the memory cannot accumulate it cause problems.
As we already seen that this can be a programming error, but not all times. Programmer allocated a reasonable amount of memory for a program to cache its files based on lot of factors. But sometimes an unreasonable amount of data is cached causing problem.