Mining API patterns as partial orders from source code: from usage scenarios to specifications
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
What Makes APIs Hard to Learn? Answers from Developers
IEEE Software
Supporting program comprehension with source code summarization
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Incentivizing high-quality user-generated content
Proceedings of the 20th international conference on World wide web
Measuring API documentation on the web
Proceedings of the 2nd International Workshop on Web 2.0 for Software Engineering
How do programmers ask and answer questions on the web? (NIER track)
Proceedings of the 33rd International Conference on 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
Chaff from the wheat: characterization and modeling of deleted questions on stack overflow
Proceedings of the 23rd international conference on World wide web
Hi-index | 0.00 |
Software frameworks provide sets of generic functionalities that can be later customized for a specific task. When developers invoke API methods in a framework, they often encounter obstacles in finding the correct usage of the API, let alone to employ best practices. Previous research addresses this line of questions by mining API usage patterns to induce API usage templates, by conducting and compiling interviews of developers, and by inferring correlations among APIs. In this paper, we analyze API-related posts regarding iOS and Android development from a Q&A website, (stackoverflow.com). Assuming that API-related posts are primarily about API usage obstacles, we find several iOS and Android API classes that appear to be particularly likely to challenge developers, even after we factor out API usage hotspots, inferred by modelling API usage of open source iOS and Android applications. For each API with usage obstacles, we further apply a topic mining tool to posts that are tagged with the API, and we discover several repetitive scenarios in which API usage obstacles occur. We consider our work as a stepping stone towards understanding API usage challenges based on forum-based input from a multitude of developers, input that is prohibitively expensive to collect through interviews. Our method helps to motivate future research in API usage, and can allow designers of platforms --- such as iOS and Android --- to better understand the problems developers have in using their platforms, and to make corresponding improvements.