MAPO: Mining API usages from open source repositories

Tao Xie, Jian Pei

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

Abstract

To improve software productivity, when constructing new software systems, developers often reuse existing class libraries or frameworks by invoking their APIs. Those APIs, however, are often complex and not well documented, posing barriers for developers to use them in new client code. To get familiar with how those APIs are used, developers may search the Web using a general search engine to find relevant documents or code examples. Developers can also use a source code search engine to search open source repositories for source files that use the same APIs. Nevertheless, the number of returned source files is often large. It is difficult for developers to learn API usages from a large number of returned results. In order to help developers understand API usages and write API client code more effectively, we have developed an API usage mining framework and its supporting tool called MAPO (for Mining API usages from Open source repositories). Given a query that describes a method, class, or package for an API, MAPO leverages the existing source code search engines to gather relevant source files and conducts data mining. The mining leads to a short list of frequent API usages for developers to inspect. MAPO currently consists of five components: a code search engine, a source code analyzer, a sequence preprocessor, a frequent sequence miner, and a frequent sequence post processor. We have examined the effectiveness of MAPO using a set of various queries. The preliminary results show that the framework is practical for providing informative and succinct API usage patterns.

Original languageEnglish (US)
Title of host publicationProceedings of the 2006 International Workshop on Mining Software Repositories, MSR '06, Co-located with the 28th International Conference on Software Engineering, ICSE 2006
Pages54-57
Number of pages4
DOIs
StatePublished - 2006
Externally publishedYes
Event2006 International Workshop on Mining Software Repositories, MSR '06, Co-located with the 28th International Conference on Software Engineering, ICSE 2006 - Shanghai, China
Duration: May 20 2006May 28 2006

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Other

Other2006 International Workshop on Mining Software Repositories, MSR '06, Co-located with the 28th International Conference on Software Engineering, ICSE 2006
CountryChina
CityShanghai
Period5/20/065/28/06

Keywords

  • application programming interfaces
  • mining software repositories
  • program comprehension

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'MAPO: Mining API usages from open source repositories'. Together they form a unique fingerprint.

Cite this