机构地区:[1]State Key Laboratory for Novel Software Technology, Nanjing University [2]Department of Computer Science and Technology, Nanjing University
出 处:《Science China(Information Sciences)》2018年第5期31-50,共20页中国科学(信息科学)(英文版)
基 金: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 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 pa- per introduces NavyDroid, 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 pat- terns, 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 NavyDroid with 19 real-world Android appli- cations, and NavyDroid located more energy inefficiency bugs in these applications than the existing work E-GreenDroid did. Also, NavyDroid reduced the analysis time with its parallel state exploration algorithm. The experimental results demonstrated the effectiveness and efficiency of our approach for detecting energy inefficiency bugs in Android applications.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 pa- per introduces NavyDroid, 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 pat- terns, 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 NavyDroid with 19 real-world Android appli- cations, and NavyDroid located more energy inefficiency bugs in these applications than the existing work E-GreenDroid did. Also, NavyDroid reduced the analysis time with its parallel state exploration algorithm. The experimental results demonstrated the effectiveness and efficiency of our approach for detecting energy inefficiency bugs in Android applications.
关 键 词:energy inefficiency smartphone application wake lock
分 类 号:TP242[自动化与计算机技术—检测技术与自动化装置]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...