Future Trends in Software Engineering Research for Mobile Apps

There has been tremendous growth in the use of mobile devices over the last few years. This growth has fueled the development of millions of software applications for these mobile devices often called as 'apps'. Current estimates indicate that there are hundreds of thousands of mobile app developers. As a result, in recent years, there has been an increasing amount of software engineering research conducted on mobile apps to help such mobile app developers. In this paper, we discuss current and future research trends within the framework of the various stages in the software development life-cycle: requirements (including non-functional), design and development, testing, and maintenance. While there are several non-functional requirements, we focus on the topics of energy and security in our paper, since mobile apps are not necessarily built by large companies that can afford to get experts for solving these two topics. For the same reason we also discuss the monetizing aspects of a mobile app at the end of the paper. For each topic of interest, we first present the recent advances done in these stages and then we present the challenges present in current work, followed by the future opportunities and the risks present in pursuing such research.

[1]  Christos Faloutsos,et al.  Why people hate your app: making sense of user feedback in a mobile app store , 2013, KDD.

[2]  Yasutaka Kamei,et al.  Mining challenge 2012: The Android platform , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[3]  Mayur Naik,et al.  Dynodroid: an input generation system for Android apps , 2013, ESEC/FSE 2013.

[4]  Young Bom Park,et al.  Mobile Application Compatibility Test System Design for Android Fragmentation , 2011, FGIT-ASEA/DRBC/EL.

[5]  Jian Lu,et al.  GreenDroid: Automated Diagnosis of Energy Inefficiency for Smartphone Applications , 2014, IEEE Transactions on Software Engineering.

[6]  Abhik Roychoudhury,et al.  Detecting energy bugs and hotspots in mobile apps , 2014, SIGSOFT FSE.

[7]  Ramesh Govindan,et al.  Calculating source line level energy information for Android applications , 2013, ISSTA.

[8]  Zhen Huang,et al.  PScout: analyzing the Android permission specification , 2012, CCS.

[9]  Isil Dillig,et al.  Apposcopy: semantics-based detection of Android malware through static analysis , 2014, SIGSOFT FSE.

[10]  Xiangyu Zhang,et al.  Plagiarizing Smartphone Applications: Attack Strategies and Defense Techniques , 2012, ESSoS.

[11]  Yuanyuan Zhang,et al.  The App Sampling Problem for App Store Mining , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[12]  Ahmed E. Hassan,et al.  Fresh apps: an empirical study of frequently-updated mobile apps in the Google play store , 2015, Empirical Software Engineering.

[13]  Jacques Klein,et al.  FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps , 2014, PLDI.

[14]  Jürgen Münch,et al.  Feature Prioritization Based on Mock-Purchase: A Mobile Case Study , 2013, LESS.

[15]  Sam Malek,et al.  EvoDroid: segmented evolutionary testing of Android apps , 2014, SIGSOFT FSE.

[16]  Ahmed E. Hassan,et al.  Impact of Ad Libraries on Ratings of Android Mobile Apps , 2014, IEEE Software.

[17]  Abram Hindle,et al.  What Do Programmers Know about Software Energy Consumption? , 2016, IEEE Software.

[18]  Ahmed E. Hassan,et al.  Prioritizing the devices to test your app on: a case study of Android game apps , 2014, SIGSOFT FSE.

[19]  Ahmed E. Hassan,et al.  On Ad Library Updates in Android Apps , 2017 .

[20]  Henry Muccini,et al.  Software testing of mobile applications: Challenges and future research directions , 2012, 2012 7th International Workshop on Automation of Software Test (AST).

[21]  William G. J. Halfond,et al.  Truth in Advertising: The Hidden Cost of Mobile Ads for Software Developers , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[22]  Rachel Harrison,et al.  What are you complaining about?: a study of online reviews of mobile applications , 2013, BCS HCI.

[23]  A. Hassan,et al.  What Do Mobile App Users Complain About ? A Study on Free iOS Apps , 2014 .

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

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

[26]  Ying Zou,et al.  Exploring the Development of Micro-apps: A Case Study on the BlackBerry and Android Platforms , 2011, 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation.

[27]  Liudmila Ulanova,et al.  An Empirical Analysis of Bug Reports and Bug Fixing in Open Source Android Apps , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[28]  Michele Lanza,et al.  SAMOA -- A Visual Software Analytics Platform for Mobile Applications , 2013, 2013 IEEE International Conference on Software Maintenance.

[29]  Jeffrey M. Voas,et al.  Vetting Mobile Apps , 2011, IT Professional.

[30]  Ning Chen,et al.  AR-miner: mining informative reviews for developers from mobile app marketplace , 2014, ICSE.

[31]  Stelios Xinogalos,et al.  A comparative analysis of cross-platform development approaches for mobile applications , 2013, BCI '13.

[32]  Gabriele Bavota,et al.  The Impact of API Change- and Fault-Proneness on the User Ratings of Android Apps , 2015, IEEE Transactions on Software Engineering.

[33]  Ajay Kumar Jha,et al.  A Risk Catalog for Mobile Applications , 2007 .

[34]  Hammad Khalid On identifying user complaints of iOS apps , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[35]  Alessandra Gorla,et al.  Mining Apps for Abnormal Usage of Sensitive Data , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[36]  Romain Rouvoy,et al.  Tracking the Software Quality of Android Applications Along Their Evolution (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[37]  Byoungju Choi,et al.  Performance Testing of Mobile Applications at the Unit Test Level , 2009, 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement.

[38]  Mario Linares Vásquez,et al.  Mining Android App Usages for Generating Actionable GUI-Based Execution Scenarios , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[39]  Walid Maalej,et al.  How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Reviews , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[40]  Abram Hindle,et al.  What do programmers know about the energy consumption of software? , 2015, PeerJ Prepr..

[41]  David A. Wagner,et al.  Analyzing inter-application communication in Android , 2011, MobiSys '11.

[42]  Marco Brambilla,et al.  Model-Driven Development of Cross-Platform Mobile Applications with Web Ratio and IFML , 2015, 2015 2nd ACM International Conference on Mobile Software Engineering and Systems.

[43]  Walid Maalej,et al.  Bug report, feature request, or simply praise? On automatically classifying app reviews , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[44]  Abram Hindle,et al.  What do programmers know about the energy consumption of software , 2015 .

[45]  Ashwini S.G GreenDroid: Automated Diagnosis of Energy Inefficiency for SmartPhone Application , 2017 .

[46]  Gabriele Bavota,et al.  Optimizing energy consumption of GUIs in Android apps: a multi-objective approach , 2015, ESEC/SIGSOFT FSE.

[47]  Iulian Neamtiu,et al.  Automating GUI testing for Android applications , 2011, AST '11.

[48]  Lori L. Pollock,et al.  How do code refactorings affect energy usage? , 2014, ESEM '14.

[49]  Kristina Winbladh,et al.  Analysis of user comments: An approach for software requirements evolution , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[50]  Yuanyuan Zhang,et al.  Feature lifecycles as they spread, migrate, remain, and die in App Stores , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[51]  Aldo Bongio,et al.  Model-driven development of cross-platform mobile applications with WebRatio and IFML , 2015, MOBILESoft '15.

[52]  Ding Li,et al.  An Empirical Study of the Energy Consumption of Android Applications , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[53]  Emad Shihab,et al.  What are mobile developers asking about? A large scale study using stack overflow , 2016, Empirical Software Engineering.

[54]  Rajesh Vasa,et al.  An Analysis of the Mobile App Review Landscape: Trends and Implications , 2013 .

[55]  David Lo,et al.  What are the characteristics of high-rated apps? A case study on free Android Applications , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[56]  William G. J. Halfond,et al.  How Does Code Obfuscation Impact Energy Usage? , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[57]  Philippe Kruchten,et al.  Real Challenges in Mobile App Development , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[58]  Ahmed E. Hassan,et al.  Explaining software defects using topic models , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[59]  Ahmed E. Hassan,et al.  Understanding reuse in the Android Market , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

[60]  Abram Hindle,et al.  GreenMiner: a hardware based mining software repositories software energy consumption framework , 2014, MSR 2014.

[61]  Ahmed E. Hassan,et al.  Continuous validation of load test suites , 2014, ICPE.

[62]  Sebastian Burckhardt,et al.  TouchDevelop: app development on mobile devices , 2012, SIGSOFT FSE.

[63]  Ahmed E. Hassan,et al.  Analyzing and automatically labelling the types of user issues that are raised in mobile app reviews , 2015, Empirical Software Engineering.

[64]  Yepang Liu,et al.  Characterizing and detecting performance bugs for smartphone applications , 2014, ICSE.

[65]  Ding Li,et al.  Detecting Display Energy Hotspots in Android Apps , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[66]  Ahmed E. Hassan,et al.  Examining the Rating System Used in Mobile-App Stores , 2016, IEEE Software.

[67]  Walid Maalej,et al.  User feedback in the appstore: An empirical study , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[68]  Abram Hindle Green mining: A methodology of relating software change to power consumption , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[69]  Steve Hanna,et al.  Android permissions demystified , 2011, CCS '11.

[70]  Brian Robinson,et al.  Improving industrial adoption of software engineering research: a comparison of open and closed source software , 2010, ESEM '10.

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

[72]  Yuanyuan Zhang,et al.  App store mining and analysis: MSR for app stores , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[73]  Alice H. Oh,et al.  Aspect and sentiment unification model for online review analysis , 2011, WSDM '11.

[74]  Miryung Kim,et al.  An Empirical Study of API Stability and Adoption in the Android Ecosystem , 2013, 2013 IEEE International Conference on Software Maintenance.

[75]  Eleni Stroulia,et al.  Understanding Android Fragmentation with Topic Analysis of Vendor-Specific Bugs , 2012, 2012 19th Working Conference on Reverse Engineering.

[76]  Alireza Sadeghi,et al.  Analysis of Android Inter-App Security Vulnerabilities Using COVERT , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[77]  Yuanyuan Zhang,et al.  Mining App Stores: Extracting Technical, Business and Customer Rating Information for Analysis and Prediction , 2013 .

[78]  Cristina V. Lopes,et al.  Trendy bugs: Topic trends in the Android bug reports , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[79]  Ali Mesbah,et al.  Detecting inconsistencies in multi-platform mobile apps , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

[80]  OndrusJan,et al.  Mobile application market , 2011 .

[81]  Ming Zhang,et al.  Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices , 2011, HotNets-X.

[82]  Gabriele Bavota,et al.  User reviews matter! Tracking crowdsourced reviews to support evolution of successful apps , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[83]  Nikolai Tillmann,et al.  The future of teaching programming is on mobile devices , 2012, ITiCSE '12.

[84]  Rachel Harrison,et al.  Retrieving and analyzing mobile apps feature requests from online reviews , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[85]  Ahmed E. Hassan,et al.  An Examination of the Current Rating System used in Mobile App Stores , 2017 .

[86]  Michele Lanza,et al.  Software Analytics for Mobile Applications--Insights & Lessons Learned , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[87]  Ahmed E. Hassan,et al.  Examining the Relationship between FindBugs Warnings and End User Ratings : A Case Study On 10 , 000 Android Apps , 2014 .

[88]  Hee-Woong Kim,et al.  AN EXPLORATORY STUDY ON THE DETERMINANTS OF SMARTPHONE APP PURCHASE , 2011 .

[89]  Carlo Ghezzi,et al.  SelfMotion: a declarative language for adaptive service-oriented mobile apps , 2012, SIGSOFT FSE.

[90]  Alessandra Gorla,et al.  Checking app behavior against app descriptions , 2014, ICSE.

[91]  Ahmed E. Hassan,et al.  Revisiting prior empirical findings for mobile apps: an empirical case study on the 15 most popular open-source Android apps , 2013, CASCON.

[92]  Marco Brambilla,et al.  Model-Driven Development Based on OMG's IFML with WebRatio Web and Mobile Platform , 2015, ICWE.

[93]  Ahmed E. Hassan,et al.  A Large-Scale Empirical Study on Software Reuse in Mobile Apps , 2014, IEEE Software.

[94]  Ahmed E. Hassan,et al.  Examining the Relationship between FindBugs Warnings and App Ratings , 2016, IEEE Software.