Abstract
The rapidly evolving mobile applications (apps) have brought great demand for developers to identify new features by inspecting the descriptions of similar apps and acquire missing features for their apps. Unfortunately, due to the huge number of apps, this manual process is time-consuming and unscalable. To help developers identify new features, we propose a new approach named SAFER. In this study, we first develop a tool to automatically extract features from app descriptions. Then, given an app, we leverage the topic model to identify its similar apps based on the extracted features and API names of apps. Finally, we design a feature recommendation algorithm to aggregate and recommend the features of identified similar apps to the specified app. Evaluated over a collection of 533 annotated features from 100 apps, SAFER achieves a Hit@15 score of up to 78.68% and outperforms the baseline approach KNN+ by 17.23% on average. In addition, we also compare SAFER against a typical technique of recommending features from user reviews, i.e., CLAP. Experimental results reveal that SAFER is superior to CLAP by 23.54% in terms of Hit@15.
- Vander Alves, Christa Schwanninger, Luciano Barbosa, Awais Rashid, Peter Sawyer, Paul Rayson, Christoph Pohl, and Andreas Rummler. 2008. An exploratory study of information retrieval techniques in domain analysis. In Proceedings of the 12th International Conference on Software Product Line (SPLC’08). 67--76.Google ScholarDigital Library
- K. M. Annervaz, Vikrant Kaulgud, Shubhashis Sengupta, and Milind Savagaonkar. 2013. Natural language requirements quality analysis based on business domain models. In Proceedings of 28th International Conference on Automated Software Engineering (ASE’13). 676--681.Google ScholarDigital Library
- Gabriele Bavota, Mario Linares-Vasquez, Carlos Eduardo Bernal-Cardenas, Massimiliano Di Penta, Rocco Oliveto, and Denys Poshyvanyk. 2015. The impact of API change- and fault-proneness on the user ratings of android apps. IEEE Trans. Software Eng. 41, 4 (2015), 384--407. DOI:10.1109/TSE.2014.2367027.Google ScholarDigital Library
- Giacomo Berardi, Andrea Esuli, Tiziano Fagni, and Fabrizio Sebastiani. 2015. Multi-store metadata-based supervised mobile app classification. In Proceedings of the 30th Annual ACM Symposium on Applied Computing (SAC’15). 585--588.Google ScholarDigital Library
- Simon Butler, Michel Wermelinger, Yijun Yu, and Helen Sharp. 2011. Improving the tokenisation of identifier names. ECOOP Object-Orient. Program. 6812 (2011), 130--154.Google Scholar
- Laura V. Galvis Carreño and Kristina Winbladh. 2013. Analysis of user comments: An approach for software requirements evolution. In Proceedings of the 35th International Conference on Software Engineering (ICSE’13). 582--591.Google Scholar
- Eya Ben Charrada, Anne Koziolek, and Martin Glinz. 2015. Supporting requirements update during software evolution. J. Software: Evol. Process 27, 3 (2015), 166--194.Google ScholarDigital Library
- Kun Chen, Wei Zhang, Haiyan Zhao, and Hong Mei. 2005. An approach to constructing feature models based on requirements clustering. In Proceedings of the 13th International Conference on Requirements Engineering (RE’05). 31--40.Google ScholarDigital Library
- Ning Chen, Jialiu Lin, Steven C. H. Hoi, Xiaokui Xiao, and Boshen Zhang. 2014. AR-miner: Mining informative reviews for developers from mobile app marketplace. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). 767--778.Google ScholarDigital Library
- Lingling Fan, Ting Su, Sen Chen et al. 2018. Large-scale analysis of framework-specific exceptions in android apps. In Proceedings of the 40th International Conference on Software Engineering (ICSE’18). 408--419.Google Scholar
- William Frakes, Ruben Prieto Diaz, and Christopher Fox. 1998. Dare: Domain analysis and reuse environment. Ann. Software Eng. 5, 1 (1998), 125--141.Google ScholarDigital Library
- Brendan J. Frey and Delbert Dueck. 2007. Clustering by passing messages between data points. Science 315, 16 (2007), 972--976.Google ScholarCross Ref
- Cuiyun Gao, Jichuan Zeng, David Lo, Chin-Yew Lin, Michael R. Lyu, and Irwin King. 2018. INFAR: Insight extraction from app reviews. In Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE’18). Lake Buena Vista, FL, USA, 904--907.Google ScholarDigital Library
- Alessandra Gorla, Ilaria Tavecchia, Florian Gross, and Andreas Zeller. 2014. Checking app behavior against app descriptions. In Proceedings of the 36th International Conference on Software Engineering (ICSE’14). 1025--1035.Google ScholarDigital Library
- Latifa Guerrouj, Shams Azad, and Peter C. Rigby. 2015. The influence of app churn on app success and stackoverflow discussions. In Proceedings of the 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER’15). 321--330.Google Scholar
- Emitza Guzman and Walid Maalej. 2014. How do users like this feature? A fine-grained sentiment analysis of app reviews. In Proceedings of the 22nd International Conference on Requirements Engineering (RE’14). 153--162.Google ScholarCross Ref
- Mark Hall, Ebie Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, and Ian H. Witten. 2009. The weka data mining software: An update. ACM SIGKDD Explor. Newslett. 11, 1 (2009), 10--18.Google ScholarDigital Library
- Negar Hariri, Carlos Castro-Herrera, Mehdi Mirakhorli, Jane Cleland-Huang, and Bamshad Mobasher. 2013. Supporting domain analysis through mining and recommending features from online product listings. IEEE Trans. Software Eng. 39, 12 (Dec. 2013), 1737--1751. DOI:10.1109/TSE.2013.39.Google ScholarDigital Library
- Mats P. E. Heimdahl and David J. Keenan. 1997. Generating code from hierarchical state-based requirements. In Proceedings of the 3rd International Conference on Requirements Engineering (RE’97). 210--219.Google Scholar
- Robert M. Hierons, Miqing Li, Xiaohui Liu, Sergio Segura, and Wei Zhang. 2016. SIP: Optimal product selection from feature models using many-objective evolutionary optimization. ACM Trans. Software Eng. Methodol. 25, 2, (Apr. 2016). DOI:http://dx.doi.org/10.1145/2897760Google ScholarDigital Library
- Abram Hindle, Christian Bird, Thomas Zimmermann, and Nachiappan Nagappan. 2012. Relating requirements to implementation via topic analysis: Do topics extracted from requirements make sense to managers and developers? In Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM’12). 243--252.Google ScholarDigital Library
- He Jiang, Liming Nie, Zeyi Sun et al. 2019. ROSF: Leveraging information retrieval and supervised learning for recommending code snippets. IEEE Trans. Serv. Comput. 12, 1 (2019), 34--46.Google ScholarCross Ref
- He Jiang, Hongjing Ma, Zhilei Ren, Jingxuan Zhang, and Xiaochen Li. What Makes a Good App Description? In Proceedings of the 6th Asia-Pacific Symposium on Internetware (Internetware’14). 45--53.Google Scholar
- Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Software Engineering Institute, Carnegie-Mellon University, Pittsburgh, PA.Google Scholar
- Soo Ling Lim, Peter J. Bentley, Natalie Kanakam, Fuyuki Ishikawa, and Shinichi Honide. 2015. Investigating country differences in mobile app user behavior and challenges for software engineering. IEEE Trans. Software Eng. 41, 1 (Jan. 2015), 40-64. DOI:10.1109/TSE.2014.2360674Google ScholarDigital Library
- Soo Ling Lim and Anthony Finkelstein. 2011. StakeRare: Using social networks and collaborative filtering for large-scale requirements elicitation. IEEE Trans. Software Eng. 38, 3 (2011), 707--735. DOI:10.1109/TSE.2011.36.Google ScholarDigital Library
- Soo Ling Lim, Daniele Quercia, and Anthony Finkelstein. 2010. StakeNet: Using social networks to analyse the stakeholders of large-scale software projects. In Proceedings of 32nd International Conference on Software Engineering (ICSE’10). 295--304.Google ScholarDigital Library
- William Martin, Federica Sarro, Yue Jia, Yuanyuan Zhang, and Mark Harman. 2017. A survey of app store analysis for software engineering. IEEE Trans. Software Eng. 43, 9 (2017), 817--847.Google ScholarDigital Library
- Collin Mcmillan, Denys Poshyvanyk, Mark Grechanik, Qing Xie, and Chen Fu. 2013. Portfolio: Searching for relevant functions and their usages in millions of lines of code. ACM Trans. Software Eng. Methodol. 37, 4 (Oct. 2013), 1--32. DOI:10.1145/2522920.2522930Google ScholarDigital Library
- Fairuz Amalina Narudin, Ali Feizollah, Nor Badrul Anuar, and Abdullah Gani. 2016. Evaluation of machine learning classifiers for mobile malware detection. Soft Comput. 20, 1 (2016), 343--357.Google ScholarDigital Library
- Necmiye Genc-Nayebi and Alain Abran. 2017. A systematic literature review: Opinion mining studies from mobile app store user reviews. J. Syst. Software 125 (2017), 207--219.Google ScholarDigital Library
- Anh Tuan Nguyen, Michael Hilton, Mihai Codoban et al. 2016. API code recommendation using statistical learning from fine-grained changes. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineer (FSE’16). 511--522.Google Scholar
- Sebastiano Panichella, Andrea Di Sorbo, Emitza Guzman, Corrado A. Visaggio, Gerardo Canfora, and Harald C. Gall. 2015. How can I improve my app? Classifying user reviews for software maintenance and evolution. In Proceedings of the 31st International Conference on Software Maintenance and Evolution. 281--290.Google Scholar
- Mona Rahimi and Jane Cleland-Huang. 2014. Personas in the middle: Automated support for creating personas as focal points in feature gathering forums. In Proceedings of 29th International Conference on Automated Software Engineering (ASE’14). 479--484.Google ScholarDigital Library
- Israel J. Mojica Ruiz, Meiyappan Nagappan, Bram Adams, and Ahmed E. Hassan. 2012. Understanding reuse in the android market. In Proceedings of the 19th International Conference on Program Comprehension (ICPC’12). 113--122.Google Scholar
- Raimundo F. Dos Santos and William B. Frakes. 2009. DAREonline: A web-based domain engineering tool. Formal Found. Reuse Domain Eng. 5791 (2009), 246--257.Google ScholarDigital Library
- Federica Sarro, Afnan A. Al-Subaihin, Mark Harman, Yue Jia, William Martin, and Yuanyuan Zhang. 2015. Feature lifecycles as they spread, migrate, remain, and die in app stores. In Proceedings of the 23rd International Requirements Engineering Conference (RE’15). 76--85.Google ScholarCross Ref
- Simone Scalabrino, Gabriele Bavota, Barbara Russo, Massimiliano Di Penta, and Rocco Oliveto. 2019. Listening to the crowd for the release planning of mobile apps. IEEE Trans. Software Eng. 45, 1 (2019), 68--86.Google ScholarDigital Library
- Asaf Shabtai, Yuval Fledel, and Yuval Elovici. 2010. Automated static code analysis for classifying android applications using machine learning. In Proceedings of the International Conference on Computational Intelligence and Security (CIS’10). 329--333.Google ScholarDigital Library
- Chengnian Sun, David Lo, Xiaoyin Wang, Jing Jiang, and Siau-Cheng Khoo. 2010. A discriminative model approach for accurate duplicate bug report retrieval. In Proceedings of the 32nd International Conference on Software Engineering (ICSE’10). 45--54.Google ScholarDigital Library
- Yuan Tian, Meiyappan Nagappan, David Lo, and Ahmed E. Hassan. 2015. What are the characteristics of high-rated apps? A case study on free android applications. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME’15). 301--310.Google Scholar
- Kristina Toutanova, Dan Klein, Christopher D. Manning, and Yoram Singer. 2003. Feature-Rich part-of-speech tagging with a cyclic dependency network. In Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology (NAACL’03). 173--180.Google ScholarDigital Library
- Xiaoyin Wang, Lu Zhang, Tao Xie, John Anvik, and Jiasu Sun. 2008. 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). 461--470.Google ScholarDigital Library
- Tianyong Wu, Xi Deng, Jun Yan, and Jian Zhang. 2019. Analyses for specific defects in android applications: A survey. Front. Comput. Sci. To appear.Google Scholar
- Thomas Zimmermann, Rahul Premraj, Nicolas Bettenburg, Sascha Just, Adrian Schroter, and Cathrin Weiss. 2010. What makes a good bug report? IEEE Trans. Software Eng. 36, 5 (Sep. 2010), 618--643. DOI:10.1109/TSE.2010.63Google ScholarDigital Library
Index Terms
- Recommending New Features from Mobile App Descriptions
Recommendations
Privacy concerns for mobile app download
In the mobile age, protecting users' information from privacy-invasive apps becomes increasingly critical. To precaution users against possible privacy risks, a few Android app stores prominently disclose app permission requests on app download pages. ...
An Explorative Study of the Mobile App Ecosystem from App Developers' Perspective
WWW '17: Proceedings of the 26th International Conference on World Wide WebWith the prevalence of smartphones, app markets such as Apple App Store and Google Play has become the center stage in the mobile app ecosystem, with millions of apps developed by tens of thousands of app developers in each major market. This paper ...
Why people hate your app: making sense of user feedback in a mobile app store
KDD '13: Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data miningUser review is a crucial component of open mobile app markets such as the Google Play Store. How do we automatically summarize millions of user reviews and make sense out of them? Unfortunately, beyond simple summaries such as histograms of user ratings,...
Comments