Advertisement

Requirements Engineering

, Volume 24, Issue 4, pp 545–559 | Cite as

Recommending software features for mobile applications based on user interface comparison

  • Xiangping Chen
  • Qiwen Zou
  • Bitian Fan
  • Zibin ZhengEmail author
  • Xiaonan Luo
Original Article
  • 288 Downloads

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.

Keywords

Feature recommendation Requirements elicitation Mobile apps Genetic algorithm Text similarity 

Notes

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.

References

  1. 1.
    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–749Google Scholar
  2. 2.
    Balabanovi M, Shoham Y (1997) Fab: content-based, collaborative recommendation. Commun ACM 40(3):66–72CrossRefGoogle Scholar
  3. 3.
    Chen J, Alalfi M, Dean T, Zou Y (2015) Detecting android malware using clone detection. J Comput Sci Technol 30(5):942–956CrossRefGoogle Scholar
  4. 4.
    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–778Google Scholar
  5. 5.
    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–320Google Scholar
  6. 6.
    Coughlan J, Macredie R (2002) Effective communication in requirements elicitation: a comparison of methodologies. J Requir Eng 7(2):47–60CrossRefGoogle Scholar
  7. 7.
    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–190Google Scholar
  8. 8.
    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–875Google Scholar
  9. 9.
    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–591Google Scholar
  10. 10.
    Goldberg D (1989) Genetic algorithms in search, optimization, machine learing. Addison-Wesley Longman Publishing Co, BostonGoogle Scholar
  11. 11.
    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–1035Google Scholar
  12. 12.
    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–162Google Scholar
  13. 13.
    Hadar I, Kenzi SP (2014) The role of domain knowledge in requirements elicitation via interviews: an exploratory study. J Requir Eng 19(2):143–159CrossRefGoogle Scholar
  14. 14.
    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–1752CrossRefGoogle Scholar
  15. 15.
    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–111Google Scholar
  16. 16.
    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–304Google Scholar
  17. 17.
    Holland J (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann ArborGoogle Scholar
  18. 18.
    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–44Google Scholar
  19. 19.
    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–348Google Scholar
  20. 20.
    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–347CrossRefGoogle Scholar
  21. 21.
    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–64CrossRefGoogle Scholar
  22. 22.
    Lin D (1998) Extracting collocations from text corpora. In: Proceedings of the first workshop on computational terminology 1998, pp 57–63Google Scholar
  23. 23.
    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–487Google Scholar
  24. 24.
    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–292Google Scholar
  25. 25.
    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–656Google Scholar
  26. 26.
    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–210Google Scholar
  27. 27.
    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–125Google Scholar
  28. 28.
    Martin W, Sarro F, Jia Y, Harmanl M (2016) A survey of app store analysis for software engineering. IEEE Trans Softw Eng 99:1Google Scholar
  29. 29.
    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–13Google Scholar
  30. 30.
    Mei J, Zhu Y, Gao Y (1996) Tongyici Cilin. Shanghai Lexicographical Publishing House, ShanghaiGoogle Scholar
  31. 31.
    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–518Google Scholar
  32. 32.
    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–134Google Scholar
  33. 33.
    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–1025Google Scholar
  34. 34.
    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–186CrossRefGoogle Scholar
  35. 35.
    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–85Google Scholar
  36. 36.
    Sharma S, Pandey S (2014) Requirements elicitation: issues and challenges. In: International conference on computing for sustainable global development, March 2014, pp 151–155Google Scholar
  37. 37.
    Sutcliffe A, Sawyer P (2013) Requirements elicitation: towards the unknown unknowns. In: Proceedings of the 21st international requirements engineering conference, July 2013, pp 92–104Google Scholar
  38. 38.
    Tian J, Zhao W (2010) Words similarity algorithm based on Tongyici Cilin semantic web adaptive learning system. J Jilin Univ 28(6):602–608Google Scholar
  39. 39.
    Tong Y, She J, Chen L (2015) Towards better understanding of app functions. J Comput Sci Technol 30(5):1130–1140CrossRefGoogle Scholar
  40. 40.
    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–404Google Scholar
  41. 41.
    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 PublishingGoogle Scholar
  42. 42.
    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–482Google Scholar

Copyright information

© Springer-Verlag London Ltd., part of Springer Nature 2018

Authors and Affiliations

  • Xiangping Chen
    • 1
  • Qiwen Zou
    • 2
  • Bitian Fan
    • 2
  • Zibin Zheng
    • 2
    Email author
  • Xiaonan Luo
    • 2
  1. 1.Institute of Advanced Technology, National Engineering Research Center of Digital LifeSun Yat-sen UniversityGuangzhouChina
  2. 2.School of Data Science and Computer, National Engineering Research Center of Digital LifeSun Yat-sen UniversityGuangzhouChina

Personalised recommendations