Parameter-free probabilistic API mining across GitHub
Authors:
Open Access
- 1 November 2016
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 254-265
Abstract
Existing API mining algorithms can be difficult to use as they require expensive parameter tuning and the returned set of API calls can be large, highly redundant and difficult to understand. To address this, we present PAM (Probabilistic API Miner), a near parameter-free probabilistic algorithm for mining the most interesting API call patterns. We show that PAM significantly outperforms both MAPO and UPMiner, achieving 69% test-set precision, at retrieving relevant API call sequences from GitHub. Moreover, we focus on libraries for which the developers have explicitly provided code examples, yielding over 300,000 LOC of hand-written API example code from the 967 client projects in the data set. This evaluation suggests that the hand-written examples actually have limited coverage of real API usages.Keywords
All Related Versions
Funding Information
- Engineering and Physical Sciences Research Council (EP/K024043/1)
This publication has 40 references indexed in Scilit:
- How API Documentation FailsIEEE Software, 2015
- How Can I Use This Method?2015
- Code completion with statistical language modelsACM SIGPLAN Notices, 2014
- A statistical semantic language model for source code2013
- A field study of API learning obstaclesEmpirical Software Engineering, 2010
- MAPO: Mining and Recommending API Usage Patterns2009
- SNIFF: A Search Engine for Java Using Free-Form Queries2009
- Frequent pattern mining: current status and future directionsData Mining and Knowledge Discovery, 2007
- PR-MinerACM SIGSOFT Software Engineering Notes, 2005
- DynaMine2005