Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering 2014
DOI: 10.1145/2635868.2635924
|View full text |Cite
|
Sign up to set email alerts
|

Mining preconditions of APIs in large-scale code corpus

Abstract: Modern software relies on existing application programming interfaces (APIs) from libraries. Formal specifications for the APIs enable many software engineering tasks as well as help developers correctly use them. In this work, we mine large-scale repositories of existing open-source software to derive potential preconditions for API methods. Our key idea is that APIs' preconditions would appear frequently in an ultra-large code corpus with a large number of API usages, while project-specific conditions will o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
61
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
5
3
2

Relationship

0
10

Authors

Journals

citations
Cited by 70 publications
(61 citation statements)
references
References 55 publications
0
61
0
Order By: Relevance
“…The API mining problem we consider (Section 3) is specifically to return sequences of API methods that are used together. Other important but distinct data mining problems that are related to API usage include mining preconditions of API methods [27], and mining code changes [23,26]. An important recent piece of infrastructure for large-scale mining work on code is Boa [13].…”
Section: Related Workmentioning
confidence: 99%
“…The API mining problem we consider (Section 3) is specifically to return sequences of API methods that are used together. Other important but distinct data mining problems that are related to API usage include mining preconditions of API methods [27], and mining code changes [23,26]. An important recent piece of infrastructure for large-scale mining work on code is Boa [13].…”
Section: Related Workmentioning
confidence: 99%
“…As a remedy, several methods have been proposed that make use of statistical methods, machine learning, and data mining techniques for accelerating this process. To this end, several methods automatically infer programming patterns [e.g., 19,32,58] and security specifications [e.g., 28,34,54], from code, revision histories [33], and preconditions of APIs [e.g., 7,41,55]. A related strain of research has followed a more principled approach by modeling and inferring security policies [e.g., 6,36,52,57] for discovering informationflow vulnerabilities.…”
Section: Related Workmentioning
confidence: 99%
“…In addition to the recent studies in API documentation and discovery, APIs are hard to be used [18,19,20]. An API method is usually used along with the other methods to implement specific functionality.…”
Section: A Api Usage Patterns Miningmentioning
confidence: 99%