Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering 2016
DOI: 10.1145/2950290.2950319
|View full text |Cite
|
Sign up to set email alerts
|

Parameter-free probabilistic API mining across GitHub

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… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
64
0
5

Year Published

2016
2016
2023
2023

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 94 publications
(71 citation statements)
references
References 57 publications
0
64
0
5
Order By: Relevance
“…where each pn is the precision of n-grams, that is, the ratio of length n subsequences in the candidate that are also in the reference: pn = # n-grams appear in the reference+1 # n-grams of candidate+1 for n = 1, ..., N (15) where N is the maximum number of grams we consider. We set N to 4, which is a common practice in the Machine Learning literature [43].…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…where each pn is the precision of n-grams, that is, the ratio of length n subsequences in the candidate that are also in the reference: pn = # n-grams appear in the reference+1 # n-grams of candidate+1 for n = 1, ..., N (15) where N is the maximum number of grams we consider. We set N to 4, which is a common practice in the Machine Learning literature [43].…”
Section: Discussionmentioning
confidence: 99%
“…To implement a certain functionality, for example, how to parse XML files, developers often reuse existing class libraries or frameworks by invoking the corresponding APIs. Obtaining which APIs to use, and their usage sequence (the method invocation sequence among the APIs) is very helpful in this regard [15,46,49]. For example, to "parse XML Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Gu et al [76] map natural language text to commonly used API sequences, Allamanis and Sutton [12] learn fine-grained source code idioms, that may include APIs. Fowkes and Sutton [63] uses a graphical model to mine interesting API sequences.…”
Section: Documentation Traceability and Information Retrievalmentioning
confidence: 99%
“…Naturalize [1] enforces a consistent naming style. Other applications of statistical NLP include code suggestion [9], [14], code convention [1], method name suggestion [2], API suggestions [18], code mining [3], type resolution [15], pattern mining [6]. Statistical NLP was used to generate code from text, e.g., SWIM [16], DeepAPI [7], Anycode [8], etc.…”
Section: Related Workmentioning
confidence: 99%