22 research outputs found
Web API Fragility: How Robust is Your Web API Client
Web APIs provide a systematic and extensible approach for
application-to-application interaction. A large number of mobile applications
makes use of web APIs to integrate services into apps. Each Web API's evolution
pace is determined by their respective developer and mobile application
developers are forced to accompany the API providers in their software
evolution tasks. In this paper we investigate whether mobile application
developers understand and how they deal with the added distress of web APIs
evolving. In particular, we studied how robust 48 high profile mobile
applications are when dealing with mutated web API responses. Additionally, we
interviewed three mobile application developers to better understand their
choices and trade-offs regarding web API integration.Comment: Technical repor
Evaluaci贸n de la usabilidad de APIs web
En los 煤ltimos a帽os las APIs web se han convertido en componentes clave para agilizar el proceso de construcci贸n de aplicaciones. Debido a esto, resulta importante que estas sean f谩ciles de aprender y utilizar para no reducir la productividad de los programadores ni obstaculizar el proceso de desarrollo. La usabilidad de las APIs es entonces considerada un factor fundamental para su correcta adopci贸n, y si bien existen estudios que proponen soluciones para evaluarla y mejorarla, estos abarcan mayormente APls locales; est谩n m谩s centrados sobre la documentaci贸n; suelen contemplar una limitada cantidad de caracter铆sticas de usabilidad y, adem谩s, los resultados de investigaciones sobre usabilidad de APIs en general a煤n son insuficientes. Por estas razones, a trav茅s del presente trabajo se propone resolver algunos de los problemas reci茅n mencionados mediante el estudio de la especificaci贸n OpenAPI y la construcci贸n de un framework de evaluaci贸n de la usabilidad de APIs web.XIX Workshop Ingenier铆a de Software (WIS)Red de Universidades con Carreras en Inform谩tic
Why and How Java Developers Break APIs
Modern software development depends on APIs to reuse code and increase
productivity. As most software systems, these libraries and frameworks also
evolve, which may break existing clients. However, the main reasons to
introduce breaking changes in APIs are unclear. Therefore, in this paper, we
report the results of an almost 4-month long field study with the developers of
400 popular Java libraries and frameworks. We configured an infrastructure to
observe all changes in these libraries and to detect breaking changes shortly
after their introduction in the code. After identifying breaking changes, we
asked the developers to explain the reasons behind their decision to change the
APIs. During the study, we identified 59 breaking changes, confirmed by the
developers of 19 projects. By analyzing the developers' answers, we report that
breaking changes are mostly motivated by the need to implement new features, by
the desire to make the APIs simpler and with fewer elements, and to improve
maintainability. We conclude by providing suggestions to language designers,
tool builders, software engineering researchers and API developers.Comment: Accepted at International Conference on Software Analysis, Evolution
and Reengineering, SANER 2018; 11 page