Opportunities in Software Engineering Research for Web API Consumption
This work addresses problems for developers consuming web APIs, but it is incremental as it builds on existing software engineering concepts.
The paper identifies challenges developers face when using web APIs and proposes research opportunities in software engineering to support web API consumption, including web API specification curation and static analysis for extracting API call details.
Nowadays, invoking third party code increasingly involves calling web services via their web APIs, as opposed to the more traditional scenario of downloading a library and invoking the library's API. However, there are also new challenges for developers calling these web APIs. In this paper, we highlight a broad set of these challenges and argue for resulting opportunities for software engineering research to support developers in consuming web APIs. We outline two specific research threads in this context: (1) web API specification curation, which enables us to know the signatures of web APIs, and (2) static analysis that is capable of extracting URLs, HTTP methods etc. of web API calls. Furthermore, we present new work on how we combine (1) and (2) to provide IDE support for application developers consuming web APIs. As web APIs are used broadly, research in supporting the consumption of web APIs offers exciting opportunities.