Skip to main content

Automated Statistical Approach for Memory Leak Detection: Case Studies

  • Conference paper
On the Move to Meaningful Internet Systems: OTM 2011 (OTM 2011)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Active mq issue tracker, ticket 3021 (2011), https://issues.apache.org/jira/browse/AMQ-3021

  2. Amazon Inc.: Elastic Compute Cloud (EC2) (2011), http://aws.amazon.com/ec2/

  3. Apache Software Foundation: ActiveMQ (2011), http://activemq.apache.org/

  4. Apache Software Foundation: Apache Software Foundation issue tracker (2011), https://issues.apache.org/bugzilla/

  5. Apache Software Foundation: JMeter (2011), http://jakarta.apache.org/jmeter/

  6. AppDynamics: home page (2011), http://www.appdynamics.com/

  7. Armbrust, M., et al.: Above the Clouds, A Berkeley View of Cloud Computing. Technical report UCB/EECS-2009-28, University of California (February 2009)

    Google Scholar 

  8. CA Wily Introscope: Home page (2010), http://www.ca.com/us/application-management.aspx

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Maxwell, E.K.: Graph Mining Algorithms for Memory Leak Diagnosis and Biological Database Clustering. Master’s thesis, Virginia Polytechnic Institute and State University (2010)

    Google Scholar 

  14. netbeans.org: NetBeans profiler (2011), http://profiler.netbeans.org/

  15. Sun Microsystems Inc.: JvmTM tool interface (2006), http://download.oracle.com/javase/6/docs/platform/jvmti/jvmti.html

  16. The Eclipse Foundation: Memory analyzer (2011), http://www.eclipse.org/mat/

  17. Š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)

    Google Scholar 

  18. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics