Mining succinct and high-coverage API usage patterns from source code

Jue Wang, Yingnong Dang, Hongyu Zhang, Kai Chen, Tao Xie, Dongmei Zhang

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

During software development, a developer often needs to discover specific usage patterns of Application Programming Interface (API) methods. However, these usage patterns are often not well documented. To help developers to get such usage patterns, there are approaches proposed to mine client code of the API methods. However, they lack metrics to measure the quality of the mined usage patterns, and the API usage patterns mined by the existing approaches tend to be many and redundant, posing significant barriers for being practical adoption. To address these issues, in this paper, we propose two quality metrics (succinctness and coverage) for mined usage patterns, and further propose a novel approach called Usage Pattern Miner (UP-Miner) that mines succinct and high-coverage usage patterns of API methods from source code. We have evaluated our approach on a large-scale Microsoft codebase. The results show that our approach is effective and outperforms an existing representative approach MAPO. The user studies conducted with Microsoft developers confirm the usefulness of the proposed approach in practice.

Original languageEnglish (US)
Title of host publication2013 10th Working Conference on Mining Software Repositories, MSR 2013 - Proceedings
Pages319-328
Number of pages10
DOIs
StatePublished - 2013
Externally publishedYes
Event10th International Working Conference on Mining Software Repositories, MSR 2013 - San Francisco, CA, United States
Duration: May 18 2013May 19 2013

Publication series

NameIEEE International Working Conference on Mining Software Repositories
ISSN (Print)2160-1852
ISSN (Electronic)2160-1860

Other

Other10th International Working Conference on Mining Software Repositories, MSR 2013
Country/TerritoryUnited States
CitySan Francisco, CA
Period5/18/135/19/13

Keywords

  • API usage
  • Mining software repositories
  • Sequence mining
  • Software reuse
  • Usage pattern

ASJC Scopus subject areas

  • Computer Science Applications
  • Software

Fingerprint

Dive into the research topics of 'Mining succinct and high-coverage API usage patterns from source code'. Together they form a unique fingerprint.

Cite this