Integrating active information delivery and reuse repository systems
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Using structural context to recommend source code examples
Proceedings of the 27th international conference on Software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Usability Implications of Requiring Parameters in Objects' Constructors
ICSE '07 Proceedings of the 29th international conference on Software Engineering
The Factory Pattern in API Design: A Usability Evaluation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Constructing Usage Scenarios for API Redocumentation
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Parseweb: a programmer assistant for reusing open source code on the web
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Code Conjurer: Pulling Reusable Software out of Thin Air
IEEE Software
The implications of method placement on API learnability
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Jadeite: improving API documentation using usage information
CHI '09 Extended Abstracts on Human Factors in Computing Systems
Learning from examples to improve code completion systems
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
How Program History Can Improve Code Completion
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Adding Examples into Java Documents
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
A field study of API learning obstacles
Empirical Software Engineering
Analyzing temporal API usage patterns
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Type-directed completion of partial expressions
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Temporal analysis of API usage concepts
Proceedings of the 34th International Conference on Software Engineering
Escaping the maze of twisty classes
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Discovering math APIs by mining unit tests
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Temporal code completion and navigation
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
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.