skip to main content
10.1145/3530019.3534083acmotherconferencesArticle/Chapter ViewAbstractPublication PageseaseConference Proceedingsconference-collections
short-paper

On the Identification of Third-Party Library Usage Patterns for Android Applications

Published: 13 June 2022 Publication History

Abstract

The rapid growth of mobile applications development and usage raises several new challenges to developers as they need to respond quickly to the users’ needs in a world of continuous changes. Developers often use third-party libraries to add functionality, which significantly improves developers productivity, and reduces time-to-market. In this paper, we present an approach for the visualization and recommendation of libraries for Android apps. Our approach, named LibScanDroid, is based on how libraries are used within existing Android applications. LibScanDroid groups together libraries based on their history of joint and separate usage in existing Android applications available in Google Play Store. The library groups, i.e., usage patterns, are presented in several layers to visualize and navigate through the patterns. These groupings are performed using the ϵ-DBSCAN hierarchical clustering algorithm.We implement our approach in the form of an interactive tool and evaluate it on a database that covers 1,458 libraries that are used by over 1,000 Android applications. Our experiments have shown that our approach can detect library patterns with high co-usage cohesion. The results from the cross-validation, allows us to affirm the generalizability of the detected patterns.

References

[1]
[1] 2022. LibDroidScan Dataset: https://github.com/stilab-ets/LibScanDroid.
[2]
Nuri Almarimi, Ali Ouni, Salah Bouktif, Mohamed Wiem Mkaouer, Raula Gaikovina Kula, and Mohamed Aymen Saied. 2019. Web service API recommendation for automated mashup creation using multi-objective evolutionary search. Applied Soft Computing 85 (2019), 105830.
[3]
Doaa Altarawy, Hossameldin Shahin, Ayat Mohammed, and Na Meng. 2018. Lascad: Language-agnostic software categorization and similar application detection. Journal of Systems and Software 142 (2018), 21–34.
[4]
Moataz Chouchen, Ali Ouni, and Mohamed Wiem Mkaouer. 2020. AndroLib: Third-party software library recommendation for Android applications. In International Conference on Software and Software Reuse. 208–225.
[5]
Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu, 1996. A density-based algorithm for discovering clusters in large spatial databases with noise. In kdd, Vol. 96. 226–231.
[6]
Qiang He, Bo Li, Feifei Chen, John Grundy, Xin Xia, and Yun Yang. 2020. Diversified Third-party Library Prediction for Mobile App Development. IEEE Transactions on Software Engineering(2020).
[7]
Enrique Larios-Vargas, Maurício Aniche, Christoph Treude, Magiel Bruntink, and Georgios Gousios. 2020. Selecting third-party libraries: The practitioners’ perspective. In European Software Engineering Conference and Sym. on the Foundations of Software Engineering.
[8]
Phuong T Nguyen, Juri Di Rocco, and Davide Di Ruscio. 2019. Enabling heterogeneous recommendations in OSS development: what’s done and what’s next in CROSSMINER. In Proceedings of the Evaluation and Assessment on Software Engineering. 326–331.
[9]
Phuong T Nguyen, Juri Di Rocco, Davide Di Ruscio, and Massimiliano Di Penta. 2020. CrossRec: Supporting software developers by recommending third-party libraries. Journal of Systems and Software 161 (2020), 110460.
[10]
Phuong T Nguyen, Juri Di Rocco, Davide Di Ruscio, Lina Ochoa, Thomas Degueule, and Massimiliano Di Penta. 2019. Focus: A recommender system for mining api function calls and usage patterns. In International Conference on Software Engineering (ICSE). 1050–1060.
[11]
Ali Ouni, Raula Gaikovina Kula, Marouane Kessentini, Takashi Ishio, Daniel M German, and Katsuro Inoue. 2017. Search-based software library recommendation using multi-objective optimization. Information and Software Technology 83 (2017), 55–75.
[12]
Mikhail Perepletchikov, Caspar Ryan, and Keith Frampton. 2007. Cohesion metrics for predicting maintainability of service-oriented software. In Seventh International Conference on Quality Software (QSIC 2007). IEEE, 328–335.
[13]
Martin Robillard, Robert Walker, and Thomas Zimmermann. 2010. Recommendation systems for software engineering. IEEE software 27, 4 (2010), 80–86.
[14]
Mohamed Aymen Saied, Ali Ouni, Houari Sahraoui, Raula Gaikovina Kula, Katsuro Inoue, and David Lo. 2018. Improving reusability of software libraries through usage pattern mining. Journal of Systems and Software 145 (2018), 164–179.
[15]
Deepti Sisodia, Lokesh Singh, Sheetal Sisodia, and Khushboo Saxena. 2012. Clustering techniques: a brief survey of different clustering algorithms. International Journal of Latest Trends in Engineering and Technology (IJLTET) 1, 3 (2012), 82–87.
[16]
F. Thung, D. Lo, and J. Lawall. 2013. Automated library recommendation. In 20th Working Conference on Reverse Engineering (WCRE). 182–191.
[17]
Ferdian Thung, David Lo, and Julia Lawall. 2013. Automated library recommendation. In 2013 20th Working conference on reverse engineering (WCRE). IEEE, 182–191.
[18]
Haoyu Wang, Yao Guo, Ziang Ma, and Xiangqun Chen. 2015. Wukong: A scalable and accurate two-phase approach to android app clone detection. In International Symposium on Software Testing and Analysis. 71–82.
[19]
Jian Xu and Qianting Yuan. 2020. Libroad: Rapid, online, and accurate detection of tpls on android. IEEE Transactions on Mobile Computing 21, 1 (2020), 167–180.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
EASE '22: Proceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering
June 2022
466 pages
ISBN:9781450396134
DOI:10.1145/3530019
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: 13 June 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Android
  2. Library usage
  3. Software reuse
  4. Third-party library

Qualifiers

  • Short-paper
  • Research
  • Refereed limited

Conference

EASE 2022

Acceptance Rates

Overall Acceptance Rate 71 of 232 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 132
    Total Downloads
  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)4
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media