A memory leak is a common software vulnerability that will lead to performance degradation of the software or crash or both. A Memory leak is one typical cause of software aging. The phenomenon of memory leaks usually occurs in C/C++ because programmers need to manage memory by themselves when programs run. However, many think that Java does not suffer from memory leaks since Java provides automatic garbage collection. Actually, Java programs will run out of memory unexpectedly after executing for a long time. The reason for Java memory leaks is that reachable objects are no longer needed. These objects should be reclaimed but they can¡¦t because they are still referenced.
This thesis introduces a method for filtering the leaked objects in Java memory leak programs. First, we monitor the heap growth after each full garbage collection and the
numbers of full garbage collection to identify programs that might have potential memory management problems. Second, we periodically keep track of growth trend of each object of problematic programs and filter out the suspected one by time series analysis. Finally, we execute the program blocks that include objects that we find out to see if the program will run out of memory eventually. The method has been implemented and has been verified successful by four Java memory leak programs.
Identifer | oai:union.ndltd.org:NSYSU/oai:NSYSU:etd-0723107-154522 |
Date | 23 July 2007 |
Creators | Huang, Chih-Hung |
Contributors | Ching-Seh Wu, Bing-Chiang Jeng, Chih-Ping Chu, Chen Chia Mei |
Publisher | NSYSU |
Source Sets | NSYSU Electronic Thesis and Dissertation Archive |
Language | Cholon |
Detected Language | English |
Type | text |
Format | application/pdf |
Source | http://etd.lib.nsysu.edu.tw/ETD-db/ETD-search/view_etd?URN=etd-0723107-154522 |
Rights | campus_withheld, Copyright information available at source archive |
Page generated in 0.0018 seconds