2011
DOI: 10.1007/978-3-642-22655-7_5
|View full text |Cite
|
Sign up to set email alerts
|

Using Structure-Based Recommendations to Facilitate Discoverability in APIs

Abstract: Abstract. Empirical evidence indicates that developers face significant hurdles when the API elements necessary to implement a task are not accessible from the types they are working with. We propose an approach that leverages the structural relationships between API elements to make API methods or types not accessible from a given API type more discoverable. We implemented our approach as an extension to the content assist feature of the Eclipse IDE, in a tool called API Explorer. API Explorer facilitates dis… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
23
0

Year Published

2013
2013
2017
2017

Publication Types

Select...
4
2
2

Relationship

1
7

Authors

Journals

citations
Cited by 31 publications
(23 citation statements)
references
References 20 publications
0
23
0
Order By: Relevance
“…The API Explorer tool [8] aids discoverability by recommending methods and types that are not directly accessible from the type with which the developer is working with. The recommendations might consist of a single method call or a chain of object instantiations and calls to obtain a reference to a certain type.…”
Section: Methods Chain Recommendersmentioning
confidence: 99%
See 1 more Smart Citation
“…The API Explorer tool [8] aids discoverability by recommending methods and types that are not directly accessible from the type with which the developer is working with. The recommendations might consist of a single method call or a chain of object instantiations and calls to obtain a reference to a certain type.…”
Section: Methods Chain Recommendersmentioning
confidence: 99%
“…On the one hand, API usability was studied through empirical experiments (e.g., [2,3,4,5,6]), which revealed the types of barriers that API users face (e.g., relationships between types and instantiation of abstract types). On the other hand, recommendation systems were proposed as an aid to assist API users through IDE (Integrated Development Environment) code completion mechanisms, which rely either on structural analysis (e.g., [7,8]) or on mining patterns from source code (e.g., [9,10,11,12,13]). Although code completion is an IDE feature that boosts programmer productivity with respect to code writing using a familiar API, empirical studies demonstrated that code completion is often used to explore, and hence, learn an unfamiliar API (e.g., [3,6]).…”
Section: Introductionmentioning
confidence: 99%
“…Code recommenders, proposed by [11], [14], [15], [21], [32], address re-implementations by recommending code snippets or applicable library methods depending on the current development context. Similar to code recommenders, enhanced code completion [4], [27] aims to ease discovery of existing functionality to the developer.…”
Section: Preventing Re-implementationsmentioning
confidence: 99%
“…Perelman et al [8] defined a language of partial expressions that makes type-directed predictions to help developers find method names based on the given arguments, arguments based on the method name, or to complete binary expressions such as assignment statements. Similarly, Duala-Ekoko and Robillard [9] developed a tool called API Explorer that help developers discover API methods or types that are inaccessible from a given API type, by leveraging the structural relationships between API elements. While such tools help developers use the unknown APIs, they do not help developers with the APIs they used to know.…”
Section: Prototype Toolmentioning
confidence: 99%