Abstract
With the rapid adoption of REpresentational State Transfer (REST), more software organizations expose their applications as RESTful web APIs and client code developers integrate RESTful APIs into their applications. When web APIs evolve, the client code developers have to update their applications to incorporate the API changes accordingly. However client code developers often encounter challenges during the migration and API providers have little knowledge of how client code developers react to the API changes. In this paper, we investigate the changes among subsequent versions of APIs and classify the identified changes to understand how the RESTful web APIs evolve. We study the on-line discussion from developers to the API changes by analyzing the StackOverflow questions. Through an empirical study, we identify 21 change types and 7 of them are new compared with existing studies. We find that a larger portion of RESTful web API elements are changed between versions compared with Java APIs and WSDL services. Moreover, our results show that adding new methods in the new version causes more questions and views from developers. However the deleted methods draw more relevant discussions. In general, our results provide valuable insights of RESTful web API evolution and help service providers understand how their consumers react to the API changes in order to improve the practice of evolving the service APIs.
Chapter PDF
Similar content being viewed by others
References
Barua, A., Thomas, S.W., Hassan, A.E.: What are developers talking about? an analysis of topics and trends in stack overflow. Empirical Software Engineering 19(3), 619–654 (2014)
Blank, S.: API integration pain survey results (2014), https://www.yourtrove.com/blog/2011/08/11/api-integration-pain-survey-results (accessed on May 18, 2014)
Dig, D., Johnson, R.: How do apis evolve? a story of refactoring. Journal of software maintenance and evolution: Research and Practice 18(2), 83–107 (2006)
Espinha, T., Zaidman, A., Gross, H.G.: Web api growing pains: Stories from client developers and their code. In: 2014 Software Evolution Week-IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), pp. 84–93. IEEE (2014)
Fokaefs, M., Mikhaiel, R., Tsantalis, N., Stroulia, E., Lau, A.: An empirical study on web service evolution. In: 2011 IEEE International Conference on Web Services (ICWS), pp. 49–56. IEEE (2011)
Fokaefs, M., Stroulia, E.: Wsdarwin: Studying the evolution of web service systems. In: Advanced Web Services, pp. 199–223. Springer (2014)
Gomadam, K., Ranabahu, A., Nagarajan, M., Sheth, A.P., Verma, K.: A faceted classification based approach to search and rank web apis. In: IEEE International Conference on Web Services, ICWS 2008, pp. 177–184. IEEE (2008)
Grissom, R.J., Kim, J.J.: Effect sizes for research: A broad practical approach. Lawrence Erlbaum Associates Publishers (2005)
Li, H., Xing, Z., Peng, X., Zhao, W.: What help do developers seek, when and how? In: 2013 20th Working Conference on Reverse Engineering (WCRE), pp. 142–151. IEEE (2013)
Li, J., Xiong, Y., Liu, X., Zhang, L.: How does web service api evolution affect clients? In: 2013 IEEE 20th International Conference on Web Services (ICWS), pp. 300–307. IEEE (2013)
Linares-Vásquez, M., Bavota, G., Di Penta, M., Oliveto, R., Poshyvanyk, D.: How do api changes trigger stack overflow discussions? a study on the android sdk. In: Proceedings of the 22nd International Conference on Program Comprehension, pp. 83–94. ACM (2014)
Mamykina, L., Manoim, B., Mittal, M., Hripcsak, G., Hartmann, B.: Design lessons from the fastest q&a site in the west. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 2857–2866. ACM (2011)
Romano, D., Pinzger, M.: Analyzing the evolution of web services using fine-grained changes. In: 2012 IEEE 19th International Conference on Web Services (ICWS), pp. 392–399. IEEE (2012)
Twitter: Changes to withheld content fields (2014), https://blog.twitter.com/2012/changes-withheld-content-fields (accessed on May 1, 2014)
Wikipedia: Web API (2014), http://en.wikipedia.org/wiki/Web_API (accessed on May 19, 2014)
Yin, R.K.: Case study research: Design and methods. Sage Publications (2014)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wang, S., Keivanloo, I., Zou, Y. (2014). How Do Developers React to RESTful API Evolution?. In: Franch, X., Ghose, A.K., Lewis, G.A., Bhiri, S. (eds) Service-Oriented Computing. ICSOC 2014. Lecture Notes in Computer Science, vol 8831. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-45391-9_17
Download citation
DOI: https://doi.org/10.1007/978-3-662-45391-9_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-45390-2
Online ISBN: 978-3-662-45391-9
eBook Packages: Computer ScienceComputer Science (R0)