skip to main content
10.1145/3196321.3196322acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
invited-talk

Overcoming language dichotomies: toward effective program comprehension for mobile app development

Published:28 May 2018Publication History

ABSTRACT

Mobile devices and platforms have become an established target for modern software developers due to performant hardware and a large and growing user base numbering in the billions. Despite their popularity, the software development process for mobile apps comes with a set of unique, domain-specific challenges rooted in program comprehension. Many of these challenges stem from developer difficulties in reasoning about different representations of a program, a phenomenon we define as a "language dichotomy". In this paper, we reflect upon the various language dichotomies that contribute to open problems in program comprehension and development for mobile apps. Furthermore, to help guide the research community towards effective solutions for these problems, we provide a roadmap of directions for future work.

References

  1. 2018 stack overflow developer survey https://insights.stackoverflow.com/survey/2018/.Google ScholarGoogle Scholar
  2. Adobe Photoshop http://www.photoshop.com.Google ScholarGoogle Scholar
  3. Android architecture components https://developer.android.com/topic/libraries/architecture/index.html.Google ScholarGoogle Scholar
  4. Android studio layout editor https://developer.android.com/studio/write/layout-editor.html.Google ScholarGoogle Scholar
  5. Android UI/Application Exerciser Monkey http://developer.android.com/tools/help/monkey.html.Google ScholarGoogle Scholar
  6. Apple App Store https://www.apple.com/ios/app-store/.Google ScholarGoogle Scholar
  7. Arcore https://developers.google.com/ar/discover/.Google ScholarGoogle Scholar
  8. Arkit https://developer.apple.com/arkit/.Google ScholarGoogle Scholar
  9. Google Play Store https://play.google.com/store?hl=en.Google ScholarGoogle Scholar
  10. Intent Fuzzer https://www.isecpartners.com/tools/mobile-security/intent-fuzzer.aspx.Google ScholarGoogle Scholar
  11. ionic framework https://ionicframework.com/.Google ScholarGoogle Scholar
  12. React native https://facebook.github.io/react-native/.Google ScholarGoogle Scholar
  13. The Sketch Design Tool https://www.sketchapp.com.Google ScholarGoogle Scholar
  14. Statista - Mobile Market Share https://www.statista.com/statistics/266136/global-market-share-held-by-smartphone-operating-systems/.Google ScholarGoogle Scholar
  15. Xamarin Test Cloud https://www.xamarin.com.Google ScholarGoogle Scholar
  16. Xcode interface builder https://developer.apple.com/xcode/interface-builder/.Google ScholarGoogle Scholar
  17. How developers micro-optimize android apps. J. Syst. Softw., 130(C):1--23, Aug. 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. Agolli, L. Pollock, and J. Clause. Investigating decreasing energy usage in mobile apps via indistinguishable color changes. In 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems, MobileSoft'17, pages 30--34, May 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Amalfitano, A. R. Fasolino, P. Tramontana, S. De Carmine, and A. M. Memon. Using GUI Ripping for Automated Testing of Android Applications. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE'12, pages 258--261, Essen, Germany, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Anand, M. Naik, M. J. Harrold, and H. Yang. Automated Concolic Testing of Smartphone Apps. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE '12, pages 59:1--59:11, Cary, North Carolina, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Apple. App Store - Support. https://developer.apple.com/support/app-store/.Google ScholarGoogle Scholar
  22. J. Aranda and G. Venolia. The secret life of bugs: Going past the errors and omissions in software repositories. In 31st International Conference on Software Engineering, ICSE 2009, May 16-24, 2009, Vancouver, Canada, Proceedings, pages 298--308, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. Azim and I. Neamtiu. 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 '13, pages 641--660, Indianapolis, Indiana, USA, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Bavota, M. Linares-Vásquez, C. Bernal-Cárdenas, M. Di Penta, R. Oliveto, and D. Poshyvanyk. The Impact of API Change- and Fault-Proneness on the User Ratings of Android Apps. Software Engineering, IEEE Transactions on, 41(4):384--407, Apr. 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Bell, N. Sarda, and G. Kaiser. Chronicler: Lightweight Recording to Reproduce Field Failures. In Proceedings of the 2013 International Conference on Software Engineering, ICSE'13, pages 362--371, San Francisco, CA, USA, 2013. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. Beltramelli. Pix2code: Generating Code from a Graphical User Interface Screenshot. CoRR, abs/1705.07962, 2017.Google ScholarGoogle Scholar
  27. N. Bettenburg, R. Premraj, T. Zimmermann, and S. Kim. Extracting Structural Information from Bug Reports. In Proceedings of the 2008 International Working Conference on Mining Software Repositories, MSR '08, pages 27--30, Leipzig, Germany, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Y. Cao, H. Zhang, and S. Ding. SymCrash: Selective Recording for Reproducing Crashes. In Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE '14, pages 791--802, Vasteras, Sweden, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. N. Chen, J. Lin, S. C. H. Hoi, X. Xiao, and B. Zhang. AR-miner: Mining Informative Reviews for Developers from Mobile App Marketplace. In Proceedings of the 36th International Conference on Software Engineering, ICSE'14, pages 767--778, Hyderabad, India, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. W. Choi, G. Necula, and K. Sen. 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 '13, pages 623--640, Indianapolis, Indiana, USA, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. R. Choudhary, A. Gorla, and A. Orso. Automated Test Input Generation for Android: Are We There Yet? (E). In 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE'15, pages 429--440, Nov. 2015. ISSN:.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. A. Chowdhury and A. Hindle. Characterizing Energy-aware Software Projects: Are They Different? In Proceedings of the 13th International Conference on Mining Software Repositories, MSR '16, pages 508--511, Austin, Texas, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. Clause and A. Orso. A Technique for Enabling and Supporting Debugging of Field Failures. In Proceedings of the 29th International Conference on Software Engineering, ICSE '07, pages 261--270, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. K. Czarnecki, Z. Malik, and R. Lotufo. Modelling the ‘Hurried’ Bug Report Reading Process to Summarize Bug Reports. In Proceedings of the 2012 IEEE International Conference on Software Maintenance (ICSM), ICSM '12, pages 430--439, Washington, DC, USA, 2012. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. L. Deng, N. Mirzaei, P. Ammann, and J. Offutt. Towards mutation analysis of Android apps. In ICSTW '15, ICSTW '15, pages 1--10, Apr. 2015.Google ScholarGoogle ScholarCross RefCross Ref
  36. L. Deng, J. Offutt, P. Ammann, and N. Mirzaei. Mutation Operators for Testing Android Apps. Inf. Softw. Technol., 81(C):154--168, Jan. 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. D. Di Nucci, F. Palomba, A. Prota, A. Panichella, A. Zaidman, and A. De Lucia. PETrA: A software-based tool for estimating the energy profile of android applications. In Proceedings of the 39th International Conference on Software Engineering Companion, ICSE-C'17, pages 3--6, Piscataway, NJ, USA, 2017. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process, 25(1):53-- 95.Google ScholarGoogle ScholarCross RefCross Ref
  39. M. Dong and L. Zhong. Chameleon: A color-adaptive web browser for mobile OLED displays. IEEE Transactions on Mobile Computing, 11(5):724--738, May 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. M. Dong and L. Zhong. Power modeling and optimization for OLED displays. IEEE Transaction on Mobile Computing, 11(9):September, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. M. Fazzini, E. N. D. A. Freitas, S. R. Choudhary, and A. Orso. Barista: A Technique for Recording, Encoding, and Running Platform Independent Android Tests. In 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST), ICST'17, pages 149--160, Mar. 2017. ISSN:.Google ScholarGoogle ScholarCross RefCross Ref
  42. M. Fazzini and A. Orso. Automated cross-platform inconsistency detection for mobile apps. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE'17, pages 308--318, Oct. 2017. ISSN:. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. L. Gomez, I. Neamtiu, T. Azim, and T. Millstein. RERAN: Timing- and Touch-sensitive Record and Replay for Android. In Proceedings of the 2013 International Conference on Software Engineering, ICSE'13, pages 72--81, San Francisco, CA, USA, 2013. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. G. Grano, A. Ciurumelea, S. Panichella, S. Palomba, and H. Gall. Exploring the integration of user feedback in automated testing of android applications. In Proceedings of the 25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER '18, 2018.Google ScholarGoogle ScholarCross RefCross Ref
  45. T. Gu, C. Cao, T. Liu, C. Sun, J. Deng, X. Ma, and J. Lü. AimDroid: Activity-Insulated Multi-level Automated Testing for Android Applications. In 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), ICSME'17, pages 103--114, Sept. 2017. ISSN:.Google ScholarGoogle Scholar
  46. Z. Gu, E. Barr, D. Hamilton, and Z. Su. Has the bug really beenfi xed? In Software Engineering, 2010 ACM/IEEE 32nd International Conference On, volume 1 of ICSE'10, pages 55--64, May 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. J. Gui, S. Mcilroy, M. Nagappan, and W. G. J. Halfond. Truth in Advertising: The Hidden Cost of Mobile Ads for Software Developers. In Proceedings of the 37th International Conference on Software Engineering - Volume 1, ICSE '15, pages 100--110, Florence, Italy, 2015. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. P. J. Guo, T. Zimmermann, N. Nagappan, and B. Murphy. Characterizing and Predicting Which Bugs Get Fixed: An Empirical Study of Microsoft Windows. In Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE '10, pages 495--504, Cape Town, South Africa, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. D. Han, C. Zhang, X. Fan, A. Hindle, K. Wong, and E. Stroulia. Understanding android fragmentation with topic analysis of vendor-specific bugs. InProceedings of the 2012 19th Working Conference on Reverse Engineering, WCRE '12, pages 83--92, Washington, DC, USA, 2012. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. S. Hao, B. Liu, S. Nath, W. G. Halfond, and R. Govindan. 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, pages 204--217, Bretton Woods, New Hampshire, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. G. Hu, X. Yuan, Y. Tang, and J. Yang. Efficiently, Effectively Detecting Mobile App Bugs with AppDoctor. In Proceedings of the Ninth European Conference on Computer Systems, EuroSys '14, pages 18:1--18:15, Amsterdam, The Netherlands, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Y. Hu, T. Azim, and I. Neamtiu. Versatile Yet Lightweight Record-and-replay for Android. In OOPSLA'15, OOPSLA 2015, pages 349--366, Pittsburgh, PA, USA, 2015. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. R. Jabbarvand, A. Sadeghi, J. Garcia, S. Malek, and P. Ammann. Ecodroid: An approach for energy-based ranking of android apps. In Proceedings of the Fourth International Workshop on Green and Sustainable Software, GREENS '15, pages 8--14, Piscataway, NJ, USA, 2015. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. G. Jeong, S. Kim, and T. Zimmermann. Improving Bug Triage with Bug Tossing Graphs. In Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, ESEC/FSE '09, pages 111--120, Amsterdam, The Netherlands, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. W. Jin and A. Orso. BugRedux: Reproducing Field Failures for In-house Debugging. In Proceedings of the 34th International Conference on Software Engineering, ICSE '12, pages 474--484, Zurich, Switzerland, 2012. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. W. Jin and A. Orso. F3: Fault Localization for Field Failures. In Proceedings of the 2013 International Symposium on Software Testing and Analysis, ISSTA'13, pages 213--223, Lugano, Switzerland, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. N. Jones. Seven best practices for optimizing mobile testing efforts. Technical Report G00248240, Gartner.Google ScholarGoogle Scholar
  58. M. Joorabchi, M. Mirzaaghaei, and A. Mesbah. Works for Me! Characterizing Non-reproducible Bug Reports. In Proceedings of the 11th Working Conference on Mining Software Repositories, MSR'14, pages 62--71, Hyderabad, India, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. M. E. Joorabchi, M. Ali, and A. Mesbah. Detecting inconsistencies in multi-platform mobile apps. In 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE), ISSRE'15, pages 450--460, Nov. 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. H. Khalid, M. Nagappan, E. Shihab, and A. E. Hassan. Prioritizing the Devices to Test Your App on: A Case Study of Android Game Apps. In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE'14, pages 610--620, Hong Kong, China, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. F. M. Kifetew, W. Jin, R. Tiella, A. Orso, and P. Tonella. Reproducing Field Failures for Programs with Complex Grammar-Based Input. In 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation, ICST'14, pages 163--172, Mar. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. D. Kim, Y. Tao, S. Kim, and A. Zeller. Where Should We Fix This Bug? A Two-Phase Recommendation Model. Software Engineering, IEEE Transactions on, 39(11):1597--1610, Nov. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. S. Kim, T. Zimmermann, and N. Nagappan. Crash graphs: An aggregated view of multiple crashes to improve crash triage. In Dependable Systems Networks (DSN), 2011 IEEE/IFIP 41st International Conference On, DSN'11, pages 486--493, June 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. A. G. Koru and J. Tian. Defect Handling in Medium and Large Open Source Projects. IEEE Softw., 21(4):54--61, July 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. V. Lelli, A. Blouin, and B. Baudry. Classifying and Qualifying GUI Defects. In 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), ICST'15, pages 1--10, Apr. 2015.Google ScholarGoogle Scholar
  66. D. Li and W. G. J. Halfond. Optimizing energy of http requests in android applications. In Proceedings of the 3rd International Workshop on Software Development Lifecycle for Mobile, DeMobile 2015, pages 25--28, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. D. Li, S. Hao, J. Gui, and W. G. J. Halfond. An Empirical Study of the Energy Consumption of Android Applications. In 2014 IEEE International Conference on Software Maintenance and Evolution, ICSME'14, pages 121--130, Sept. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. D. Li, S. Hao, W. G. J. Halfond, and R. Govindan. Calculating Source Line Level Energy Information for Android Applications. In Proceedings of the 2013 International Symposium on Software Testing and Analysis, ISSTA'13, pages 78--89, Lugano, Switzerland, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. D. Li, Y. Lyu, J. Gui, and W. G. J. Halfond. Automated Energy Optimization of HTTP Requests for Mobile Applications. In Proceedings of the 38th International Conference on Software Engineering, ICSE '16, pages 249--260, New York, NY, USA, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. D. Li, A. H. Tran, and W. G. J. Halfond. Making Web Applications More Energy Efficient for OLED Smartphones. In Proceedings of the 36th International Conference on Software Engineering, ICSE'14, pages 527--538, Hyderabad, India, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. L. Li, T. F. BissyandÃl', M. Papadakis, S. Rasthofer, A. Bartel, D. Octeau, J. Klein, and L. Traon. Static analysis of android apps: A systematic literature review. Information and Software Technology, 88:67 -- 95, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Y. Lin, S. Okur, and D. Dig. Study and Refactoring of Android Asynchronous Programming (T). In 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE'15, pages 224--235, Nov. 2015. ISSN:.Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. M. Linares-Vásquez, G. Bavota, C. Bernal-Cárdenas, M. Di Penta, R. Oliveto, and D. Poshyvanyk. API Change and Fault Proneness: A Threat to the Success of Android Apps. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, FSE'13, pages 477--487, Saint Petersburg, Russia, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. M. Linares-Vásquez, G. Bavota, C. Bernal-Cárdenas, R. Oliveto, M. Di Penta, and D. Poshyvanyk. Mining Energy-greedy API Usage Patterns in Android Apps: An Empirical Study. In Proceedings of the 11th Working Conference on Mining Software Repositories, MSR'14, pages 2--11, Hyderabad, India, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. M. Linares-Vásquez, G. Bavota, C. E. B. Cárdenas, R. Oliveto, M. Di Penta, and D. Poshyvanyk. Optimizing Energy Consumption of GUIs in Android Apps: A Multi-objective Approach. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, FSE'15, pages 143--154, Bergamo, Italy, 2015. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. M. Linares-Vásquez, G. Bavota, M. Tufano, K. Moran, M. Di Penta, C. Vendome, C. Bernal-Cárdenas, and D. Poshyvanyk. Enabling Mutation Testing for Android Apps. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, FSE'17, pages 233--244, Paderborn, Germany, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. M. Linares-Vásquez, C. Bernal-Cardenas, K. Moran, and D. Poshyvanyk. How do Developers Test Android Applications? In 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), ICSME'17, pages 613--622, Sept. 2017. ISSN:.Google ScholarGoogle ScholarCross RefCross Ref
  78. M. Linares-Vásquez, K. Hossen, H. Dang, H. Kagdi, M. Gethers, and D. Poshyvanyk. Triaging incoming change requests: Bug or commit history, or code authorship? In Software Maintenance (ICSM), 2012 28th IEEE International Conference On, pages 451--460, Sept. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. M. Linares-Vásquez, K. Moran, and D. Poshyvanyk. Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App Testing. In 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), ICSME'17, pages 399--410, Sept. 2017. ISSN:.Google ScholarGoogle Scholar
  80. M. Linares-Vásquez, C. Vendome, Q. Luo, and D. Poshyvanyk. How developers detect and fix performance bottlenecks in Android apps. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), ICSME'15, pages 352--361, Sept. 2015. ISSN:. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. M. Linares-Vásquez, M. White, C. Bernal-Cárdenas, K. Moran, and D. Poshyvanyk. Mining Android App Usages for Generating Actionable GUI-based Execution Scenarios. In Proceedings of the 12th Working Conference on Mining Software Repositories, MSR '15, pages 111--122, Florence, Italy, 2015. IEEE Press. Google ScholarGoogle ScholarCross RefCross Ref
  82. M. Linares-VÃąsquez, C. Bernal-CÃąrdenas, G. Bavota, R. Oliveto, M. D. Penta, and D. Poshyvanyk. Gemma: Multi-objective optimization of energy consumption of guis in android apps. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), ICSE-C'17, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Y. Liu, C. Xu, S. Cheung, and J. Lu. GreenDroid: Automated diagnosis of energy inefficiency for smartphone applications. IEEE Transactions on Software Engineering, Preprint, 2014.Google ScholarGoogle Scholar
  84. X. Lu, X. Liu, H. Li, T. Xie, Q. Mei, D. Hao, G. Huang, and F. Feng. PRADA: Prioritizing Android Devices for Apps by Mining Large-scale Usage Data. In Proceedings of the 38th International Conference on Software Engineering, ICSE '16, pages 3--13, New York, NY, USA, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. A. Machiry, R. Tahiliani, and M. Naik. Dynodroid: An Input Generation System for Android Apps. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, FSE'13, pages 224--234, Saint Petersburg, Russia, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. S. Mahajan, N. Abolhasani, P. McMinn, and W. G. Halfond. Automated repair of mobile friendly problems in web pages. In Proceedings of the International Conference on Software Engineering (ICSE), May 2018. To Appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. S. Mani, R. Catherine, V. S. Sinha, and A. Dubey. AUSUM: Approach for Unsupervised Bug Report Summarization. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE '12, pages 11:1--11:11, Cary, North Carolina, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. K. Mao, M. Harman, and Y. Jia. Sapienz: Multi-objective Automated Testing for Android Applications. In Proceedings of the 25th International Symposium on Software Testing and Analysis, ISSTA'16, pages 94--105, Saarbrücken, Germany, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. K. Mao, M. Harman, and Y. Jia. Crowd intelligence enhances automated mobile testing. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE'17, pages 16--26, Oct. 2017. ISSN:. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. W. Martin, F. Sarro, Y. Jia, Y. Zhang, and M. Harman. A survey of app store analysis for software engineering. IEEE transactions on software engineering, 43(9):817--847, 2017.Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. T. McDonnell, B. Ray, and M. Kim. An Empirical Study of API Stability and Adoption in the Android Ecosystem. In Proceedings of the 2013 International Conference on Software Maintenance, ICSM'13, pages 70--79, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. K. Moran, C. Bernal-Cárdenas, M. Curcio, R. Bonett, and D. Poshyvanyk. Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps. ArXiv e-prints, Feb. 2018.Google ScholarGoogle Scholar
  93. K. Moran, R. Bonett, C. Bernal-Cárdenas, B. Otten, D. Park, and D. Poshyvanyk. On-Device Bug Reporting for Android Applications. In MobileSOFT'17, MobileSoft'17, May 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. K. Moran, B. Li, C. Bernal-Cárdenas, D. Jelf, and D. Poshyvanyk. Automated Reporting of GUI Design Violations in Mobile Apps. In Proceedings of the 40th International Conference on Software Engineering Companion, ICSE '18, page to appear, Gothenburg, Sweden, 2018. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. K. Moran, M. Linares-Vásquez, C. Bernal-Cárdenas, and D. Poshyvanyk. Autocompleting Bug Reports for Android Applications. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, FSE'15, pages 673--686, Bergamo, Italy, 2015. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. K. Moran, M.Linares-Vásquez, C. Bernal-Cárdenas, andD. Poshyvanyk. FUSION: A Tool for Facilitating and Augmenting Android Bug Reporting. In ICSE'16, ICSE'16, May 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. K. Moran, M. Linares-Vásquez, C. Bernal-Cárdenas, C. Vendome, and D. Poshyvanyk. Automatically Discovering, Reporting and Reproducing Android Application Crashes. In 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST), ICST'16, pages 33--44, Apr. 2016. ISSN:.Google ScholarGoogle Scholar
  98. K. Moran, M. Tufano, C. Bernal-Cárdenas, M. Linares-Vásquez, G. Bavota, C. Vendome, M. Di Penta, and D. Poshyvanyk. Mdroid+: A mutation testing framework for android. In Proceedings of the 40th International Conference on Software Engineering Companion, ICSE '18, page to appear, Gothenburg, Sweden, 2018. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. H. Muccini, A. Di Francesco, and P. Esposito. Software testing of mobile applications: Challenges and future research directions. In Proceedings of the 7th International Workshop on Automation of Software Test, AST '12, pages 29--35, Piscataway, NJ, USA, 2012. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. B. Myers. Challenges of HCI Design and Implementation. Interactions, 1(1):73--83, Jan. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  101. H. Naguib, N. Narayan, B. Brügge, and D. Helal. Bug Report Assignee Recommendation Using Activity Profiles. In Proceedings of the 10th Working Conference on Mining Software Repositories, MSR '13, pages 22--30, San Francisco, CA, USA, 2013. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  102. A. T. Nguyen, T. T. Nguyen, and T. N. Nguyen. Divide-and-Conquer Approach for Multi-phase Statistical Migration for Source Code (T). In 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE'15, pages 585--596, Nov. 2015. ISSN:.Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. A. T. Nguyen, T. T. Nguyen, T. N. Nguyen, D. Lo, and C. Sun. Duplicate Bug Report Detection with a Combination of Information Retrieval and Topic Modeling. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pages 70--79, Essen, Germany, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  104. T. A. Nguyen and C. Csallner. Reverse Engineering Mobile Application User Interfaces with REMAUI. In Proceedings of the 2015 30th IEEE/ACM International Conference on Automated Software Engineering, ASE'15, pages 248--259, Washington, DC, USA, 2015. IEEE Computer Society.Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. D. D. Nucci, F. Palomba, A. Prota, A. Panichella, A. Zaidman, and A. D. Lucia. Software-based energy profiling of android apps: Simple, efficient and reliable? In 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering, SANER'17, pages 103--114, Feb 2017.Google ScholarGoogle ScholarCross RefCross Ref
  106. F. Palomba, M. Linares-Vásquez, G. Bavota, R. Oliveto, M. D. Penta, D. Poshyvanyk, and A. D. Lucia. User reviews matter! Tracking crowdsourced reviews to support evolution of successful apps. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), ICSME'15, pages 291--300, Sept. 2015. ISSN:. Google ScholarGoogle ScholarDigital LibraryDigital Library
  107. F. Palomba, M. Linares-VÃąsquez, G. Bavota, R. Oliveto, M. D. Penta, D. Poshyvanyk, and A. D. Lucia. Crowdsourcing user reviews to support the evolution of mobile apps. Journal of Systems and Software, 137:143 -- 162, 2018.Google ScholarGoogle Scholar
  108. F. Palomba, P. Salza, A. Ciurumelea, S. Panichella, H. Gall, F. Ferrucci, and A. D. Lucia. Recommending and Localizing Code Changes for Mobile Apps based on User Reviews. In ICSE'17, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  109. A. Pathak, Y. Hu, and M. Zhang. Bootstrapping Energy Debugging on Smartphones: A First Look at Energy Bugs in Mobile Devices. In Hotnets'11, Hotnets'11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  110. A. Pathak, Y. Hu, and M. Zhang. Where is the energy spent inside my app? Fine Grained Energy Accounting on Smartphones with Eprof. In EuroSys'12, EuroSys'12, pages 29--42, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  111. A. Pathak, A. Jindal, Y. Hu, and S. P. Midkiff. What is keeping my phone awake? Characterizing and Detecting No-Sleep Energy Bugs in Smartphone Apps. In MobiSys'12, MobiSys'12, pages 267--280, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  112. K. Rasmussen, A. Wilson, and A. Hindle. Green mining: energy consumption of advertisement blocking methods. In GREENS'14, pages 38--45, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  113. S. Rastkar, G. C. Murphy, and G. Murray. Summarizing Software Artifacts: A Case Study of Bug Reports. In Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE '10, pages 505--514, Cape Town, South Africa, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  114. M. P. Robillard, A. Marcus, C. Treude, G. Bavota, O. Chaparro, N. Ernst, M. A. Gerosa, M. Godfrey, M. Lanza, M. Linares-Vásquez, G. C. Murphy, L. Moreno, D. Shepherd, and E. Wong. On-demand Developer Documentation. In 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), ICSME'17, pages 479--483, Sept. 2017. ISSN:.Google ScholarGoogle Scholar
  115. S. Romansky, N. C. Borle, S. Chowdhury, A. Hindle, and R. Greiner. Deep Green: Modelling Time-Series of Software Energy Consumption. In 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), ICSME'17, pages 273--283, Sept. 2017. ISSN:.Google ScholarGoogle ScholarCross RefCross Ref
  116. R. Saborido, F. Khomh, A. Hindle, and E. Alba. An app performance optimization advisor for mobile device app marketplaces. CoRR, abs/1709.04916, 2017.Google ScholarGoogle Scholar
  117. A. Sadeghi, H. Bagheri, J. Garcia, and S. Malek. A taxonomy and qualitative comparison of program analysis techniques for security assessment of android software. IEEE Transactions on Software Engineering, 43(6):492--530, June 2017.Google ScholarGoogle ScholarDigital LibraryDigital Library
  118. C. Sahin, M. Wan, P. Tornquist, R. McKenna, Z. Pearson, W. G. J. Halfond, and J. Clause. How does code obfuscation impact energy usage? Journal of Software: Evolution and Process, pages n/a-n/a, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  119. R. Sasnauskas and J. Regehr. Intent Fuzzer: Crafting Intents of Death. In Proceedings of the 2014 Joint International Workshop on Dynamic Analysis and Software and System Performance Testing, Debugging, and Analytics, WODA+PERTEA'14, pages 1--5, San Jose, CA, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. R. Shokripour, J. Anvik, Z. M. Kasirun, and S. Zamani. Why So Complicated? Simple Term Filtering and Weighting for Location-based Bug Report Assignment Recommendation. In Proceedings of the 10th Working Conference on Mining Software Repositories, MSR '13, pages 2--11, San Francisco, CA, USA, 2013. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  121. P. Stanley-Marbell, V. Estellers, and M. Rinard. Crayon: saving power through shape and color approximation on next-generation displays. In Proceedings of the Eleventh European Conference on Computer Systems, page 11. ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  122. A. B. Tucker. Computer Science Handbook, Second Edition. Chapman & Hall/CRC, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  123. M. Wan, Y. Jin, D. Li, and W. G. J. Halfond. Detecting Display Energy Hotspots in Android Apps. In 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), ICST'15, pages 1--10, Apr. 2015.Google ScholarGoogle Scholar
  124. X. Wang, L. Zhang, T. Xie, J. Anvik, and J. Sun. An Approach to Detecting Duplicate Bug Reports Using Natural Language and Execution Information. In Proceedings of the 30th International Conference on Software Engineering, ICSE '08, pages 461--470, Leipzig, Germany, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  125. L. Wei, Y. Liu, and S. C. Cheung. Taming Android fragmentation: Characterizing and detecting compatibility issues for Android apps. In 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), ASE'16, pages 226--237, Sept. 2016. ISSN:. Google ScholarGoogle ScholarDigital LibraryDigital Library
  126. C. Weiss, R. Premraj, T. Zimmermann, and A. Zeller. How Long Will It Take to Fix This Bug? In Proceedings of the Fourth International Workshop on Mining Software Repositories, MSR '07, pages 1--, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  127. H. Wu, S. Yang, and A. Rountev. Static detection of energy defect patterns in android applications. In Proceedings of the 25th International Conference on Compiler Construction, CC'16, pages 185--195, New York, NY, USA, 2016. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  128. W. Yang, M. R. Prasad, and T. Xie. A Grey-box Approach for Automated GUI-model Generation of Mobile Applications. In Proceedings of the 16th International Conference on Fundamental Approaches to Software Engineering, FASE'13, pages 250--265, Rome, Italy, 2013. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  129. H. Ye, S. Cheng, L. Zhang, and F. Jiang. DroidFuzzer: Fuzzing the Android Apps with Intent-Filter Tag. In Proceedings of International Conference on Advances in Mobile Computing & Multimedia, MoMM '13, pages 68:68--68:74, Vienna, Austria, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  130. R. N. Zaeem, M. R. Prasad, and S. Khurshid. 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, pages 183--192, Washington, DC, USA, 2014. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  131. J. Zhou and H. Zhang. Learning to Rank Duplicate Bug Reports. In Proceedings of the 21st ACM International Conference on Information and Knowledge Management, CIKM '12, pages 852--861, Maui, Hawaii, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  132. J. Zhou, H. Zhang, and D. Lo. Where Should the Bugs Be Fixed? - More Accurate Information Retrieval-based Bug Localization Based on Bug Reports. In Proceedings of the 34th International Conference on Software Engineering, ICSE '12, pages 14--24, Zurich, Switzerland, 2012. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Overcoming language dichotomies: toward effective program comprehension for mobile app development

    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
      ICPC '18: Proceedings of the 26th Conference on Program Comprehension
      May 2018
      423 pages
      ISBN:9781450357142
      DOI:10.1145/3196321

      Copyright © 2018 Owner/Author

      Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 May 2018

      Check for updates

      Qualifiers

      • invited-talk

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader