A data-driven approach to measure the usability of Web APIs
Document typeConference report
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Rights accessOpen Access
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder
Application Programming Interfaces (APIs) are means of communication between applications, hence they can be seen as user interfaces, just with different kind of users, i.e., software or computers. However, the very first consumers of the APIs are humans, namely programmers. Based on the available documentation and the ``ease of use'' perception (sometimes led by corporate decisions and/or restrictions) they decide to use or not a specific API. In this paper, we propose a data-driven approach to measure web API usability, expressed through the predicted error rate. Following the reviewed state of the art in API usability, we identify a set of usability attributes, and for each of them we propose indicators that web API providers should refer to when developing usable web APIs. Our focus in this paper is on those indicators that can be quantified using the API logs, which indeed reflect the actual behaviour of programmers. Next, we define metrics for the aforementioned indicators, and exemplify them in our use case, applying them on the logs from the web API of District Health Information System (DHIS2) used at World Health Organization (WHO). Using these metrics as features, we build a classifier model to predict the error rate of API endpoints. Besides finding usability issues, we also drill down into the usage logs and investigate the potential causes of these errors.
CitationKoçi, R. [et al.]. A data-driven approach to measure the usability of Web APIs. A: Euromicro Conference on Software Engineering and Advanced Applications. "46th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2020: 26-28 August 2020, Kranj, Slovenia: proceedings". Institute of Electrical and Electronics Engineers (IEEE), 2020, p. 64-71. ISBN 978-1-7281-9532-2. DOI 10.1109/SEAA51224.2020.00021.