Navy Droid: an efficient tool of energy inefficiency problem diagnosis for Android applications
Navy Droid: an efficient tool of energy inefficiency problem diagnosis for Android applications作者机构:State Key Laboratory for Novel Software Technology Nanjing University Department of Computer Science and Technology Nanjing University
出 版 物:《Science China(Information Sciences)》 (中国科学:信息科学(英文版))
年 卷 期:2018年第61卷第5期
页 面:35-54页
核心收录:
学科分类:080202[工学-机械电子工程] 08[工学] 0804[工学-仪器科学与技术] 0802[工学-机械工程]
基 金:supported in part by National Key Research and Development Program of China (Grant No. 2017YFB1001801) National Natural Science Foundation of China (Grant Nos. 61690204, 61472174)
主 题:energy inefficiency smartphone application wake lock
摘 要:Energy inefficiency is an influential non-functional issue for smartphone applications, causing increased concerns from users. Locating these problems is labor-intensive, thus automated diagnosis tools are in demand. Some existing approaches detect energy inefficiency problems by exploring application states with the JPF framework, and get favorable results. However, the effects of these approaches are restricted because of their imprecise application execution models and incomplete energy inefficiency patterns. This paper introduces Navy Droid, an effective and efficient tool of energy inefficiency problem diagnosis for Android applications. We constructed a comprehensive application execution model in the form of a state machine,which accurately simulates the runtime behavior of Android applications. We designed a parallel algorithm to systematically explore an application’s state space. Our approach supports more energy inefficiency patterns, and is able to detect complicated wake lock misuses. We implemented our approach as a prototype tool and applied it to real-world applications. We evaluated Navy Droid with 19 real-world Android applications, and Navy Droid located more energy inefficiency bugs in these applications than the existing work E-Green Droid did. Also, Navy Droid reduced the analysis time with its parallel state exploration *** experimental results demonstrated the effectiveness and efficiency of our approach for detecting energy inefficiency bugs in Android applications.