Abstract: Android mobile applications (apps) rely heavily on third-party libraries as a means to save time, reduce implementation costs, and increase software quality while offering rich, robust, and up-to-date features to end users. The selection of third-party libraries is an essential element in any software development project, and particularly, in Android apps given the fast-changing and evolving mobile app ecosystem. Indeed, deciding which libraries to choose is a challenging problem, especially with the exponentially increasing number of available libraries in the Android ecosystem. In this paper, we introduce, AndroLib, a novel approach to recommend third-party libraries for Android apps. In particular, we formulate the problem as a multi-objective combinatorial problem and use the non-dominated sorting genetic algorithm (NSGA-II) as a search method to find and recommend relevant libraries. We aim at guiding the search process towards the best trade-off three objectives to be optimized (i) maximize libraries historical co-usage, (ii) maximize libraries functional diversity, and (iii) maximize libraries reuse from highly rated apps. We conduct an empirical experiment to evaluate our approach on a benchmark of real-world Android apps libraries. Results show the effectiveness of AndroLib compared with three recent state-of-the-art library recommendation approaches.
Loading