Combining Collaborative Filtering and Topic Modeling for More Accurate Android Mobile App Library Recommendation

The applying of third party libraries is an integral part of many mobile applications. With the rapid development of mobile technologies, there are many free third party libraries for developers to download and use. However, there are a large number of third party libraries which always iterate rapidly, it is hard for developers to find available libraries within them. Several previous studies have proposed approaches to recommend third party libraries, which works in the scenario where a developer knows some required libraries, and needs to find other relevant libraries with limited knowledge. In the paper, to further improve the performance of app library recommendation, we propose an approach which combines collaborative filtering and topic modeling techniques. In the collaborative filtering component, given a new app, our approach recommends libraries by using its similar apps. In the topic modelling component, our approach first extracts the topics from the textual description of mobile apps, and given a new app, our approach recommends libraries based on the libraries used by the apps which has similar topic distributions. We perform experiments on a set of 1,013 apps, and the results show that our approach improves the state-of-the-art by a substantial margin.

[1]  David Lo,et al.  Automated Android application permission recommendation , 2016, Science China Information Sciences.

[2]  David Lo,et al.  Predicting Crashing Releases of Mobile Applications , 2016, ESEM.

[3]  Zhenchang Xing,et al.  AnswerBot: Automated generation of answer summary to developers' technical questions , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[4]  Xavier Blanc,et al.  Mining Library Migration Graphs , 2012, 2012 19th Working Conference on Reverse Engineering.

[5]  Peter Brusilovsky,et al.  User modeling and user adapted interaction , 2001 .

[6]  K. Pearson VII. Note on regression and inheritance in the case of two parents , 1895, Proceedings of the Royal Society of London.

[7]  Yehuda Koren,et al.  Factor in the neighbors: Scalable and accurate collaborative filtering , 2010, TKDD.

[8]  David Lo,et al.  Dual analysis for recommending developers to resolve bugs , 2015, J. Softw. Evol. Process..

[9]  Michael I. Jordan,et al.  Latent Dirichlet Allocation , 2001, J. Mach. Learn. Res..

[10]  Robin D. Burke,et al.  Hybrid Recommender Systems: Survey and Experiments , 2002, User Modeling and User-Adapted Interaction.

[11]  Zhenchang Xing,et al.  Domain-specific cross-language relevant question retrieval , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[12]  Rakesh Agarwal,et al.  Fast Algorithms for Mining Association Rules , 1994, VLDB 1994.

[13]  David Lo,et al.  Improving Automated Bug Triaging with Specialized Topic Model , 2017, IEEE Transactions on Software Engineering.

[14]  Loren Terveen,et al.  Beyond Recommender Systems: Helping People Help Each Other , 2001 .

[15]  Hajimu Iida,et al.  SHINOBI: A Tool for Automatic Code Clone Detection in the IDE , 2009, 2009 16th Working Conference on Reverse Engineering.

[16]  Zhenchang Xing,et al.  SimilarTech: Automatically recommend analogical libraries across different programming languages , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[17]  Romain Robbes,et al.  Improving code completion with program history , 2010, Automated Software Engineering.

[18]  A. Gayen,et al.  The frequency distribution of the product-moment correlation coefficient in random samples of any size drawn from non-normal universes. , 1951, Biometrika.

[19]  David Lo,et al.  Who should review this change?: Putting text and file location analyses together for more accurate recommendations , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[20]  Rastislav Bodík,et al.  Jungloid mining: helping to navigate the API jungle , 2005, PLDI '05.

[21]  Tao Zhang,et al.  Bug Report Enrichment with Application of Automated Fixer Recommendation , 2017, 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).

[22]  Seung-won Hwang,et al.  Instant code clone search , 2010, FSE '10.

[23]  David Lo,et al.  Automated library recommendation , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[24]  Zhenchang Xing,et al.  Mining Analogical Libraries in Q&A Discussions -- Incorporating Relational and Categorical Knowledge into Word Embedding , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[25]  André van der Hoek,et al.  Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering , 2010, FSE 2010.