{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,29]],"date-time":"2025-10-29T03:36:16Z","timestamp":1761708976135},"reference-count":36,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2014,10,1]],"date-time":"2014-10-01T00:00:00Z","timestamp":1412121600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"funder":[{"DOI":"10.13039\/501100008530","name":"European Regional Development Fund","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100008530","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2014,10]]},"DOI":"10.1016\/j.jss.2014.06.005","type":"journal-article","created":{"date-parts":[[2014,6,11]],"date-time":"2014-06-11T16:55:49Z","timestamp":1402505749000},"page":"139-151","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":15,"special_numbering":"C","title":["Memory leak detection in Java: Taxonomy and classification of approaches"],"prefix":"10.1016","volume":"96","author":[{"given":"Vladimir","family":"\u0160or","sequence":"first","affiliation":[]},{"given":"Satish Narayana","family":"Srirama","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2014.06.005_bib0005","series-title":"ASPLOS '06","article-title":"Bell: bit-encoding online memory leak detection","author":"Bond","year":"2006"},{"key":"10.1016\/j.jss.2014.06.005_bib0010","series-title":"OOPSLA\u201908","article-title":"Tolerating memory leaks","author":"Bond","year":"2008"},{"key":"10.1016\/j.jss.2014.06.005_bib0015","series-title":"ASPLOS\u201909","article-title":"Leak pruning","author":"Bond","year":"2009"},{"key":"10.1016\/j.jss.2014.06.005_bib0020","unstructured":"Boost c++ libraries (2013). URL http:\/\/www.boost.org\/."},{"key":"10.1016\/j.jss.2014.06.005_bib0025","series-title":"Integrated Network Management, 2007. IM '07. 10th IFIP\/IEEE International Symposium on","first-page":"169","article-title":"Panacea towards a self-healing development framework","author":"Breitgand","year":"2007"},{"key":"10.1016\/j.jss.2014.06.005_bib0030","series-title":"Computer Software and Applications Conference, 2007. COMPSAC 2007. 31st Annual International, vol. 2","first-page":"23","article-title":"Aspect-based instrumentation for locating memory leaks in java programs","author":"Chen","year":"2007"},{"key":"10.1016\/j.jss.2014.06.005_bib0035","series-title":"11th Int. Conf. on Architectural Support for Programming Languages and Operating Systems","first-page":"156","article-title":"Low-overhead memory leak detection using adaptive statistical profiling","author":"Chilimbi","year":"2004"},{"key":"10.1016\/j.jss.2014.06.005_bib0040","series-title":"ECOOP\u2019 99 \u2013 Object-Oriented Programming, Vol. 1628 of Lecture Notes in Computer Science","article-title":"Visualizing reference patterns for solving memory leaks in java","author":"De Pauw","year":"1999"},{"key":"10.1016\/j.jss.2014.06.005_bib0045","series-title":"Fundamental Approaches to Software Engineering, Vol. 6013 of Lecture Notes in Computer Science","first-page":"278","article-title":"Memory leaks detection in java by bi-abductive inference","author":"Distefano","year":"2010"},{"key":"10.1016\/j.jss.2014.06.005_bib0050","series-title":"Aspectj home page","author":"Eclipse Foundation","year":"2013"},{"key":"10.1016\/j.jss.2014.06.005_bib0055","series-title":"Java theory and practice: Plugging memory leaks with weak references","author":"Goetz","year":"2005"},{"key":"10.1016\/j.jss.2014.06.005_bib0060","series-title":"Fourth International Workshop on Software Quality Assurance: In Conjunction with the 6th ESEC\/FSE Joint Meeting, SOQUA '07","first-page":"1","article-title":"Can self-healing software cope with loitering?","author":"Goldstein","year":"2007"},{"key":"10.1016\/j.jss.2014.06.005_bib0065","series-title":"Cork: Dynamic memory leak detection for java, technical report tr-06-07, Tech. Rep.","author":"Jump","year":"2006"},{"key":"10.1016\/j.jss.2014.06.005_bib0070","series-title":"34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '07)","first-page":"31","article-title":"Cork: dynamic memory leak detection for garbage-collected languages","author":"Jump","year":"2007"},{"key":"10.1016\/j.jss.2014.06.005_bib0075","series-title":"ECOOP\u201997\u2013Object-Oriented Programming","first-page":"220","article-title":"Aspect-oriented programming","author":"Kiczales","year":"1997"},{"issue":"1","key":"10.1016\/j.jss.2014.06.005_bib0080","doi-asserted-by":"crossref","first-page":"121","DOI":"10.1145\/357062.357071","article-title":"A fast algorithm for finding dominators in a flowgraph","volume":"1","author":"Lengauer","year":"1979","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"10.1016\/j.jss.2014.06.005_bib0085","series-title":"KDD","first-page":"115","article-title":"Diagnosing memory leaks using graph mining on heap dumps","author":"Maxwell","year":"2010"},{"key":"10.1016\/j.jss.2014.06.005_bib0090","series-title":"ECOOP'03","article-title":"Leakbot: An automated and lightweight tool for diagnosing memory leaks in large java applications","author":"Mitchell","year":"2003"},{"key":"10.1016\/j.jss.2014.06.005_bib0095","series-title":"java.lang.ref package summary","author":"Oracle Corp.","year":"2013"},{"key":"10.1016\/j.jss.2014.06.005_bib0100","series-title":"28th IEEE International Conference on Software Maintenance (ICSM)","article-title":"Inferring weak references for fixing java memory leaks","author":"Qian","year":"2012"},{"key":"10.1016\/j.jss.2014.06.005_bib0105","series-title":"Proceedings of the 22nd IEEE\/ACM International Conference on Automated Software Engineering, ASE '07","first-page":"194","article-title":"Object ownership profiling: a technique for finding and fixing memory leaks","author":"Rayside","year":"2007"},{"key":"10.1016\/j.jss.2014.06.005_bib0110","series-title":"Proceedings of the 2006 International Workshop on Dynamic Systems Analysis, WODA '06","first-page":"57","article-title":"A dynamic analysis for revealing object ownership and sharing","author":"Rayside","year":"2006"},{"key":"10.1016\/j.jss.2014.06.005_bib0115","series-title":"VISSOFT '09","article-title":"Visualizing the java heap to detect memory problems","author":"Reiss","year":"2009"},{"key":"10.1016\/j.jss.2014.06.005_bib0120","series-title":"Compiler Construction, Vol. 1781 of Lecture Notes in Computer Science","first-page":"50","article-title":"Automatic removal of array memory leaks in java","author":"Shaham","year":"2000"},{"key":"10.1016\/j.jss.2014.06.005_bib0125","series-title":"First International Conference on Cloud Computing and Services Science (CLOSER 2011)","first-page":"623","article-title":"A statistical approach for identifying memory leaks in cloud applications","author":"\u0160or","year":"2011"},{"key":"10.1016\/j.jss.2014.06.005_bib0130","article-title":"Memory leak detection in plumbr","author":"\u0160or","year":"2014","journal-title":"Softw.: Pract. Exp."},{"key":"10.1016\/j.jss.2014.06.005_bib0135","series-title":"On the Move to Meaningful Internet Systems: OTM 2011, Vol. 7045, Part II of Lecture Notes in Computer Science","first-page":"635","article-title":"Automated statistical approach for memory leak detection: Case studies","author":"\u0160or","year":"2011"},{"key":"10.1016\/j.jss.2014.06.005_bib0140","series-title":"29th IEEE International Conference on Software Maintenance (ICSM)","first-page":"544","article-title":"Improving statistical approach for memory leak detection using machine learning","author":"\u0160or","year":"2013"},{"key":"10.1016\/j.jss.2014.06.005_bib0145","series-title":"USENIX 2008 Annual Technical Conference on Annual Technical Conference","first-page":"307","article-title":"Leaksurvivor: towards safely tolerating memory leaks for garbage-collected languages","author":"Tang","year":"2008"},{"key":"10.1016\/j.jss.2014.06.005_bib0150","series-title":"The eclipse memory analyzer","author":"The Eclipse Foundation","year":"2011"},{"key":"10.1016\/j.jss.2014.06.005_bib0155","series-title":"The Jikes RVM Project, Home page","year":"2013"},{"key":"10.1016\/j.jss.2014.06.005_bib0160","series-title":"Tiobe programming community index for february 2013","author":"Tiobe Software BV","year":"2013"},{"key":"10.1016\/j.jss.2014.06.005_bib0165","series-title":"Software Engineering, 2008. ICSE '08. ACM\/IEEE 30th International Conference on","first-page":"151","article-title":"Precise memory leak detection for java software using container profiling","author":"Xu","year":"2008"},{"issue":"3","key":"10.1016\/j.jss.2014.06.005_bib0170","doi-asserted-by":"crossref","first-page":"17:1","DOI":"10.1145\/2491509.2491511","article-title":"Precise memory leak detection for java software using container profiling","volume":"22","author":"Xu","year":"2013","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2014.06.005_bib0175","series-title":"ACM SIGPLAN Conference on Programming Language Design and Implementation","article-title":"Leakchaser: Helping programmers narrow down causes of memory leaks","author":"Xu","year":"2011"},{"key":"10.1016\/j.jss.2014.06.005_bib0180","series-title":"IEEE\/ACM International Conference on Code Generation and Optimization","article-title":"Leakchecker: Practical static memory leak detection for managed languages","author":"Yan","year":"2014"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121214001423?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121214001423?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2020,5,12]],"date-time":"2020-05-12T00:38:57Z","timestamp":1589243937000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121214001423"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,10]]},"references-count":36,"alternative-id":["S0164121214001423"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2014.06.005","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2014,10]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Memory leak detection in Java: Taxonomy and classification of approaches","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2014.06.005","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2014 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}