期刊文献+

Prioritizing Test Cases for Memory Leaks in Android Applications 被引量:2

Prioritizing Test Cases for Memory Leaks in Android Applications
原文传递
导出
摘要 Mobile applications usually can only access limited amount of memory. Improper use of the memory can cause memory leaks, which may lead to performance slowdowns or even cause applications to be unexpectedly killed. Although a large body of research has been devoted into the memory leak diagnosing techniques after leaks have been discovered, it is still challenging to find out the memory leak phenomena at first. Testing is the most widely used technique for failure discovery. However, traditional testing techniques are not directed for the discovery of memory leaks. They may spend lots of time on testing unlikely leaking executions and therefore can be inefficient. To address the problem, we propose a novel approach to prioritize test cases according to their likelihood to cause memory leaks in a given test suite. It firstly builds a prediction model to determine whether each test can potentially lead to memory leaks based on machine learning on selected code features. Then, for each input test case, we partly run it to get its code features and predict its likelihood to cause leaks. The most suspicious test cases will be suggested to run at first in order to reveal memory leak faults as soon as possible. Experimental evaluation on several Android applications shows that our approach is effective. Mobile applications usually can only access limited amount of memory. Improper use of the memory can cause memory leaks, which may lead to performance slowdowns or even cause applications to be unexpectedly killed. Although a large body of research has been devoted into the memory leak diagnosing techniques after leaks have been discovered, it is still challenging to find out the memory leak phenomena at first. Testing is the most widely used technique for failure discovery. However, traditional testing techniques are not directed for the discovery of memory leaks. They may spend lots of time on testing unlikely leaking executions and therefore can be inefficient. To address the problem, we propose a novel approach to prioritize test cases according to their likelihood to cause memory leaks in a given test suite. It firstly builds a prediction model to determine whether each test can potentially lead to memory leaks based on machine learning on selected code features. Then, for each input test case, we partly run it to get its code features and predict its likelihood to cause leaks. The most suspicious test cases will be suggested to run at first in order to reveal memory leak faults as soon as possible. Experimental evaluation on several Android applications shows that our approach is effective.
作者 Ju Qian
出处 《Journal of Computer Science & Technology》 SCIE EI CSCD 2016年第5期869-882,共14页 计算机科学技术学报(英文版)
关键词 ANDROID memory leak test case prioritization test execution Android, memory leak, test case prioritization, test execution
  • 相关文献

参考文献29

  • 1Sor V, Srirama S N. Memory leak detection in Java: Tax- onomy and classification of approaches. Journal of Systems and Software, 2014, 96: 139-151.
  • 2Pienaar J A, Hundt R. JSWhiz: Static analysis for JavaScript memory leaks. In Proc. the IEEE/ACM Inter- national Symposium on Code Generation and Optimization (CGO), February 2013, pp.11:1-11:11.
  • 3Yan D, Xu G, Yang S, Rountev A. LeakChecker: Practi- cal static memory leak detection for managed languages. In Proc. the IEEE/ACM International Symposium on Code Generation and Optimization ( CGO), February 2014, pp.87-97.
  • 4Jump M, McKinley K S. Detecting memory leaks in man- aged languages with Cork. Software: Practice and Experi- ence, 2010, 40(1): 1-22.
  • 5De Pauw W, Sevitsky G. Visualizing reference patterns for solving memory leaks in Java. In Proc. the 13th European Conference on Object-Oriented Programming (ECOOP), June 1999, pp.116-134.
  • 6Xu G, Bond M D, Qin F, Rountev A. LeakChaser: Help- ing programmers narrow down causes of memory leaks. In Proc. the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2011, pp.220-282.
  • 7Rayside D, Mendel L. Object ownership profiling: A tech- nique for finding and fixing memory leaks. In Proc. the 22nd IEEE/ACM International Conference on Automated Soft- ware Engineering (ASE), November 2007, pp.194-203.
  • 8Mitchell N, Sevitsky G. LeakBot: An automated and lightweight tool for diagnosing memory leaks in large Java applications. In Proe. the 17th European Conference on Object-Oriented Computing (ECOOP), July 2003, pp.351- 377.
  • 9Maxwell E K, Back G, Ramakrishnan N. Diagnosing mem- ory leaks using graph mining on heap dumps. In Proc. the 16th International Conference on Knowledge Discov- ery and Data Mining (KDD), July 2010, pp.115-124.
  • 10Bond M D, McKinley K S. Bell: Bit-encoding online mem- ory leak detection. In Proc. the 12th International Confer- ence on Architectural Support, for Programming Languages and Operating Systems (ASPLOS), October 2006, pp.61- 72.

同被引文献4

引证文献2

二级引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部