Abstract
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.





Similar content being viewed by others
References
Adomavicius G, Tuzhilin A (2013) Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions. Multimedia services in intelligent environments. Springer, Berlin, pp 734–749
Balabanovi M, Shoham Y (1997) Fab: content-based, collaborative recommendation. Commun ACM 40(3):66–72
Chen J, Alalfi M, Dean T, Zou Y (2015) Detecting android malware using clone detection. J Comput Sci Technol 30(5):942–956
Chen N, Lin J, Hoi S, Xiao X, Zhang B (2014) AR-miner: mining informative reviews for developers from mobile app marketplace. In: Proceedings of the 36th international conference on software engineering, May 31–June 7, 2014, pp 767–778
Chia P, Yamamoto Y, Asokan N (2012) Is this app safe? A large scale study on application permissions and risk signals. In: Proceedings of the 21st international world wide web conference, April 2012, pp 311–320
Coughlan J, Macredie R (2002) Effective communication in requirements elicitation: a comparison of methodologies. J Requir Eng 7(2):47–60
Dumitru H, Gibiec M, Hariri N, Cleland-Huang J, Mobasher B, Castro-Herrera C, Mirakhorli M (2011) Ondemand feature recommendations derived from mining public product descriptions. In: Proceedings of the 33rd international conference on software engineering, May 2011, pp 181–190
Frank M, Dong B, Felt A, Song D (2012) Mining permission request patterns from android and facebook applications. In: Proceedings of the 12th international conference on data mining, Dec. 2012, pp 870–875
Galvis Carreno L, Winbladh K (2013) Analysis of user comments: an approach for software requirements evolution. In: Proceedings of the 35th international conference on software engineering, May 2013, pp 582–591
Goldberg D (1989) Genetic algorithms in search, optimization, machine learing. Addison-Wesley Longman Publishing Co, Boston
Gorla A, Tavecchia I, Gross F, Zeller A (2014) Checking app behavior against app descriptions. In: Proceedings of the 36th international conference on software engineering, May 31–June 7, 2014, pp 102–1035
Guzman E, Maalej W (2014) How do users like this feature? A fine grained sentiment analysis of app reviews. In: Proceedings of the 22nd international requirements engineering conference, Aug. 2014, pp 153–162
Hadar I, Kenzi SP (2014) The role of domain knowledge in requirements elicitation via interviews: an exploratory study. J Requir Eng 19(2):143–159
Hariri N, Castroherrera C, Mirakhorli M, Clelandhuang J, Mobasher B (2013) Supporting domain analysis through mining and recommending features from online product listings. IEEE Trans Softw Eng 39(12):1736–1752
Harman M, Jia Y, Zhang Y (2012) App store mining and analysis: MSR for app stores. In: Proceedings of the 9th working conference on mining software repositories, June 2012, pp 108–111
He P, Zhu J, Xu J, and Lyu MR (2014) Locationbased hierarchical matrix factorization for web service recommendation. In: Proceeding of 21st IEEE international conference on web services, 2014, pp 297–304
Holland J (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor
Iacob C, Harrison R (2013) Retrieving and analyzing mobile apps feature requests from online reviews. In: Proceedings of the 10th working conference on mining software repositories, May 2013, pp 41–44
Knauss A (2012) On the usage of context for requirements elicitation: end-user involvement in IT ecosystems. In: Proceedings of the 20th international requirements engineering conference, Sept. 2012, pp 345–348
Lami G, Ferguson R (2007) An empirical study on the impact of automation on the requirements analysis process. J Comput Sci Technol 22(3):338–347
Lim SL, Bentley PJ, Kanakam N, Ishikawa F, Honiden S (2015) Investigating country differences in mobile app user behavior and challenges for software engineering. IEEE Trans Softw Eng 41(1):40–64
Lin D (1998) Extracting collocations from text corpora. In: Proceedings of the first workshop on computational terminology 1998, pp 57–63
Linares-Vasquez M, Bavota G, Bernal Cardenas C, Penta M, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: a threat to the success of android apps. In: Proceedings of the 9th joint meeting on foundations of software engineering, Aug. 2013, pp 477–487
Lin J, Sugiyama K, Kan MY, Chua TS (2013) Addressing coldstart in app recommendation: Latent user models constructed from twitter followers. In: Proceedings of the 36th international ACM SIGIR conference on research and development in information retrieval, SIGIR 13. ACM, 2013, pp 283–292
Lin J, Sugiyama K, Kan MY, Chua TS (2014) New and improved: modeling versions to improve app recommendation. In: Proceedings of the 37th international ACM SIGIR conference on research and development in information retrieval, SIGIR 14. ACM, 2014, pp 647–656
Li K, Xu ZH, Chen X (2014) A platform for searching UI component of android application. In: Proceedings of the 5th international conference on digital home, Nov. 2014, pp 205–210
Maalej W, Nabil H (2015) Bug report, feature request, or simply praise on automatically classifying app reviews. In: Proceedings of the 23rd international conference on software engineering, Aug. 2015, pp 116–125
Martin W, Sarro F, Jia Y, Harmanl M (2016) A survey of app store analysis for software engineering. IEEE Trans Softw Eng 99:1
Massey A, Eisenstein J, Anton A, Swire P (2013) Automated text mining for requirements analysis of policy documents. In: Proceedings of the 21st international requirements engineering conference, July 2013, pp 4–13
Mei J, Zhu Y, Gao Y (1996) Tongyici Cilin. Shanghai Lexicographical Publishing House, Shanghai
Ng Y, Zhou H, Ji Z, Luo H, Dong Y (2014) Which android app store can be trusted in china? In: Proceedings of the 38th computer software and applications conference, July 2014, pp 509–518
Pagano D, Maalej W (2013) User feedback in the appstore: an empirical study. In: Proceedings of the 21st international requirements engineering conference, July 2013, pp 125–134
Pedersen T, Patwardhan S, Michelizzi J (2004) WordNet: similarity-measuring the relatedness of concepts. In: Proceedings of the 19th national conference on artificial intelligence, July 2004, pp 1024–1025
Sakhnini V, Mich L, Berry D (2012) The effectiveness of an optimized EPMcreate as a creativity enhancement technique for web site requirements elicitation. J Requir Eng 17(3):171–186
Sarro F, Al-Subaihin A, Harman M, Jia Y (2015) Feature lifecycles as they spread, migrate, remain, and die in app stores. In: Proceedings of the 23rd international requirements engineering conference, Aug. 2015, pp 76–85
Sharma S, Pandey S (2014) Requirements elicitation: issues and challenges. In: International conference on computing for sustainable global development, March 2014, pp 151–155
Sutcliffe A, Sawyer P (2013) Requirements elicitation: towards the unknown unknowns. In: Proceedings of the 21st international requirements engineering conference, July 2013, pp 92–104
Tian J, Zhao W (2010) Words similarity algorithm based on Tongyici Cilin semantic web adaptive learning system. J Jilin Univ 28(6):602–608
Tong Y, She J, Chen L (2015) Towards better understanding of app functions. J Comput Sci Technol 30(5):1130–1140
Yin P, Luo P, Lee WC, Wang M (2013) App recommendation: a contest between satisfaction and temptation. In: Proceeding of ACM international conference on web search and data mining 2013, pp 395–404
Yu H, Lian Y, Yang S, Tian L, Zhao X (2016) Recommending features of mobile applications for developer. In: Proceeding of advanced data mining and applications. Springer International Publishing
Zou Q, Chen X, Huang Y (2015) Topic matching based change impact analysis from feature on user interface of mobile apps. In: Proceedings of the 27th international conference on software engineering and knowledge engineering, July 2015, pp 477–482
Acknowledgements
This research is supported by the National Key R&D Program of China (2018YFB1004804), the National Natural Science Foundation of China (61672545, 61722214), the Science and Technology Planning Project of Guangdong Province (No. 2015B010129008) and the Guangdong Province Universities and Colleges Pearl River Scholar Funded Scheme 2016.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Chen, X., Zou, Q., Fan, B. et al. Recommending software features for mobile applications based on user interface comparison. Requirements Eng 24, 545–559 (2019). https://doi.org/10.1007/s00766-018-0303-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-018-0303-4