Methods for Categorizing and Recommending API Usage Patterns Based on Degree Centralities and Pattern Distances*

Shin-Jie Lee, Wu Chen Su, Chi En Huang, Jie Lin You

Research output: Contribution to journalArticle

Abstract

API usage patterns have been considered as significant materials in reusing software library APIs for saving development time and improving software quality. Although efforts have been made on discovering and searching API usage patterns, the following two issues are still largely unexplored: how to provide a well-organized view of the discovered API usage patterns? and how to recommend follow-up API usage patterns once a usage pattern is adopted? This paper proposes two methods for categorizing and recommending API usage patterns: first, categories of the usage patterns are automatically identified based on a proposed degree centrality-based clustering algorithm; and second, follow-up usage patterns of an adopted pattern are recommended based on a proposed metric of measuring distances between patterns. In the experimental evaluations, the patterns categorization can achieve 85.4% precision rate with 83% recall rate. The patterns recommendation had approximately half a chance of correctly predicting the follow-up patterns that were actually used by the programmers.

Original languageEnglish
Pages (from-to)593-610
Number of pages18
JournalJournal of Information Science and Engineering
Volume34
Issue number3
DOIs
Publication statusPublished - 2018 May 1

Fingerprint

Application programming interfaces (API)
evaluation
Clustering algorithms
software
time

All Science Journal Classification (ASJC) codes

  • Software
  • Human-Computer Interaction
  • Hardware and Architecture
  • Library and Information Sciences
  • Computational Theory and Mathematics

Cite this

@article{c9c31e566e374c9985f808d8aa2c2d8a,
title = "Methods for Categorizing and Recommending API Usage Patterns Based on Degree Centralities and Pattern Distances*",
abstract = "API usage patterns have been considered as significant materials in reusing software library APIs for saving development time and improving software quality. Although efforts have been made on discovering and searching API usage patterns, the following two issues are still largely unexplored: how to provide a well-organized view of the discovered API usage patterns? and how to recommend follow-up API usage patterns once a usage pattern is adopted? This paper proposes two methods for categorizing and recommending API usage patterns: first, categories of the usage patterns are automatically identified based on a proposed degree centrality-based clustering algorithm; and second, follow-up usage patterns of an adopted pattern are recommended based on a proposed metric of measuring distances between patterns. In the experimental evaluations, the patterns categorization can achieve 85.4{\%} precision rate with 83{\%} recall rate. The patterns recommendation had approximately half a chance of correctly predicting the follow-up patterns that were actually used by the programmers.",
author = "Shin-Jie Lee and Su, {Wu Chen} and Huang, {Chi En} and You, {Jie Lin}",
year = "2018",
month = "5",
day = "1",
doi = "10.6688/JISE.201805_34(3).0002",
language = "English",
volume = "34",
pages = "593--610",
journal = "Journal of Information Science and Engineering",
issn = "1016-2364",
publisher = "Institute of Information Science",
number = "3",

}

Methods for Categorizing and Recommending API Usage Patterns Based on Degree Centralities and Pattern Distances* . / Lee, Shin-Jie; Su, Wu Chen; Huang, Chi En; You, Jie Lin.

In: Journal of Information Science and Engineering, Vol. 34, No. 3, 01.05.2018, p. 593-610.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Methods for Categorizing and Recommending API Usage Patterns Based on Degree Centralities and Pattern Distances*

AU - Lee, Shin-Jie

AU - Su, Wu Chen

AU - Huang, Chi En

AU - You, Jie Lin

PY - 2018/5/1

Y1 - 2018/5/1

N2 - API usage patterns have been considered as significant materials in reusing software library APIs for saving development time and improving software quality. Although efforts have been made on discovering and searching API usage patterns, the following two issues are still largely unexplored: how to provide a well-organized view of the discovered API usage patterns? and how to recommend follow-up API usage patterns once a usage pattern is adopted? This paper proposes two methods for categorizing and recommending API usage patterns: first, categories of the usage patterns are automatically identified based on a proposed degree centrality-based clustering algorithm; and second, follow-up usage patterns of an adopted pattern are recommended based on a proposed metric of measuring distances between patterns. In the experimental evaluations, the patterns categorization can achieve 85.4% precision rate with 83% recall rate. The patterns recommendation had approximately half a chance of correctly predicting the follow-up patterns that were actually used by the programmers.

AB - API usage patterns have been considered as significant materials in reusing software library APIs for saving development time and improving software quality. Although efforts have been made on discovering and searching API usage patterns, the following two issues are still largely unexplored: how to provide a well-organized view of the discovered API usage patterns? and how to recommend follow-up API usage patterns once a usage pattern is adopted? This paper proposes two methods for categorizing and recommending API usage patterns: first, categories of the usage patterns are automatically identified based on a proposed degree centrality-based clustering algorithm; and second, follow-up usage patterns of an adopted pattern are recommended based on a proposed metric of measuring distances between patterns. In the experimental evaluations, the patterns categorization can achieve 85.4% precision rate with 83% recall rate. The patterns recommendation had approximately half a chance of correctly predicting the follow-up patterns that were actually used by the programmers.

UR - http://www.scopus.com/inward/record.url?scp=85049914256&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85049914256&partnerID=8YFLogxK

U2 - 10.6688/JISE.201805_34(3).0002

DO - 10.6688/JISE.201805_34(3).0002

M3 - Article

VL - 34

SP - 593

EP - 610

JO - Journal of Information Science and Engineering

JF - Journal of Information Science and Engineering

SN - 1016-2364

IS - 3

ER -