dc.contributor.advisor | 陳恭 | zh_TW |
dc.contributor.advisor | Chen,Kung | en_US |
dc.contributor.author (Authors) | 陳鉅秉 | zh_TW |
dc.contributor.author (Authors) | Chen,Ju-Bing | en_US |
dc.creator (作者) | 陳鉅秉 | zh_TW |
dc.creator (作者) | Chen,Ju-Bing | en_US |
dc.date (日期) | 2006 | en_US |
dc.date.accessioned | 17-Sep-2009 14:02:02 (UTC+8) | - |
dc.date.available | 17-Sep-2009 14:02:02 (UTC+8) | - |
dc.date.issued (上傳時間) | 17-Sep-2009 14:02:02 (UTC+8) | - |
dc.identifier (Other Identifiers) | G0094753005 | en_US |
dc.identifier.uri (URI) | https://nccur.lib.nccu.edu.tw/handle/140.119/32675 | - |
dc.description (描述) | 碩士 | zh_TW |
dc.description (描述) | 國立政治大學 | zh_TW |
dc.description (描述) | 資訊科學學系 | zh_TW |
dc.description (描述) | 94753005 | zh_TW |
dc.description (描述) | 95 | zh_TW |
dc.description.abstract (摘要) | Despite the built-in garbage collector, Java programs can still suffer the memory leak problem resulted from the unhealthy programming style of retaining unwanted references. This paper presents an aspect-based tool for assisting programmers in locating such references to fix the problem. This tool, FindLeaks, utilizes an aspect to collect memory consumption statistics and object references created during a program’s execution and analyzes them for detecting memory leaks. The distinctive feature of FindLeaks is that it reports not only suspected classes of leaked objects but also where in the source the unwanted references were created. Besides, this paper also reports our experience with FindLeaks on three open source Java programs and how we enhanced it to lower its overhead. | en_US |
dc.description.tableofcontents | 1. Introduction 52. Related Work 93. Technical Background: AOP and AspectJ 114. Design and Implementation of FindLeaks 144.1.Motivation and Overview 144.2.Profiling Aspect 164.2.1. Pointcut Design 164.2.2. Advice and Information Organization 204.2.3. Analysis Module: Identifying Leaks and Locating Unwanted References 235. Evaluation 295.1.Locating Memory Leaks 295.1.1. The first case: AgroUML 305.1.2. The second case: Azureus 315.1.3. The third case: RSSOwl 315.2.Overhead Results and Improvements 346. Conclusion and Future Work 387. References 40 | zh_TW |
dc.format.extent | 163154 bytes | - |
dc.format.extent | 65510 bytes | - |
dc.format.extent | 16302 bytes | - |
dc.format.extent | 76741 bytes | - |
dc.format.extent | 63478 bytes | - |
dc.format.extent | 148444 bytes | - |
dc.format.extent | 70021 bytes | - |
dc.format.extent | 121223 bytes | - |
dc.format.extent | 335389 bytes | - |
dc.format.extent | 237633 bytes | - |
dc.format.extent | 103599 bytes | - |
dc.format.extent | 72250 bytes | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.format.mimetype | application/pdf | - |
dc.language.iso | en_US | - |
dc.source.uri (資料來源) | http://thesis.lib.nccu.edu.tw/record/#G0094753005 | en_US |
dc.subject (關鍵詞) | 記憶體漏失 | zh_TW |
dc.subject (關鍵詞) | 垃圾回收器 | zh_TW |
dc.subject (關鍵詞) | 程式織入 | zh_TW |
dc.subject (關鍵詞) | 剖面導向程式設計 | zh_TW |
dc.subject (關鍵詞) | memory leak | en_US |
dc.subject (關鍵詞) | garbage collection | en_US |
dc.subject (關鍵詞) | code instrumentation | en_US |
dc.subject (關鍵詞) | aspect-oriented programming | en_US |
dc.subject (關鍵詞) | AspectJ | en_US |
dc.title (題名) | 利用剖面織入技術偵測Java程式中的記憶體漏失 | zh_TW |
dc.title (題名) | Aspect-Based Instrumentation for Locating | en_US |
dc.type (資料類型) | thesis | en |
dc.relation.reference (參考文獻) | [1] AgroUML, http://argouml.tigris.org/ | zh_TW |
dc.relation.reference (參考文獻) | [2] AgroUML bug 2352, http://argouml.tigris.org/issues/show_bug.cgi?id=2352 | zh_TW |
dc.relation.reference (參考文獻) | [3] Azureus, http://azureus.sourceforge.net/ | zh_TW |
dc.relation.reference (參考文獻) | [4] D. J. Pearce, M. Webster, R. Berry, P. H. Kelly, “Profiling with AspectJ,” Software: Practice and Experience 2006 | zh_TW |
dc.relation.reference (參考文獻) | [5] G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W.G. Griswold, “Getting Started with AspectJ”, Communications of ACM, vol. 44, no. 10, pp 59-65, Oct. 2001. AspectJ website: http://www.eclipse.org/aspectj/ | zh_TW |
dc.relation.reference (參考文獻) | [6] Jikes RVM, http://jikesrvm.org/ | zh_TW |
dc.relation.reference (參考文獻) | [7] K. Chen and C. H. Chien, “Extending the Field Access Pointcuts of AspectJ to Arrays”, Proc. International Computer Symposium, Taipei, Taiwan, Dec. 2006. | zh_TW |
dc.relation.reference (參考文獻) | [8] L. Slipp, “Loitering Objects and Java Framework Design,” JavaReport, Vol. 6, No. 1, 2001. | zh_TW |
dc.relation.reference (參考文獻) | [9] M. Bond and K. S. McKinley, “Bell: Bit-Encoding Online Memory Leak Detection,” in Proceedings of The Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2006, pp. 61–72. | zh_TW |
dc.relation.reference (參考文獻) | [10] M. Jump and K. S. McKinl, “Cork: dynamic memory leak detection for garbage-collected languages “, in Proceedings of the POPL Conference, 2007, pp. 31-38. | zh_TW |
dc.relation.reference (參考文獻) | [11] N. Mitchell and G. Sevitsky, “LeakBot: An Automated and Lightweight Tool for Diagnosing Memory Leaks in Large Java Application ,” in Proceedings of European Conference on Object-Oriented Programming (ECOOP), 2003, LNCS 2743, pp. 351-377. | zh_TW |
dc.relation.reference (參考文獻) | [12] NIST/SEMATECH e-Handbook of Statistical Methods, http://www.itl.nist.gov/div898/handbook/ | zh_TW |
dc.relation.reference (參考文獻) | [13] O. Agesen and A. Garthwaite, “Efficient Object Sampling Via Weak References”, ACM SIGPLAN Notices, 2001. | zh_TW |
dc.relation.reference (參考文獻) | [14] P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, J. Lhot’ak, O. Lhot’ak, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. “abc: An extensible AspectJ compiler”, Procs. of the 4th International conference on Aspect-Oriented Software Development (AOSD 2005), Chicago, USA, pp. 87-98, 2005. | zh_TW |
dc.relation.reference (參考文獻) | [15] ReferenceIdentityMap, http://sourceforge.net/projects/collections/ | zh_TW |
dc.relation.reference (參考文獻) | [16] RSSOwl: a Java RSS/RDF/Atom Newsreader, http://www.rssowl.org/ | zh_TW |
dc.relation.reference (參考文獻) | [17] W. D. Pauw and G. Sevitsky, “Visualizing Reference Patterns for Solving Memory Leaks in Java,” Concurrency: Practice and Experience, Volume 12, Issue 14, 2000, pp. 1431–1454. | zh_TW |
dc.relation.reference (參考文獻) | [18] WeakReferences, http://java.sun.com/javase/6/docs/api/java/lang/ref/WeakReference.html | zh_TW |