skip to main content
10.1145/3180155.3180222acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article
Distinguished Paper

Large-scale analysis of framework-specific exceptions in Android apps

Authors Info & Claims
Published:27 May 2018Publication History

ABSTRACT

Mobile apps have become ubiquitous. For app developers, it is a key priority to ensure their apps' correctness and reliability. However, many apps still suffer from occasional to frequent crashes, weakening their competitive edge. Large-scale, deep analyses of the characteristics of real-world app crashes can provide useful insights to guide developers, or help improve testing and analysis tools. However, such studies do not exist --- this paper fills this gap. Over a four-month long effort, we have collected 16,245 unique exception traces from 2,486 open-source Android apps, and observed that framework-specific exceptions account for the majority of these crashes. We then extensively investigated the 8,243 framework-specific exceptions (which took six person-months): (1) identifying their characteristics (e.g., manifestation locations, common fault categories), (2) evaluating their manifestation via state-of-the-art bug detection techniques, and (3) reviewing their fixes. Besides the insights they provide, these findings motivate and enable follow-up research on mobile apps, such as bug detection, fault localization and patch generation. In addition, to demonstrate the utility of our findings, we have optimized Stoat, a dynamic testing tool, and implemented ExLocator, an exception localization tool, for Android apps. Stoat is able to quickly uncover three previously-unknown, confirmed/fixed crashes in Gmail and Google+; ExLocator is capable of precisely locating the root causes of identified exceptions in real-world apps. Our substantial dataset is made publicly available to share with and benefit the community.

References

  1. Christoffer Quist Adamsen, Gianluca Mezzetti, and Anders Møller. 2015. Systematic Execution of Android Test Suites in Adverse Conditions. In Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA 2015). ACM, New York, NY, USA, 83--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Salvatore De Carmine, and Atif M. Memon. 2012. Using GUI ripping for automated testing of Android applications. In IEEE/ACM International Conference on Automated Software Engineering, ASE'12, Essen, Germany, September 3--7, 2012. 258--261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Bryan Dzung Ta, and Atif M. Memon. 2015. MobiGUITAR: Automated Model-Based Testing of Mobile Apps. IEEE Software 32, 5 (2015), 53--59.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Domenico Amalfitano, Vincenzo Riccio, Ana C. R. Paiva, and Anna Rita Fasolino. 2018. Why does the orientation change mess up my Android application? From GUI failures to code faults. Softw. Test., Verif. Reliab. 28, 1 (2018).Google ScholarGoogle Scholar
  5. Saswat Anand, Mayur Naik, Mary Jean Harrold, and Hongseok Yang. 2012. Automated concolic testing of smartphone apps. In 20th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-20), SIGSOFT/FSE'12, Cary, NC, USA - November 11 - 16, 2012. 59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. AppBrain. 2017. Number of Android applications. (2017). Retrieved 2017-7 from http://www.appbrain.com/stats/number-of-android-appsGoogle ScholarGoogle Scholar
  7. Appium. 2017. Appium: Mobile App Automation Made Awesome. (2017). Retrieved 2017-7 from http://appium.io/Google ScholarGoogle Scholar
  8. Atarashii. 2017. Atarashii. (2017). Retrieved 2017-7 from https://github.com/AnimeNeko/AtarashiiGoogle ScholarGoogle Scholar
  9. Atarashii. 2017. Atarashii revision b311ec3. (2017). Retrieved 2017-7 from https://github.com/AnimeNeko/Atarashii/commit/b311ec327413aa4ef4aaabb8a8496c61d342cfe9Google ScholarGoogle Scholar
  10. Tanzirul Azim and Iulian Neamtiu. 2013. Targeted and depth-first exploration for systematic testing of Android apps. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2013, part of SPLASH 2013, Indianapolis, IN, USA, October 26--31, 2013. 641--660. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Abhijeet Banerjee, Hai-Feng Guo, and Abhik Roychoudhury. 2016. Debugging Energy-efficiency Related Field Failures in Mobile Apps. In Proceedings of the International Conference on Mobile Software Engineering and Systems (MOBILESoft '16). ACM, New York, NY, USA, 127--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Bankdroid. 2017. Bankdroid. (2017). Retrieved 2017-7 from https://github.com/liato/android-bankdroidGoogle ScholarGoogle Scholar
  13. Bankdroid. 2017. Bankdroid revision 8b31cd3. (2017). Retrieved 2017-7 from https://github.com/liato/android-bankdroid/commit/8b31cd36fab5f746ed5a2096369f9990de7b064Google ScholarGoogle Scholar
  14. Pavol Bielik, Veselin Raychev, and Martin Vechev. 2015. Scalable Race Detection for Android Applications. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2015). ACM, New York, NY, USA, 332--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. c:geo. 2017. c:geo. (2017). Retrieved 2017-7 from https://github.com/cgeo/cgeoGoogle ScholarGoogle Scholar
  16. c:geo. 2017. c:geo revision d6b4e4d. (2017). Retrieved 2017-7 from https://github.com/cgeo/cgeo/commit/d6b4e4d958568ea04669f511a85f24ac08f524b6Google ScholarGoogle Scholar
  17. Wontae Choi, George C. Necula, and Koushik Sen. 2013. Guided GUI testing of Android apps with minimal restart and approximate learning. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2013, part of SPLASH 2013, Indianapolis, IN, USA, October 26--31, 2013. 623--640. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Roberta Coelho, Lucas Almeida, Georgios Gousios, and Arie van Deursen. 2015. Unveiling Exception Handling Bug Hazards in Android Based on GitHub and Google Code Issues. In Proceedings of the 12th Working Conference on Mining Software Repositories (MSR '15). IEEE Press, Piscataway, NJ, USA, 134--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Lin Deng, Jeff Offutt, Paul Ammann, and Nariman Mirzaei. 2017. Mutation operators for testing Android apps. Information & Software Technology 81 (2017), 154--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. William Enck, Damien Octeau, Patrick McDaniel, and Swarat Chaudhuri. 2011. A Study of Android Application Security. In Proceedings of the 20th USENIX Conference on Security (SEC'11). USENIX Association, Berkeley, CA, USA, 21--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lingling Fan et al. 2017. Dataset of Android App Crashes. (2017). Retrieved 2017-7 from https://crashanalysis.github.io/Google ScholarGoogle Scholar
  22. Lingling Fan, Sen Chen, Lihua Xu, Zongyuan Yang, and Huibiao Zhu. 2016. Model-Based Continuous Verification. In Software Engineering Conference (APSEC), 2016 23rd Asia-Pacific. IEEE, 81--88.Google ScholarGoogle Scholar
  23. FindBugs. 2017. FindBugs. (2017). Retrieved 2017-7 from http://findbugs.sourceforge.net/Google ScholarGoogle Scholar
  24. WordPress for Android. 2017. revision 663ce5c. (2017). Retrieved 2017-7 from https://github.com/wordpress-mobile/WordPress-Android/commit/663ce5c1bbd739f29f6c23d9ecacbd666e4f806fGoogle ScholarGoogle Scholar
  25. Qing Gao, Hansheng Zhang, Jie Wang, Yingfei Xiong, Lu Zhang, and Hong Mei. 2015. Fixing Recurring Crash Bugs via Analyzing Q&A Sites (T). In 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015, Lincoln, NE, USA, November 9--13, 2015. 307--318.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Google. 2017. Android Developers Documentation. (2017). Retrieved 2017-7 from https://developer.android.com/reference/packages.htmlGoogle ScholarGoogle Scholar
  27. Google. 2017. Android Lint Checks. (2017). Retrieved 2017-8 from http://tools.android.com/tips/lint-checksGoogle ScholarGoogle Scholar
  28. Google. 2017. Fragments. (2017). Retrieved 2017-7 from https://developer.android.com/guide/components/fragments.htmlGoogle ScholarGoogle Scholar
  29. Google. 2017. Handler. (2017). Retrieved 2017-7 from https://developer.android.com/reference/android/os/Handler.htmlGoogle ScholarGoogle Scholar
  30. Google. 2017. Keeping Your App Responsive. (2017). Retrieved 2017-7 from https://developer.android.com/training/articles/perf-anr.htmlGoogle ScholarGoogle Scholar
  31. Google. 2017. Lint. (2017). Retrieved 2017-7 from https://developer.android.com/studio/write/lint.htmlGoogle ScholarGoogle Scholar
  32. Google. 2017. Looper. (2017). Retrieved 2017-7 from https://developer.android.com/reference/android/os/Looper.htmlGoogle ScholarGoogle Scholar
  33. Google. 2017. Managing Bitmap Memory. (2017). Retrieved 2017-7 from https://developer.android.com/topic/performance/graphics/manage-memory.htmlGoogle ScholarGoogle Scholar
  34. Google. 2017. Monkey. (2017). Retrieved 2017-7 from http://developer.android.com/tools/help/monkey.htmlGoogle ScholarGoogle Scholar
  35. Google. 2017. NetworkOnMainThreadException. (2017). Retrieved 2017-7 from https://developer.android.com/reference/android/os/NetworkOnMainThreadException.htmlGoogle ScholarGoogle Scholar
  36. Google. 2017. PhoneStateListener. (2017). Retrieved 2017-7 from http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3.1_r1/android/telephony/PhoneStateListener.java#PhoneStateListener.0mHandlerGoogle ScholarGoogle Scholar
  37. Google. 2017. Processes and Threads. (2017). Retrieved 2017-7 from https://developer.android.com/guide/components/processes-and-threads.htmlGoogle ScholarGoogle Scholar
  38. Google. 2017. Requesting Permissions at Run Time. (2017). Retrieved 2017-7 from https://developer.android.com/training/permissions/requesting.htmlGoogle ScholarGoogle Scholar
  39. Google. 2017. The Activity Lifecycle. (2017). Retrieved 2017-7 from https://developer.android.com/guide/components/activities/activity-lifecycle.htmlGoogle ScholarGoogle Scholar
  40. Simone GRAZIUSSI. 2016. Lifecycle and Event-Based Testing for Android Applications. Master's thesis. School Of Industrial Engineering and Information, Politecnico.Google ScholarGoogle Scholar
  41. F-droid Group. 2017. F-Droid. (2017). Retrieved 2017-2-18 from https://f-droid.org/Google ScholarGoogle Scholar
  42. JaCoCo Group. 2017. JaCoCo. (2017). Retrieved 2017-7 from http://www.eclemma.org/jacoco/Google ScholarGoogle Scholar
  43. Tianxiao Gu, Chun Cao, Tianchi Liu, Chengnian Sun, Jing Deng, Xiaoxing Ma, and Jian Lu. 2017. AimDroid: Activity-Insulated Multi-level Automated Testing for Android Applications. In 2017 IEEE International Conference on Software Maintenance and Evolution, ICSME 2017, Shanghai, China, September 17--22, 2017. 103--114.Google ScholarGoogle Scholar
  44. Shuai Hao, Bin Liu, Suman Nath, William G.J. Halfond, and Ramesh Govindan. 2014. PUMA: Programmable UI-automation for Large-scale Dynamic Analysis of Mobile Apps. In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys '14). ACM, New York, NY, USA, 204--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Cuixiong Hu and Iulian Neamtiu. 2011. Automating GUI Testing for Android Applications. In Proceedings of the 6th International Workshop on Automation of Software Test (AST '11). ACM, New York, NY, USA, 77--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Gang Hu, Xinhao Yuan, Yang Tang, and Junfeng Yang. 2014. Efficiently, effectively detecting mobile app bugs with AppDoctor. In Ninth Eurosys Conference 2014, EuroSys 2014, Amsterdam, The Netherlands, April 13--16, 2014. 18:1--18:15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. JDK. 2017. JDK 7 Compatibility Issues. (2017). Retrieved 2017-7 from http://kb.yworks.com/article/550/Google ScholarGoogle Scholar
  48. Shujuan Jiang, Hongchang Zhang, Qingtan Wang, and Yanmei Zhang. 2010. A Debugging Approach for Java Runtime Exceptions Based on Program Slicing and Stack Traces. In Proceedings of the 2010 10th International Conference on Quality Software (QSIC '10). IEEE Computer Society, Washington, DC, USA, 393--398. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Nataniel P. Borges Jr. 2017. Data flow oriented UI testing: exploiting data flows and UI elements to test Android applications. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, Santa Barbara, CA, USA, July 10 - 14, 2017. 432--435. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Junit. 2017. Junit. (2017). Retrieved 2017-7 from http://junit.org/junit4/Google ScholarGoogle Scholar
  51. Pavneet Singh Kochhar, Ferdian Thung, Nachiappan Nagappan, Thomas Zimmermann, and David Lo. 2015. Understanding the Test Automation Culture of App Developers. In 8th IEEE International Conference on Software Testing, Verification and Validation, ICST 2015, Graz, Austria, April 13--17, 2015. 1--10.Google ScholarGoogle Scholar
  52. Mario Linares-Vásquez, Gabriele Bavota, Michele Tufano, Kevin Moran, Massimiliano Di Penta, Christopher Vendome, Carlos Bernal-Cárdenas, and Denys Poshyvanyk. 2017. Enabling Mutation Testing for Android Apps. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). ACM, New York, NY, USA, 233--244. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Mario Linares-Vasquez, Christopher Vendome, Qi Luo, and Denys Poshyvanyk. 2015. How Developers Detect and Fix Performance Bottlenecks in Android Apps. In Proceedings of the 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) (ICSME '15). IEEE Computer Society, Washington, DC, USA, 352--361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Yepang Liu, Lili Wei, Chang Xu, and Shing-Chi Cheung. 2016. DroidLeaks: Benchmarking Resource Leak Bugs for Android Applications. CoRR abs/1611.08079 (2016).Google ScholarGoogle Scholar
  55. Yepang Liu, Chang Xu, and Shing-Chi Cheung. 2014. Characterizing and Detecting Performance Bugs for Smartphone Applications. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). 1013--1024. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Yepang Liu, Chang Xu, Shing-Chi Cheung, and Valerio Terragni. 2016. Understanding and Detecting Wake Lock Misuses for Android Applications. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016). ACM, New York, NY, USA, 396--409. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Local-GSM-Backend. 2017. Local-GSM-Backend. (2017). Retrieved 2017-7 from https://github.com/n76/Local-GSM-BackendGoogle ScholarGoogle Scholar
  58. Local-GSM-Backend. 2017. Local-GSM-Backend revision 07e4a759. (2017). Retrieved 2017-7 from https://github.com/n76/Local-GSM-Backend/commit/07e4a759392c6f2c0b28890f96a177cb211fc2dGoogle ScholarGoogle Scholar
  59. Alex Lockwood. 2017. Fragment Transactions and Activity State Loss. (2017). Retrieved 2017-7 from http://www.androiddesignpatterns.com/2013/08/fragment-transaction-commit-state-loss.htmlGoogle ScholarGoogle Scholar
  60. Aravind Machiry, Rohan Tahiliani, and Mayur Naik. 2013. Dynodroid: an input generation system for Android apps. In Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE'13, Saint Petersburg, Russian Federation, August 18--26, 2013. 224--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Riyadh Mahmood, Nariman Mirzaei, and Sam Malek. 2014. EvoDroid: segmented evolutionary testing of Android apps. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (FSE-22), Hong Kong, China, November 16 - 22, 2014. 599--609. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Amiya Kumar Maji, Kangli Hao, Salmin Sultana, and Saurabh Bagchi. 2010. Characterizing Failures in Mobile OSes: A Case Study with Android and Symbian. In Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering (ISSRE '10). IEEE Computer Society, Washington, DC, USA, 249--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: multi-objective automated testing for Android applications. In Proceedings of the 25th International Symposium on Software Testing and Analysis, ISSTA 2016, Saarbrücken, Germany, July 18--20, 2016. 94--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Tyler McDonnell, Baishakhi Ray, and Miryung Kim. 2013. An Empirical Study of API Stability and Adoption in the Android Ecosystem. In Proceedings of the 2013 IEEE International Conference on Software Maintenance (ICSM '13). IEEE Computer Society, Washington, DC, USA, 70--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Guozhu Meng, Yinxing Xue, Jing Kai Siow, Ting Su, Annamalai Narayanan, and Yang Liu. 2017. AndroVault: Constructing Knowledge Graph from Millions of Android Apps for Automated Analysis. arXiv preprint arXiv:1711.07451 (2017).Google ScholarGoogle Scholar
  66. Hamed Mirzaei and Abbas Heydarnoori. 2015. Exception Fault Localization in Android Applications. In Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft '15). IEEE Press, Piscataway, NJ, USA, 156--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. NextGIS Mobile. 2017. revision 2ef12a7. (2017). Retrieved 2017-7 from https://github.com/nextgis/android_gisapp/commit/2ef12a75eda6ed1c39a51e2ba18039cc571e5b0eGoogle ScholarGoogle Scholar
  68. Kevin Moran, Mario Linares Vásquez, Carlos Bernal-Cárdenas, Christopher Vendome, and Denys Poshyvanyk. 2016. Automatically Discovering, Reporting and Reproducing Android Application Crashes. In 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016, Chicago, IL, USA, April 11--15, 2016. 33--44.Google ScholarGoogle Scholar
  69. Kevin Moran, Mario Linares Vásquez, Carlos Bernal-Cárdenas, Christopher Vendome, and Denys Poshyvanyk. 2017. CrashScope: a practical tool for automated testing of Android applications. In Proceedings of the 39th International Conference on Software Engineering, ICSE 2017, Buenos Aires, Argentina, May 20--28, 2017 - Companion Volume. 15--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. MPDroid. 2017. MPDroid. (2017). Retrieved 2017-7 from https://github.com/abarisain/dmix/issues/286Google ScholarGoogle Scholar
  71. Nextcloud Notes. 2017. Nextcloud Notes. (2017). Retrieved 2017-7 from https://github.com/stefan-niedermann/nextcloud-notesGoogle ScholarGoogle Scholar
  72. Nextcloud Notes. 2017. Nextcloud Notes. (2017). Retrieved 2017-7 from https://github.com/stefan-niedermann/nextcloud-notes/issues/199Google ScholarGoogle Scholar
  73. Nextcloud Notes. 2017. Nextcloud Notes. (2017). Retrieved 2017-7 from https://github.com/stefan-niedermann/nextcloud-notes/pull/212/commits/aa1a97292b5f7511473282cc40f23e786f019d7fGoogle ScholarGoogle Scholar
  74. PMD. 2017. PMD Android rules. (2017). Retrieved 2017-8 from https://pmd.github.io/pmd-5.8.1/pmd-java/rules/java/android.htmlGoogle ScholarGoogle Scholar
  75. Lenin Ravindranath, Suman Nath, Jitendra Padhye, and Hari Balakrishnan. 2014. Automatic and Scalable Fault Detection for Mobile Applications. In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys '14). ACM, New York, NY, USA, 190--203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Robolectric. 2017. Robolectric: test-drive your Android code. (2017). Retrieved 2017-7 from http://robolectric.org/Google ScholarGoogle Scholar
  77. Vlad Roubtsov. 2017. EMMA. (2017). Retrieved 2017-2-18 from http://emma.sourceforge.net/Google ScholarGoogle Scholar
  78. Gayathri Santhanakrishnan, Chris Cargile, and Aspen Olmsted. 2016. Memory leak detection in android applications based on code patterns. In Information Society (i-Society), 2016 International Conference on. IEEE, 133--134.Google ScholarGoogle Scholar
  79. Hossain Shahriar, Sarah North, and Edward Mawangi. 2014. Testing of Memory Leak in Android Applications. In 15th International IEEE Symposium on High-Assurance Systems Engineering, HASE 2014, Miami Beach, FL, USA, January 9--11, 2014. 176--183. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Zhiyong Shan, Tanzirul Azim, and Iulian Neamtiu. 2016. Finding Resume and Restart Errors in Android Applications. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016). ACM, New York, NY, USA, 864--880. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Saurabh Sinha, Hina Shah, Carsten Görg, Shujuan Jiang, Mijung Kim, and Mary Jean Harrold. 2009. Fault Localization and Repair for Java Runtime Exceptions. In Proceedings of the Eighteenth International Symposium on Software Testing and Analysis (ISSTA '09). ACM, New York, NY, USA, 153--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. Sonar. 2017. Sonar. (2017). Retrieved 2017-7 from https://www.sonarqube.org/Google ScholarGoogle Scholar
  83. Wei Song, Xiangxing Qian, and Jeff Huang. 2017. EHBDroid: Beyond GUI Testing for Android Applications. In Proceedings of the 32Nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2017). IEEE Press, Piscataway, NJ, USA, 27--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Ting Su. 2016. FSMdroid: Guided GUI Testing of Android Apps. In Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Austin, TX, USA, May 14--22, 2016 - Companion Volume. 689--691. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Ting Su, Guozhu Meng,Yuting Chen, Ke Wu, Weiming Yang, Yao Yao, Geguang Pu, Yang Liu, and Zhendong Su. 2017. Guided, Stochastic Model-based GUI Testing of Android Apps. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). ACM, New York, NY, USA, 245--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Ting Su, Ke Wu, Weikai Miao, Geguang Pu, Jifeng He, Yuting Chen, and Zhendong Su. 2017. A Survey on Data-Flow Testing. ACM Comput. Surv. 50, 1, Article 5 (March 2017), 35 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Raja Vallée-Rai, Phong Co, Etienne Gagnon, Laurie Hendren, Patrick Lam, and Vijay Sundaresan. 1999. Soot-a Java bytecode optimization framework. In Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research. IBM Press, 13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Heila van der Merwe, Brink van der Merwe, and Willem Visser. 2012. Verifying Android Applications Using Java PathFinder. SIGSOFT Softw. Eng. Notes 37, 6 (Nov. 2012), 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. Lili Wei, Yepang Liu, and Shing-Chi Cheung. 2016. Taming Android Fragmentation: Characterizing and Detecting Compatibility Issues for Android Apps. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016). ACM, New York, NY, USA, 226--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. Rongxin Wu, Hongyu Zhang, Shing-Chi Cheung, and Sunghun Kim. 2014. CrashLocator: Locating Crashing Faults Based on Crash Stacks. In Proceedings of the 2014 International Symposium on Software Testing and Analysis (ISSTA 2014). ACM, New York, NY, USA, 204--214. Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Wei Yang, Mukul R. Prasad, and Tao Xie. 2013. A Grey-Box Approach for Automated GUI-Model Generation of Mobile Applications. In Fundamental Approaches to Software Engineering - 16th International Conference, FASE 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16--24, 2013. Proceedings. 250--265. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. Razieh Nokhbeh Zaeem, Mukul R. Prasad, and Sarfraz Khurshid. 2014. Automated Generation of Oracles for Testing User-Interaction Features of Mobile Apps. In Proceedings of the 2014 IEEE International Conference on Software Testing, Verification, and Validation (ICST '14). IEEE Computer Society, Washington, DC, USA, 183--192. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Large-scale analysis of framework-specific exceptions in Android apps

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ICSE '18: Proceedings of the 40th International Conference on Software Engineering
      May 2018
      1307 pages
      ISBN:9781450356381
      DOI:10.1145/3180155
      • Conference Chair:
      • Michel Chaudron,
      • General Chair:
      • Ivica Crnkovic,
      • Program Chairs:
      • Marsha Chechik,
      • Mark Harman

      Copyright © 2018 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 May 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate276of1,856submissions,15%

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader