Recommending software features for mobile applications based on user interface comparison

App features are one of the most important factors that people consider when choosing apps. In order to satisfy users’ needs and attract their eyes, deciding what features should be added in next release becomes very important. Different from traditional requirement elimination, app stores provide a new platform for developers to gather requirements and perform market-wide analysis. Considering that software features provided to users can be found out by exploring existing apps, an important way to elicit requirements is analyzing existing features provided by products which offer related functions and then finding new trends and fashions promptly. In this context, we propose a data-driven approach for recommending software features of mobile applications based on user interface comparison. Our approach mines similar user interfaces (UIs) from publicly available online repository. To calculate UI similarity through the best matches of components of two UIs, text similarity is used to measure the similarity of UI components and genetic algorithm is introduced to improve the comparison efficiency. Then, we develop an algorithm to extract features from similar UIs based on a set of identification rules. These features are further clustered with text similarity algorithm and finally recommended to developers. The approach is empirically validated with 44 features from 10 UIs. The experiment results indicate that our recommended features are valuable for requirement elicitation.

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

[2]  Giuseppe Lami,et al.  An Empirical Study on the Impact of Automation on the Requirements Analysis Process , 2007, Journal of Computer Science and Technology.

[3]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[4]  Jane Cleland-Huang,et al.  On-demand feature recommendations derived from mining public product descriptions , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[6]  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).

[7]  Zhao Wei Words Similarity Algorithm Based on Tongyici Cilin in Semantic Web Adaptive Learning System , 2010 .

[8]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[9]  Tat-Seng Chua,et al.  New and improved: modeling versions to improve app recommendation , 2014, SIGIR.

[10]  Alistair Sutcliffe,et al.  Requirements elicitation: Towards the unknown unknowns , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[11]  Ted Pedersen,et al.  WordNet::Similarity - Measuring the Relatedness of Concepts , 2004, NAACL.

[12]  Robert D. Macredie,et al.  Effective Communication in Requirements Elicitation: A Comparison of Methodologies , 2002, Requirements Engineering.

[13]  Xiangping Chen,et al.  A Platform for Searching UI Component of Android Application , 2014, 2014 5th International Conference on Digital Home.

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

[15]  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).

[16]  Irit Hadar,et al.  The role of domain knowledge in requirements elicitation via interviews: an exploratory study , 2012, Requirements Engineering.

[17]  Gediminas Adomavicius,et al.  Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions , 2005, IEEE Transactions on Knowledge and Data Engineering.

[18]  Lei Chen,et al.  Towards Better Understanding of App Functions , 2015, Journal of Computer Science and Technology.

[19]  Yuan Huang,et al.  Topic Matching Based Change Impact Analysis from Feature on User Interface of Mobile Apps. , 2015, ICSE 2015.

[20]  Pern Hui Chia,et al.  Is this app safe?: a large scale study on application permissions and risk signals , 2012, WWW.

[21]  Shreta Sharma,et al.  Requirements elicitation: Issues and challenges , 2014, 2014 International Conference on Computing for Sustainable Global Development (INDIACom).

[22]  Alessia Knauss On the usage of context for requirements elicitation: End-user involvement in IT ecosystems , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[23]  Jane Cleland-Huang,et al.  Supporting Domain Analysis through Mining and Recommending Features from Online Product Listings , 2013, IEEE Transactions on Software Engineering.

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

[25]  Wang-Chien Lee,et al.  App recommendation: a contest between satisfaction and temptation , 2013, WSDM.

[26]  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).

[27]  Yoav Shoham,et al.  Fab: content-based, collaborative recommendation , 1997, CACM.

[28]  Hong Yu,et al.  Recommending Features of Mobile Applications for Developer , 2016, ADMA.

[29]  Ying Zou,et al.  Detecting Android Malware Using Clone Detection , 2015, Journal of Computer Science and Technology.

[30]  Gabriele Bavota,et al.  API change and fault proneness: a threat to the success of Android apps , 2013, ESEC/FSE 2013.

[31]  Huan Luo,et al.  Which Android App Store Can Be Trusted in China? , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[32]  Dawn Xiaodong Song,et al.  Mining Permission Request Patterns from Android and Facebook Applications , 2012, 2012 IEEE 12th International Conference on Data Mining.

[33]  Peter J. Bentley,et al.  Investigating Country Differences in Mobile App User Behavior and Challenges for Software Engineering , 2015, IEEE Transactions on Software Engineering.

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

[35]  Luisa Mich,et al.  The effectiveness of an optimized EPMcreate as a creativity enhancement technique for Web site requirements elicitation , 2011, Requirements Engineering.

[36]  Yuanyuan Zhang,et al.  A Survey of App Store Analysis for Software Engineering , 2017, IEEE Transactions on Software Engineering.

[37]  Tat-Seng Chua,et al.  Addressing cold-start in app recommendation: latent user models constructed from twitter followers , 2013, SIGIR.

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

[39]  Zibin Zheng,et al.  Location-Based Hierarchical Matrix Factorization for Web Service Recommendation , 2014, 2014 IEEE International Conference on Web Services.