Using structure-based recommendations to facilitate discoverability in APIs

  • Authors:
  • Ekwa Duala-Ekoko;Martin P. Robillard

  • Affiliations:
  • School of Computer Science, McGill University, Montréal, Québec, Canada;School of Computer Science, McGill University, Montréal, Québec, Canada

  • Venue:
  • Proceedings of the 25th European conference on Object-oriented programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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.