An Automated Approach of Detection of Memory Leaks for Remote Server Controllers

  • Bhavana D BMS College of Engineering
  • Veena M B Department of ECE, BMS College of Engineering, Bangalore, India
  • Santosh Kumar Sahu Dell R&D, Bengaluru, India
Keywords: Memory leak, Remote Server Controller, Firmware, Valgrind tool, Memcheck

Abstract

Memory leaks are a major concern to the long running applications like servers which make the working set to grow with the program. This eventually leads to system crashing. This paper discusses a staged approach to detect leaks in firmware of remote server controller. Remote server controller monitors the server remotely with many processes running in the background. Any memory leak in the long running applications pose a threat to the performance of the system. The approach adopted here filters the processes running in the system with leaks based on time threshold in the first stage. These processes with leaks are passed to the next stage where precise memory leak detection is done using the open source dynamic instrumentation tool Valgrind. The system leverages an automated leak detection approach that invokes the leak detection process on encountering any severity in the system and generates a consolidated leak report. The proposed approach has less impact on the performance of the system and is faster compared to many available systems as there is no need to modify or re-compile the program. In addition, the automated approach offers an effective technique for detecting possible leakages in early software development phases.

Downloads

Download data is not yet available.

References

F. Machida, N. Miyoshi, Analysis of an optimal stopping problem for software rejuvenation in a deteriorating job processing system, Reliability Engineering & System Safety, Vol. 168, pp. 128 – 135, 2017. DOI: https://doi.org/10.1016/j.ress.2017.05.019

S. Cherem, L. Princehouse, and R. Rugina, Practical Memory Leak Detection Using Guarded Value-flow Analysis, ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 480–491, 2007. DOI: https://doi.org/10.1145/1273442.1250789

D. L. Heine and M. S. Lam, Static Detection of Leaks in Polymorphic Containers, International Conference on Software Engineering (ICSE), pp. 252–261, 2006. DOI: https://doi.org/10.1145/1134285.1134321

Nicholas Nethercote, Julian Seward, Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation, Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, USA, 2007, pp. 89-100, 2007. DOI: https://doi.org/10.1145/1273442.1250746

James Clause, Alessandro Orso, Leakpoint: pinpointing the causes of memory leaks, Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Vol. 1, pp. 515–524, 2010. DOI: https://doi.org/10.1145/1806799.1806874

Matthias Hauswirth, Trishul M. Chilimbi, Low-overhead memory leak detection using adaptive statistical profiling, ACM SIGOPS Operating Systems Review,Vol. 38, No. 5, 2004. DOI: https://doi.org/10.1145/1037949.1024412

Konstantin Serebryany and Derek Bruening, AddressSanitizer: a fast address sanity checker, Proceedings of the USENIX conference on Annual Technical Conference, pp.28, 2012.

Changhee Jung, Sangho Lee, Easwaran Raman, Santosh S Pande, Automated memory leak detection for production use, Proceedings of the 36th International Conference on Software Engineering, pp. 825–836, 2014. DOI: https://doi.org/10.1145/2568225.2568311

R. Beneder, B. Glatz, M. Horauer and T. Rauscher, Memory leak detection runtime-service for embedded Linux devices, Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA), Barcelona, pp. 1-6, 2014. DOI: https://doi.org/10.1109/ETFA.2014.7005223

Y. Sui, D. Ye and J. Xue, Detecting Memory Leaks Statically with Full-Sparse Value-Flow Analysis, in IEEE Transactions on Software Engineering, vol. 40, no. 2, pp. 107-122, Feb. 2014. DOI: https://doi.org/10.1109/TSE.2014.2302311

Xiaohui Sun, Sihan Xu, Chenkai Guo, Jing Xu, et al. A Projection-based Approach for Memory Leak Detection, 42nd IEEE International Conference on Computer Software & Applications, IEEE, Vol. 2, pp. 430-435, 2018.

The LLVM Foundation, Clang static analyzer, 2018.

G. Fan, R. Wu, Q. Shi, X. Xiao, J. Zhou and C. Zhang, SMOKE: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), Montreal, QC, Canada, pp. 72-82, 2019. DOI: https://doi.org/10.1109/ICSE.2019.00025

Published
2020-12-30
How to Cite
Bhavana D, Veena M B, & Santosh Kumar Sahu. (2020). An Automated Approach of Detection of Memory Leaks for Remote Server Controllers. EMITTER International Journal of Engineering Technology, 8(2), 477-494. https://doi.org/10.24003/emitter.v8i2.550
Section
Articles