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

研究成果: Article

摘要

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.

原文English
頁(從 - 到)593-610
頁數18
期刊Journal of Information Science and Engineering
34
發行號3
DOIs
出版狀態Published - 2018 五月 1

指紋

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

引用此文

@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.

於: Journal of Information Science and Engineering, 卷 34, 編號 3, 01.05.2018, p. 593-610.

研究成果: Article

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

AN - SCOPUS:85049914256

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 -