2012 · 51 citations · 16 references
ComputingComputer ScienceInformation SystemsData StructuresRecommender SystemsApi SecurityApplication Programming InterfacesRecommendation EvaluationRecommendation SystemsService DiscoveryWeb ApisApi DesignApi DiscoverabilityDiscoverability
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 discoverability in APIs by recommending methods or types, which although not directly reachable from the type a developer is currently working with, may be relevant to solving a programming task. In a case study evaluation, participants experienced little difficulty selecting relevant API elements from the recommendations made by API Explorer, and found the assistance provided by API Explorer helpful in surmounting discoverability hurdles in multiple tasks and various contexts. The results provide evidence that relevant API elements not accessible from the type a developer is working with could be efficiently located through guidance based on structural relationships. 1
16
Suresh Thummalapenta, Tao Xie · 2007 · 397 citations
David Mandelin, Lin Xu, Rastislav Bodík et al. · ACM SIGPLAN Notices · 2005 · 393 citations
Using structural context to recommend source code examples
Reid Holmes, Gail C. Murphy · 2005 · 385 citations · Full text
Learning from examples to improve code completion systems
Marcel Bruch, Martin Monperrus, Mira Mezini · 2009 · 379 citations · Full text