Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Recommending New Features from Mobile App Descriptions

Authors Info & Claims
Published:09 October 2019Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. William Frakes, Ruben Prieto Diaz, and Christopher Fox. 1998. Dare: Domain analysis and reuse environment. Ann. Software Eng. 5, 1 (1998), 125--141.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Brendan J. Frey and Delbert Dueck. 2007. Clustering by passing messages between data points. Science 315, 16 (2007), 972--976.Google ScholarGoogle ScholarCross RefCross Ref
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarCross RefCross Ref
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarCross RefCross Ref
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarCross RefCross Ref
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle Scholar
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Recommending New Features from Mobile App Descriptions

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Software Engineering and Methodology
        ACM Transactions on Software Engineering and Methodology  Volume 28, Issue 4
        October 2019
        231 pages
        ISSN:1049-331X
        EISSN:1557-7392
        DOI:10.1145/3360049
        • Editor:
        • Mauro Pezzè
        Issue’s Table of Contents

        Copyright © 2019 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 9 October 2019
        • Accepted: 1 July 2019
        • Revised: 1 April 2019
        • Received: 1 August 2016
        Published in tosem Volume 28, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format