Architecting in software ecosystems: interface translucence as an enabler for scalable collaboration
Proceedings of the Fourth European Conference on Software Architecture: Companion Volume
Application programming gap between telecommunication and internet
IEEE Communications Magazine
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Leveraging usage similarity for effective retrieval of examples in code repositories
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
IDE 2.0: collective intelligence in software development
Proceedings of the FSE/SDP workshop on Future of software engineering research
Measuring API documentation on the web
Proceedings of the 2nd International Workshop on Web 2.0 for Software Engineering
Flow-augmented call graph: a new foundation for taming API complexity
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Assessing modularity via usage changes
Proceedings of the 10th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools
A field study of API learning obstacles
Empirical Software Engineering
Facing up to the inequality of crowdsourced API documentation
ACM SIGSOFT Software Engineering Notes
Synthesizing API usage examples
Proceedings of the 34th International Conference on Software Engineering
Automatic parameter recommendation for practical API usage
Proceedings of the 34th International Conference on Software Engineering
Facilitating code example search on the web through expertise personalization
UMAP'12 Proceedings of the 20th international conference on User Modeling, Adaptation, and Personalization
Development and application of a heuristic to assess trends in API documentation
Proceedings of the 30th ACM international conference on Design of communication
An empirical study of the influence of static type systems on the usability of undocumented software
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
What should developers be aware of? An empirical study on the directives of API documentation
Empirical Software Engineering
Methods towards API usability: a structural analysis of usability problem categories
HCSE'12 Proceedings of the 4th international conference on Human-Centered Software Engineering
Detecting API usage obstacles: a study of iOS and Android developer questions
Proceedings of the 10th Working Conference on Mining Software Repositories
Mining succinct and high-coverage API usage patterns from source code
Proceedings of the 10th Working Conference on Mining Software Repositories
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Extensibility in ecosystem architectures: an initial study
Proceedings of the 2013 International Workshop on Ecosystem Architectures
API documentation and software community values: a survey of open-source API documentation
Proceedings of the 31st ACM international conference on Design of communication
Generating API-usage example for project developers
Proceedings of the 5th Asia-Pacific Symposium on Internetware
Hi-index | 0.00 |
Most software projects reuse components exposed through APIs, which provide developers access to implemented functionality. APIs have grown large and diverse, which raises questions regarding their usability. This article reports on a study of the obstacles professional developers at Microsoft faced when learning how to use APIs. The study was grounded in developers' experience, collected through a survey and interviews. The resulting data showed that learning resources for APIs are critically important and shed light on three issues: the need to discover the design and rationale of the API when needed, the challenge of finding credible usage API examples at the right level of complexity, and the challenge of understanding inexplicable API behavior. The article describes each of these challenges in detail and discusses associated implications for API users and designers.