Abstract
Applications written in JavaTM language, and in other programming languages running on JavaTM Virtual Machine (JVM) are widely used in cloud environments. Although JVM features garbage collection, memory leaks can still happen in these applications. Current solutions for finding memory leaks have several drawbacks which become critical when deployed in distributed and dynamic environments like cloud. Statistical approach for memory leak detection gives good results in terms of false positives and we have implemented automatic statistical approach for memory leak detection in JavaTM applications. To test its correctness and performance we have conducted several experiments by finding memory leaks in a large web-application and searching for related bugs in open source projects from Apache Software Foundation. This paper presents the results of these experiments and concludes that automated statistical method for memory leak detection is efficient and can be used also in production systems to find hardly reproducible leaks.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Active mq issue tracker, ticket 3021 (2011), https://issues.apache.org/jira/browse/AMQ-3021
Amazon Inc.: Elastic Compute Cloud (EC2) (2011), http://aws.amazon.com/ec2/
Apache Software Foundation: ActiveMQ (2011), http://activemq.apache.org/
Apache Software Foundation: Apache Software Foundation issue tracker (2011), https://issues.apache.org/bugzilla/
Apache Software Foundation: JMeter (2011), http://jakarta.apache.org/jmeter/
AppDynamics: home page (2011), http://www.appdynamics.com/
Armbrust, M., et al.: Above the Clouds, A Berkeley View of Cloud Computing. Technical report UCB/EECS-2009-28, University of California (February 2009)
CA Wily Introscope: Home page (2010), http://www.ca.com/us/application-management.aspx
Chen, K., Chen, J.B.: Aspect-based instrumentation for locating memory leaks in java programs. In: 31st Annual International Computer Software and Applications Conference, COMPSAC 2007, vol. 2, pp. 23–28 (July 2007)
Chilimbi, T.M., Hauswirth, M.: Low-overhead memory leak detection using adaptive statistical profiling. In: 11th Int. Conf. on Architectural Support for Programming Languages and Operating Systems, pp. 156–164 (2004)
Ellahi, T., Hudzia, B., Li, H., Lindner, M.A., Robinson, P.: The Enterprise Cloud Computing Paradigm. In: Cloud Computing: Principles and Paradigms. John Wiley & Sons, Inc. (2011)
Jump, M., McKinley, K.S.: Cork: dynamic memory leak detection for garbage-collected languages. In: 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2007), pp. 31–38. ACM (2007)
Maxwell, E.K.: Graph Mining Algorithms for Memory Leak Diagnosis and Biological Database Clustering. Master’s thesis, Virginia Polytechnic Institute and State University (2010)
netbeans.org: NetBeans profiler (2011), http://profiler.netbeans.org/
Sun Microsystems Inc.: JvmTM tool interface (2006), http://download.oracle.com/javase/6/docs/platform/jvmti/jvmti.html
The Eclipse Foundation: Memory analyzer (2011), http://www.eclipse.org/mat/
Šor, V., Srirama, S.N.: A statistical approach for identifying memory leaks in cloud applications. In: First International Conference on Cloud Computing and Services Science (CLOSER 2011), pp. 623–628. SciTePress (May 2011)
Xu, G., Rountev, A.: Precise memory leak detection for java software using container profiling. In: ACM/IEEE 30th International Conference on Software Engineering, ICSE 2008, pp. 151–160 (May 2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Šor, V., Salnikov-Tarnovski, N., Srirama, S.N. (2011). Automated Statistical Approach for Memory Leak Detection: Case Studies. In: Meersman, R., et al. On the Move to Meaningful Internet Systems: OTM 2011. OTM 2011. Lecture Notes in Computer Science, vol 7045. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25106-1_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-25106-1_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25105-4
Online ISBN: 978-3-642-25106-1
eBook Packages: Computer ScienceComputer Science (R0)