Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2931037.2931067acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article
Public Access

Energy-aware test-suite minimization for Android apps

Published: 18 July 2016 Publication History

Abstract

The rising popularity of mobile apps deployed on battery-constrained devices has motivated the need for effective energy-aware testing techniques. Energy testing is generally more labor intensive and expensive than functional testing, as tests need to be executed in the deployment environment and specialized equipment needs to be used to collect energy measurements. Currently, there is a dearth of automatic mobile testing techniques that consider energy as a program property of interest. This paper presents an energy-aware test-suite minimization approach to significantly reduce the number of tests needed to effectively test the energy properties of an Android app. It relies on an energy-aware coverage criterion that indicates the degree to which energy-greedy segments of a program are tested. We describe and evaluate two complementary algorithms for test-suite minimization. Experiments over test suites provided for real-world apps have corroborated our ability to reduce the test suite size by 84% on average, while maintaining the effectiveness of test suite in revealing the great majority of energy bugs.

References

[1]
Android developer website: Alarm manager. http://developer.android.com/reference/android/app/ AlarmManager.html.
[2]
Android developer website: Best practices for background jobs. http://developer.android.com/reference/java/util/ concurrent/ScheduledExecutorService.html.
[3]
Android developer website: Power manager. http://developer.android.com/reference/android/os/ PowerManager.html.
[4]
Android developer website: Scheduled thread pool executer. http://developer.android.com/reference/java/util/ concurrent/ScheduledThreadPoolExecutor.html.
[5]
Android developer website: Sensor manager. http://developer.android.com/reference/android/app/ AlarmManager.html.
[6]
Android developer website: Timer. http://developer. android.com/reference/java/util/Timer.html.
[7]
Android developer website: Wi-fi manager. http://developer.android.com/reference/android/net/ wifi/WifiManager.WifiLock.html.
[8]
Emma java code coverage tool. http://emma.sourceforge.net/.
[9]
lpsplve. http://lpsolve.sourceforge.net/5.5/.
[10]
Project website. https://seal.ics.uci.edu/tools/etm-tool/.
[11]
UI/Application Excersizer Monkey. http: //developer.android.com/tools/help/monkey.html.
[12]
Xposed Framework. http://repo.xposed.info/.
[13]
Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., and McDaniel, P. Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. In ACM SIGPLAN Notices (2014), vol. 49, pp. 259–269.
[14]
Banerjee, A., Chong, L. K., Chattopadhyay, S., and Roychoudhury, A. Detecting energy bugs and hotspots in mobile apps. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (2014), pp. 588–598.
[15]
Ben-Zur, L. Developer Tool Spotlight - Using Trepn Profiler for Power-Efficient Apps. https://developer. qualcomm.com/blog/developer-tool-spotlight-using-\ trepn-profiler-power-efficient-apps.
[16]
Graves, T. L., Harrold, M. J., Kim, J.-M., Porter, A., and Rothermel, G. An empirical study of regression test selection techniques. ACM Transactions on Software Engineering and Methodology (TOSEM) 10, 2 (2001), 184–208.
[17]
Hao, S., Li, D., Halfond, W. G., and Govindan, R. Estimating android applications’ cpu energy usage via bytecode profiling. In The Intl. Workshop on Green and Sustainable Software (2012), pp. 1–7.
[18]
Hao, S., Li, D., Halfond, W. G., and Govindan, R. Estimating mobile application energy consumption using program analysis. In The Intl. Conf. on Software Engineering (2013).
[19]
Harman, M., Jia, Y., and Zhang, Y. Achievements, open problems and challenges for search based software testing.
[20]
Heikkinen, M. V., Nurminen, J. K., Smura, T., and Hämmäinen, H. Energy efficiency of mobile handsets: Measuring user attitudes and behavior. The Telematics and Informatics (2012).
[21]
Jabbarvand, R., Sadeghi, A., Garcia, J., Malek, S., and Ammann, P. Ecodroid: An approach for energy-based ranking of android apps. In Proceedings of the 4th International Workshop on Green and Sustainable Software (2015), pp. 8–14.
[22]
Kan, E. Y. Energy efficiency in testing and regression testing–a comparison of dvfs techniques. In Quality Software (QSIC), 2013 13th International Conference on (2013), IEEE, pp. 280–283.
[23]
Li, D., Hao, S., Gui, J., and Halfond, W. G. An empirical study of the energy consumption of android applications. In The Intl. Conf. on Software Maintenance and Evolution (2014).
[24]
Li, D., Hao, S., Halfond, W. G., and Govindan, R. Calculating source line level energy information for android applications. In The Intl. Symposium on Software Testing and Analysis (2013), pp. 78–89.
[25]
Li, D., Jin, Y., Sahin, C., Clause, J., and Halfond, W. G. Integrated energy-directed test suite optimization. In Proceedings of the 2014 International Symposium on Software Testing and Analysis (2014), ACM, pp. 339–350.
[26]
Linares-Vásquez, M., Bavota, G., Bernal-Cárdenas, C., Oliveto, R., Di Penta, M., and Poshyvanyk, D. Mining energy-greedy api usage patterns in android apps: An empirical study. In The Working Conf. on Mining Software Repositories (2014).
[27]
Ma, X., Huang, P., Jin, X., Wang, P., Park, S., Shen, D., Zhou, Y., Saul, L. K., and Voelker, G. M. edoctor: Automatically diagnosing abnormal battery drain issues on smartphones. In NSDI (2013), vol. 13, pp. 57–70.
[28]
Orso, A., and Rothermel, G. Software testing: a research travelogue (2000–2014). In Proceedings of the on Future of Software Engineering (2014), ACM, pp. 117–132.
[29]
Pathak, A., Hu, Y. C., and Zhang, M. Where is the energy spent inside my app?: fine grained energy accounting on smartphones with eprof. In Proceedings of the 7th ACM european conference on Computer Systems (2012), ACM, pp. 29–42.
[30]
Pathak, A., Hu, Y. C., Zhang, M., Bahl, P., and Wang, Y.-M. Fine-grained power modeling for smartphones using system call tracing. In Proceedings of the Sixth Conference on Computer Systems (2011), EuroSys ’11, pp. 153–168.
[31]
Rumsey, D. J. Statistics for dummies. John Wiley & Sons, 2011.
[32]
Sipser, M. Introduction to the Theory of Computation, 3rd edition. Course Technology, 2012.
[33]
Vallée-Rai, R., Co, P., Gagnon, E., Hendren, L., Lam, P., and Sundaresan, V. Soot-a java bytecode optimization framework. In Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research (1999), IBM Press, p. 13.
[34]
Wilke, C., Richly, S., Gotz, S., Piechnick, C., and Aßmann, U. Energy consumption and efficiency in mobile applications: A user feedback study. In The Internation Conf. on Green Computing and Communications (2013).
[35]
Wolsey, L. Integer programming. Wiley (1998).
[36]
Yoo, S., and Harman, M. Regression testing minimization, selection and prioritization: a survey. Software Testing, Verification and Reliability 22, 2 (2012), 67–120. Introduction Background and Motivation Energy-Aware test-suite Minimization Approach Overview Energy-Aware Coverage Calculator energy-aware test-suite minimization Integer Non-linear Programming Decision Variables Objective Function Constraints Integer Linear Programming Greedy Algorithm Experimental Evaluation Experiment Setup RQ1: Effectiveness RQ2: Correlations RQ3: Performance Energy-Aware Coverage Calculator Energy-Aware Test-Suite Minimization Related Work Conclusion and Future Work Acknowledgment References

Cited By

View all
  • (2024)A survey of energy concerns for software engineeringJournal of Systems and Software10.1016/j.jss.2023.111944210(111944)Online publication date: Apr-2024
  • (2023)Integration and Unit Testing of Software Energy Consumption2023 Tenth International Conference on Software Defined Systems (SDS)10.1109/SDS59856.2023.10329262(60-64)Online publication date: 23-Oct-2023
  • (2022)ECenchProceedings of the 19th International Conference on Mining Software Repositories10.1145/3524842.3528028(634-638)Online publication date: 23-May-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA 2016: Proceedings of the 25th International Symposium on Software Testing and Analysis
July 2016
452 pages
ISBN:9781450343909
DOI:10.1145/2931037
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 July 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Android
  2. Coverage criterion
  3. Green software engineering
  4. Test-suite minimization

Qualifiers

  • Research-article

Funding Sources

Conference

ISSTA '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)89
  • Downloads (Last 6 weeks)21
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A survey of energy concerns for software engineeringJournal of Systems and Software10.1016/j.jss.2023.111944210(111944)Online publication date: Apr-2024
  • (2023)Integration and Unit Testing of Software Energy Consumption2023 Tenth International Conference on Software Defined Systems (SDS)10.1109/SDS59856.2023.10329262(60-64)Online publication date: 23-Oct-2023
  • (2022)ECenchProceedings of the 19th International Conference on Mining Software Repositories10.1145/3524842.3528028(634-638)Online publication date: 23-May-2022
  • (2022)Automated, Cost-effective, and Update-driven App TestingACM Transactions on Software Engineering and Methodology10.1145/350229731:4(1-51)Online publication date: 12-Jul-2022
  • (2022)A Survey of Performance Optimization for Mobile ApplicationsIEEE Transactions on Software Engineering10.1109/TSE.2021.307119348:8(2879-2904)Online publication date: 1-Aug-2022
  • (2022)Static/Dynamic Analysis of Android Applications to Improve Energy-Efficiency2022 CPSSI 4th International Symposium on Real-Time and Embedded Systems and Technologies (RTEST)10.1109/RTEST56034.2022.9850164(1-8)Online publication date: 30-May-2022
  • (2022)Summary of An Effective Formulation of the Multi-Criteria Test Suite Minimization Problem2022 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST53961.2022.00052(459-459)Online publication date: Apr-2022
  • (2021)EcoAndroid: An Android Studio Plugin for Developing Energy-Efficient Java Mobile Applications2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00017(62-69)Online publication date: Dec-2021
  • (2021)IMGDroidProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00080(823-834)Online publication date: 22-May-2021
  • (2021)A Preliminary Study of the Impact of Code Coverage on Software Energy Consumption2021 36th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW)10.1109/ASEW52652.2021.00057(263-264)Online publication date: Nov-2021
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media