Greenspecting Android virtual keyboards

During this still increasing mobile devices proliferation age, much of human-computer interaction involves text input, and the task of typing text is provided via virtual keyboards. In a mobile setting, energy consumption is a key concern for both hardware manufacturers and software developers. Virtual keyboards are software applications, and thus, inefficient applications have a negative impact on the overall energy consumption of the underlying device. Energy consumption analysis and optimization of mobile software is a recent and active area of research. Surprisingly, there is no study analyzing the energy efficiency of the most used software keyboards and evaluating the performance advantage of its features. In this paper, we studied the energy performance of five of the most used virtual keyboards in the Android ecosystem. We measure and analyze the energy consumption in different keyboard scenarios, namely with or without using word prediction. This work presents the results of two studies: one where we instructed the keyboards to simulate the writing of a predefined input text, and another where we performed an empirical study with real users writing the same text. Our studies show that there exist relevant performance differences among the most used keyboards of the considered ecosystem, and it is possible to save nearly 18% of energy by replacing the most used keyboard in Android by the most efficient one. We also showed that is possible to save both energy and time by disabling keyboard intrinsic features and that the use of word suggestions not always compensate for energy and time.

[1]  Andrea De Lucia,et al.  PETrA: A Software-Based Tool for Estimating the Energy Profile of Android Applications , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[2]  Gabriele Bavota,et al.  Mining energy-greedy API usage patterns in Android apps: an empirical study , 2014, MSR 2014.

[3]  João Saraiva,et al.  GreenSource: A Large-Scale Collection of Android Code, Tests and Energy Metrics , 2019, 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR).

[4]  Uwe Aßmann,et al.  Comparing mobile applications' energy consumption , 2013, SAC '13.

[5]  Patricia Pesado,et al.  Development Frameworks for Mobile Devices: A Comparative Study about Energy Consumption , 2018, 2018 IEEE/ACM 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[6]  Foutse Khomh,et al.  EARMO: An Energy-Aware Refactoring Approach for Mobile Apps , 2018, IEEE Transactions on Software Engineering.

[7]  Luis Cruz,et al.  Performance-Based Guidelines for Energy Efficient Mobile Applications , 2017, 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[8]  Gustavo Pinto,et al.  Mining questions about software energy consumption , 2014, MSR 2014.

[9]  Abram Hindle,et al.  GreenScaler: training software energy models with automatic test generation , 2018, Empirical Software Engineering.

[10]  Luis Cruz,et al.  Poster: Measuring the Energy Footprint of Mobile Testing Frameworks , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion).

[11]  Ramesh Govindan,et al.  Estimating mobile application energy consumption using program analysis , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[12]  Rui Pereira,et al.  GreenHub Farmer: Real-World Data for Android Energy Mining , 2019, 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR).

[13]  Abhik Roychoudhury,et al.  Future of Mobile Software for Smartphones and Drones: Energy and Performance , 2017, 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[14]  Abram Hindle,et al.  Green mining: a methodology of relating software change and configuration to power consumption , 2013, Empirical Software Engineering.

[15]  Welch Bl THE GENERALIZATION OF ‘STUDENT'S’ PROBLEM WHEN SEVERAL DIFFERENT POPULATION VARLANCES ARE INVOLVED , 1947 .

[16]  Jácome Cunha,et al.  Detecting Anomalous Energy Consumption in Android Applications , 2014, SBLP.

[17]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[18]  Luis Cruz,et al.  Using Automatic Refactoring to Improve Energy Efficiency of Android Apps , 2018, CIbSE.

[19]  Rui Abreu,et al.  Leafactor: Improving Energy Efficiency of Android Apps via Automatic Refactoring , 2017, 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[20]  R. D'Agostino An omnibus test of normality for moderate and large size samples , 1971 .

[21]  Gustavo Pinto,et al.  Energy efficiency , 2017, Commun. ACM.

[22]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

[23]  Jose-Miguel Horcas,et al.  Energy efficient adaptation engines for android applications , 2020, Inf. Softw. Technol..

[24]  Andrea De Lucia,et al.  Software-based energy profiling of Android apps: Simple, efficient and reliable? , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[25]  W. Kruskal,et al.  Use of Ranks in One-Criterion Variance Analysis , 1952 .