Abstract
A memory leak in an application deployed on the cloud can affect the availability and reliability of the application. Therefore, to identify and ultimately resolve it quickly is highly important. However, in the production environment running on the cloud, memory leak detection is a challenge without the knowledge of the application or its internal object allocation details.
This paper addresses this challenge of online detection of memory leaks in cloud-based infrastructure without having any internal application knowledge by introducing a novel machine learning based algorithm Precog. This algorithm solely uses one metric i.e. the system’s memory utilization on which the application is deployed for the detection of a memory leak. The developed algorithm’s accuracy was tested on 60 virtual machines manually labeled memory utilization data provided by our industry partner Huawei Munich Research Center and it was found that the proposed algorithm achieves the accuracy score of 85% with less than half a second prediction time per virtual machine.
Keywords
- Memory leak
- Online memory leak detection
- Memory leak patterns
- Cloud
- Linear regression
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Ataallah, S.M.A., Nassar, S.M., Hemayed, E.E.: Fault tolerance in cloud computing - survey. In: 2015 11th International Computer Engineering Conference (ICENCO), pp. 241–245, December 2015. https://doi.org/10.1109/ICENCO.2015.7416355
Chen, K., Chen, J.: 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. https://doi.org/10.1109/COMPSAC.2007.79
Clause, J., Orso, A.: LeakPoint: pinpointing the causes of memory leaks. In: 2010 ACM/IEEE 32nd International Conference on Software Engineering, vol. 1, pp. 515–524, May 2010. https://doi.org/10.1145/1806799.1806874
Gokhroo, M.K., Govil, M.C., Pilli, E.S.: Detecting and mitigating faults in cloud computing environment. In: 2017 3rd International Conference on Computational Intelligence Communication Technology (CICT), pp. 1–9, February 2017. https://doi.org/10.1109/CIACT.2017.7977362
Jain, N., Choudhary, S.: Overview of virtualization in cloud computing. In: 2016 Symposium on Colossal Data Analysis and Networking (CDAN), pp. 1–4, March 2016. https://doi.org/10.1109/CDAN.2016.7570950
Jump, M., McKinley, K.S.: 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 2007, New York, NY, USA, pp. 31–38. ACM (2007). https://doi.org/10.1145/1190216.1190224. http://doi.acm.org/10.1145/1190216.1190224
Mitchell, N., Sevitsky, G.: LeakBot: an automated and lightweight tool for diagnosing memory leaks in large java applications. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 351–377. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45070-2_16
Pooja, Pandey, A.: Impact of memory intensive applications on performance of cloud virtual machine. In: 2014 Recent Advances in Engineering and Computational Sciences (RAECS), pp. 1–6, March 2014. https://doi.org/10.1109/RAECS.2014.6799629
Rudafshani, M., Ward, P.A.S.: Leakspot: detection and diagnosis of memory leaks in javascript applications. Softw. Pract. Exper. 47(1), 97–123 (2017). https://doi.org/10.1002/spe.2406
Sor, V., Srirama, S.N.: A statistical approach for identifying memory leaks in cloud applications. In: CLOSER (2011)
Sor, V., Srirama, S.N.: Memory leak detection in java: taxonomy and classification of approaches. J. Syst. Softw. 96, 139–151 (2014)
Sor, V., Srirama, S.N., Salnikov-Tarnovski, N.: Memory leak detection in plumbr. Softw. Pract. Exper. 45, 1307–1330 (2015)
Vilk, J., Berger, E.D.: Bleak: automatically debugging memory leaks in web applications. In: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018, New York, NY, USA, pp. 15–29. ACM (2018). https://doi.org/10.1145/3192366.3192376. http://doi.acm.org/10.1145/3192366.3192376
Xie, Y., Aiken, A.: Context- and path-sensitive memory leak detection. SIGSOFT Softw. Eng. Notes 30(5), 115–125 (2005). https://doi.org/10.1145/1095430.1081728. http://doi.acm.org/10.1145/1095430.1081728
Acknowledgements
This work was supported by the funding of the German Federal Ministry of Education and Research (BMBF) in the scope of the Software Campus program. The authors also thank the anonymous reviewers whose comments helped in improving this paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Jindal, A., Staab, P., Cardoso, J., Gerndt, M., Podolskiy, V. (2021). Online Memory Leak Detection in the Cloud-Based Infrastructures. In: Hacid, H., et al. Service-Oriented Computing – ICSOC 2020 Workshops. ICSOC 2020. Lecture Notes in Computer Science(), vol 12632. Springer, Cham. https://doi.org/10.1007/978-3-030-76352-7_21
Download citation
DOI: https://doi.org/10.1007/978-3-030-76352-7_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-76351-0
Online ISBN: 978-3-030-76352-7
eBook Packages: Computer ScienceComputer Science (R0)