{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:33:25Z","timestamp":1750221205931,"version":"3.41.0"},"publisher-location":"New York, New York, USA","reference-count":43,"publisher":"ACM Press","license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100006012","name":"Christian Doppler Forschungsgesellschaft","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100006012","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1145\/3237009.3237023","type":"proceedings-article","created":{"date-parts":[[2018,8,30]],"date-time":"2018-08-30T14:00:37Z","timestamp":1535637637000},"page":"1-13","source":"Crossref","is-referenced-by-count":7,"title":["Utilizing object reference graphs and garbage collection roots to detect memory leaks in offline memory monitoring"],"prefix":"10.1145","author":[{"given":"Markus","family":"Weninger","sequence":"first","affiliation":[{"name":"Johannes Kepler University, Linz, Austria"}]},{"given":"Elias","family":"Gander","sequence":"additional","affiliation":[{"name":"Johannes Kepler University, Linz, Austria"}]},{"given":"Hanspeter","family":"M\u00f6ssenb\u00f6ck","sequence":"additional","affiliation":[{"name":"Johannes Kepler University, Linz, Austria"}]}],"member":"320","reference":[{"key":"key-10.1145\/3237009.3237023-1","doi-asserted-by":"crossref","unstructured":"Edward E. Aftandilian, Sean Kelley, Connor Gramazio, Nathan Ricci, Sara L. Su, and Samuel Z. Guyer. 2010. Heapviz: Interactive Heap Visualization for Program Understanding and Debugging. In Proceedings of the 5th International Symposium on Software Visualization (SOFTVIS '10). ACM, New York, NY, USA, 53--62.","DOI":"10.1145\/1879211.1879222"},{"key":"key-10.1145\/3237009.3237023-2","unstructured":"Stephen Alstrup and Peter W. Lauridsen. 1996. A Simple Dynamic Algorithm for Maintaining a Dominator Tree. Technical Report."},{"key":"key-10.1145\/3237009.3237023-3","unstructured":"Earl T Barr, Christian Bird, and Mark Marron. 2013. Collecting a heap of shapes. In Proceedings of the 2013 International Symposium on Software Testing and Analysis. ACM, 123--133."},{"key":"key-10.1145\/3237009.3237023-4","doi-asserted-by":"crossref","unstructured":"Verena Bitto, Philipp Lengauer, and Hanspeter M&#246;ssenb&#246;ck. 2015. Efficient Rebuilding of Large Java Heaps from Event Traces. In Proc. of the Principles and Practices of Programming on The Java Platform (PPPJ '15). 76--89.","DOI":"10.1145\/2807426.2807433"},{"key":"key-10.1145\/3237009.3237023-5","doi-asserted-by":"crossref","unstructured":"Stephen M Blackburn, Robin Garner, Chris Hoffmann, Asjad M Khang, Kathryn S McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z Guyer, et al. 2006. The DaCapo benchmarks: Java benchmarking development and analysis. In ACM Sigplan Notices, Vol. 41. ACM, 169--190.","DOI":"10.1145\/1167473.1167488"},{"key":"key-10.1145\/3237009.3237023-6","unstructured":"Adriana E Chis, Nick Mitchell, Edith Schonberg, Gary Sevitsky, Patrick O'Sullivan, Trevor Parsons, and John Murphy. 2011. Patterns of memory inefficiency. In European Conference on Object-Oriented Programming. Springer, 383--407."},{"key":"key-10.1145\/3237009.3237023-7","unstructured":"Keith D Cooper, Timothy J Harvey, and Ken Kennedy. 2001. A simple, fast dominance algorithm. Software Practice &#38; Experience 4, 1--10 (2001), 1--8."},{"key":"key-10.1145\/3237009.3237023-8","unstructured":"Diego Costa, Artur Andrzejak, Janos Seboek, and David Lo. [n. d.]. Empirical Study of Usage and Performance of Java Collections. ([n. d.])."},{"key":"key-10.1145\/3237009.3237023-9","unstructured":"Diego Costa and Rivalino Matias Jr. 2015. Characterization of Dynamic Memory Allocations in Real-World Applications: An Experimental Study. In 2015 IEEE 23rd International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems. IEEE, 93--101."},{"key":"key-10.1145\/3237009.3237023-10","doi-asserted-by":"crossref","unstructured":"R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. 1989. An Efficient Method of Computing Static Single Assignment Form. In Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '89). ACM, New York, NY, USA, 25--35.","DOI":"10.1145\/75277.75280"},{"key":"key-10.1145\/3237009.3237023-11","unstructured":"Wim De Pauw, Erik Jensen, Nick Mitchell, GarySevitsky, John Vlissides, and Jeaha Yang. 2002. Visualizing the execution of Java programs. In Software Visualization. Springer, 151--162."},{"key":"key-10.1145\/3237009.3237023-12","unstructured":"Wim De Pauw and Gary Sevitsky. 1999. Visualizing Reference Patterns for Solving Memory Leaks in Java. In ECOOP' 99 --- Object-Oriented Programming, Rachid Guerraoui (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 116--134."},{"key":"key-10.1145\/3237009.3237023-13","doi-asserted-by":"crossref","unstructured":"J. Eve and R Kurki-Suonio. 1977. On computing the transitive closure of a relation. Acta Informatica 8, 4 (oct 1977), 303--314.","DOI":"10.1007\/BF00271339"},{"key":"key-10.1145\/3237009.3237023-14","doi-asserted-by":"crossref","unstructured":"R. Falke, R. Klein, R. Koschke, and J. Quante. 2005. The Dominance Tree in Visualizing Software Dependencies. In 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis. 1--6.","DOI":"10.1109\/VISSOF.2005.1684311"},{"key":"key-10.1145\/3237009.3237023-15","unstructured":"Eclipse Foundation. 2018. Eclipse Memory Analyzer (MAT) (last accessed May 11, 2018). https:\/\/www.eclipse.org\/mat\/. (2018)."},{"key":"key-10.1145\/3237009.3237023-16","doi-asserted-by":"crossref","unstructured":"Mohammadreza Ghanavati, Diego Costa, Artur Andrzejak, and Janos Seboek. 2018. Memory and Resource Leak Defects in Java Projects: An Empirical Study. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings (ICSE '18). ACM, New York, NY, USA, 410--411.","DOI":"10.1145\/3183440.3195032"},{"key":"key-10.1145\/3237009.3237023-17","doi-asserted-by":"crossref","unstructured":"T. Hill, J. Noble, and J. Potter. 2000. Scalable visualisations with ownership trees. In Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000. 202--213.","DOI":"10.1109\/TOOLS.2000.891370"},{"key":"key-10.1145\/3237009.3237023-18","doi-asserted-by":"crossref","unstructured":"Trent Hill, James Noble, and John Potter. 2002. Scalable visualizations of object-oriented systems with ownership trees. Journal of Visual Languages &#38; Computing 13, 3 (2002), 319--339.","DOI":"10.1006\/jvlc.2002.0238"},{"key":"key-10.1145\/3237009.3237023-19","unstructured":"Maria Jump and Kathryn S. McKinley. 2007. Cork: Dynamic Memory Leak Detection for Garbage-collected Languages. In Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '07). ACM, New York, NY, USA, 31--38."},{"key":"key-10.1145\/3237009.3237023-20","doi-asserted-by":"crossref","unstructured":"Donald E. Knuth. 1971. Top-down syntax analysis. Acta Informatica 1, 2 (01 Jun 1971), 79--110.","DOI":"10.1007\/BF00289517"},{"key":"key-10.1145\/3237009.3237023-21","doi-asserted-by":"crossref","unstructured":"Philipp Lengauer, Verena Bitto, Stefan Fitzek, Markus Weninger, and Hanspeter M&#246;ssenb&#246;ck. 2016. Efficient Memory Traces with Full Pointer Information. In Proc. of the 13th Int'l. Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ '16).","DOI":"10.1145\/2972206.2972220"},{"key":"key-10.1145\/3237009.3237023-22","doi-asserted-by":"crossref","unstructured":"Philipp Lengauer, Verena Bitto, and Hanspeter M&#246;ssenb&#246;ck. 2015. Accurate and Efficient Object Tracing for Java Applications. In Proc. of the 6th ACM\/SPEC Int'l. Conference on Performance Engineering (ICPE '15). 51--62.","DOI":"10.1145\/2668930.2688037"},{"key":"key-10.1145\/3237009.3237023-23","doi-asserted-by":"crossref","unstructured":"Philipp Lengauer, Verena Bitto, and Hanspeter M&#246;ssenb&#246;ck. 2016. Efficient and Viable Handling of Large Object Traces. In Proc. of the 7th ACM\/SPEC on Int'l. Conference on Performance Engineering (ICPE '16). 249--260.","DOI":"10.1145\/2851553.2851555"},{"key":"key-10.1145\/3237009.3237023-24","unstructured":"Philipp Lengauer, Verena Bitto, Hanspeter M&#246;ssenb&#246;ck, and Markus Weninger. 2017. A Comprehensive Java Benchmark Study on Memory and Garbage Collection Behavior of DaCapo, DaCapo Scala, and SPECjvm2008. In Proceedings of the 8th ACM\/SPEC on International Conference on Performance Engineering (ICPE '17). ACM, New York, NY, USA, 3--14."},{"key":"key-10.1145\/3237009.3237023-25","doi-asserted-by":"crossref","unstructured":"Thomas Lengauer and Robert Endre Tarjan. 1979. A Fast Algorithm for Finding Dominators in a Flowgraph. ACM Trans. Program. Lang. Syst. 1, 1 (Jan. 1979), 121--141.","DOI":"10.1145\/357062.357071"},{"key":"key-10.1145\/3237009.3237023-26","doi-asserted-by":"crossref","unstructured":"M. Marron, C. Sanchez, Z. Su, and M. Fahndrich. 2013. Abstracting runtime heaps for program understanding. IEEE Transactions on Software Engineering 39, 6 (June 2013), 774--786.","DOI":"10.1109\/TSE.2012.69"},{"key":"key-10.1145\/3237009.3237023-27","doi-asserted-by":"crossref","unstructured":"Nick Mitchell. 2006. The Runtime Structure of Object Ownership. In Proceedings of the 20th European Conference on Object-Oriented Programming (ECOOP '06). Springer-Verlag, Berlin, Heidelberg, 74--98.","DOI":"10.1007\/11785477_5"},{"key":"key-10.1145\/3237009.3237023-28","doi-asserted-by":"crossref","unstructured":"Nick Mitchell, Edith Schonberg, and Gary Sevitsky. 2009. Making Sense of Large Heaps. In Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming (Genoa). Springer-Verlag, Berlin, Heidelberg, 77--97.","DOI":"10.1007\/978-3-642-03013-0_5"},{"key":"key-10.1145\/3237009.3237023-29","unstructured":"Nick Mitchell and Gary Sevitsky. 2007. The Causes of Bloat, the Limits of Health. In Proceedings of the 22Nd Annual ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications (OOPSLA '07). ACM, New York, NY, USA, 245--260."},{"key":"key-10.1145\/3237009.3237023-30","unstructured":"Oracle. 2018. The HotSpot Group (last accessed May 11, 2018). http:\/\/openjdk.java.net\/groups\/hotspot\/. (2018)."},{"key":"key-10.1145\/3237009.3237023-31","unstructured":"Oracle. 2018. Netbeans Profiler (last accessed May 11, 2018). https:\/\/profiler.netbeans.org\/. (2018)."},{"key":"key-10.1145\/3237009.3237023-32","unstructured":"Oracle. 2018. VisualVM: All-in-One Java Troubleshooting Tool (last accessed May 11, 2018). https:\/\/visualvm.github.io\/. (2018)."},{"key":"key-10.1145\/3237009.3237023-33","doi-asserted-by":"crossref","unstructured":"G. Ramalingam and Thomas Reps. 1994. An Incremental Algorithm for Maintaining the Dominator Tree of a Reducible Flowgraph. In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '94). ACM, New York, NY, USA, 287--296.","DOI":"10.1145\/174675.177905"},{"key":"key-10.1145\/3237009.3237023-34","doi-asserted-by":"crossref","unstructured":"Derek Rayside and Lucy Mendel. 2007. Object Ownership Profiling: A Technique for Finding and Fixing Memory Leaks. In Proceedings of the Twenty-second IEEE\/ACM International Conference on Automated Software Engineering (ASE '07). ACM, New York, NY, USA, 194--203.","DOI":"10.1145\/1321631.1321661"},{"key":"key-10.1145\/3237009.3237023-35","doi-asserted-by":"crossref","unstructured":"Derek Rayside, Lucy Mendel, and Daniel Jackson. 2006. A Dynamic Analysis for Revealing Object Ownership and Sharing. In Proceedings of the 2006 International Workshop on Dynamic Systems Analysis (WODA '06). ACM, New York, NY, USA, 57--64.","DOI":"10.1145\/1138912.1138924"},{"key":"key-10.1145\/3237009.3237023-36","unstructured":"Steven P Reiss. 2009. Visualizing the Java heap - Demonstration Proposal. In Software Maintenance, 2009. ICSM 2009. IEEE International Conference on. IEEE, 389--390."},{"key":"key-10.1145\/3237009.3237023-37","doi-asserted-by":"crossref","unstructured":"S. P. Reiss. 2009. Visualizing the Java heap to detect memory problems. In 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis. 73--80.","DOI":"10.1109\/VISSOF.2009.5336418"},{"key":"key-10.1145\/3237009.3237023-38","unstructured":"Steven P. Reiss. 2010. Visualizing the Java Heap. In Proceedings of the 32Nd ACM\/IEEE International Conference on Software Engineering - Volume 2 (ICSE '10). ACM, New York, NY, USA, 251--254."},{"key":"key-10.1145\/3237009.3237023-39","unstructured":"Nathan P. Ricci, Samuel Z. Guyer, and J. Eliot B. Moss. 2013. Elephant Tracks: Portable Production of Complete and Precise Gc Traces. In Proceedings of the 2013 International Symposium on Memory Management (ISMM '13). ACM, New York, NY, USA, 109--118."},{"key":"key-10.1145\/3237009.3237023-40","doi-asserted-by":"crossref","unstructured":"C. Ruggieri and T. P. Murtagh. 1988. Lifetime Analysis of Dynamically Allocated Objects. In Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '88). ACM, New York, NY, USA, 285--293.","DOI":"10.1145\/73560.73585"},{"key":"key-10.1145\/3237009.3237023-41","doi-asserted-by":"crossref","unstructured":"Robert Tarjan. 1971. Depth-first search and linear graph algorithms. In 12th Annual Symposium on Switching and Automata Theory (swat 1971). IEEE, 114--121.","DOI":"10.1109\/SWAT.1971.10"},{"key":"key-10.1145\/3237009.3237023-42","doi-asserted-by":"crossref","unstructured":"Markus Weninger, Philipp Lengauer, and Hanspeter M&#246;ssenb&#246;ck. 2017. User-centered Offline Analysis of Memory Monitoring Data. In Proc. of the 8th ACM\/SPEC on Int'l. Conference on Performance Engineering (ICPE '17). 357--360.","DOI":"10.1145\/3030207.3030236"},{"key":"key-10.1145\/3237009.3237023-43","doi-asserted-by":"crossref","unstructured":"Markus Weninger and Hanspeter M&#246;ssenb&#246;ck. 2018. User-defined Classification and Multi-level Grouping of Objects in Memory Monitoring. In Proceedings of the 9th ACM\/SPEC International Conference on Performance Engineering (ICPE 2018) (ICPE 2018).","DOI":"10.1145\/3184407.3184412"}],"event":{"name":"the 15th International Conference","start":{"date-parts":[[2018,9,12]]},"number":"15","location":"Linz, Austria","end":{"date-parts":[[2018,9,13]]},"acronym":"ManLang '18"},"container-title":["Proceedings of the 15th International Conference on Managed Languages &amp; Runtimes  - ManLang '18"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3237009.3237023","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/dl.acm.org\/ft_gateway.cfm?id=3237023&ftid=1999840&dwn=1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:39:34Z","timestamp":1750210774000},"score":1,"resource":{"primary":{"URL":"http:\/\/dl.acm.org\/citation.cfm?doid=3237009.3237023"}},"subtitle":[],"proceedings-subject":"Managed Languages & Runtimes","short-title":[],"issued":{"date-parts":[[2018]]},"references-count":43,"URL":"https:\/\/doi.org\/10.1145\/3237009.3237023","relation":{},"subject":[],"published":{"date-parts":[[2018]]}}}