Abstract
Mining data from remote repositories, such as GitHub and StackExchange, involves the execution of requests that can easily reach the limitations imposed by the respective APIs to shield their services from overload and abuse. Therefore, data mining clients are left alone to deal with such protective service policies which usually involves an extensive amount of manual implementation effort. In this work we present RestMule, a framework for handling various service policies, such as limited number of requests within a period of time and multi-page responses, by generating resilient clients that are able to handle request rate limits, network failures, response caching, and paging in a graceful and transparent manner. As a result, RestMule clients generated from OpenAPI specifications (i.e. standardized REST API descriptors), are suitable for intensive data-fetching scenarios. We evaluate our framework by reproducing an existing repository mining use case and comparing the results produced by employing a popular hand-written client and a RestMule client.
Original language | English |
---|---|
Title of host publication | Proceedings - 2018 ACM/IEEE 15th International Conference on Mining Software Repositories, MSR 2018 |
Publisher | IEEE Computer Society |
Pages | 537-541 |
Number of pages | 5 |
ISBN (Print) | 9781450357166 |
DOIs | |
Publication status | Published - 28 May 2018 |
Event | 15th ACM/IEEE International Conference on Mining Software Repositories, MSR 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018 - Gothenburg, Sweden Duration: 28 May 2018 → 29 May 2018 |
Conference
Conference | 15th ACM/IEEE International Conference on Mining Software Repositories, MSR 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018 |
---|---|
Country/Territory | Sweden |
City | Gothenburg |
Period | 28/05/18 → 29/05/18 |
Bibliographical note
© 2018 Copyright held by the owner/author(s). Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for detailsKeywords
- HTTP API clients
- openAPI specification
- resilience