A proposal to Assist the Mashup Co-evolution when web APIs evolve

  • Graciela Beatriz Vidal Universidad Nacional de la Patagonia Austral
  • Sandra Casas, Dra. Universidad Nacional de la Patagonia Austral
  • Franco Herrera, Lic. Universidad Nacional de la Patagonia Austral
Keywords: API change impact, API web, co-evolución, web mashup

Abstract

As web application programming interfaces (APIs) evolve, previously established contracts change, and thus can affect the behavior, operation and / or execution of consumer applications such as Mashup. In these cases, these applications need to be repaired to continue working, which is a process called co-evolution. Identifying and locating the operations that are affected by the evolution of web APIs and estimating the impact they generate are necessary tasks that help the developer update the code. This work presents a proposal to assist the coevolution of Mashup. Specifically from a mashup operations graph, we identify and locate the operations affected by some changes in the web APIs. We also propose a set of simple metrics that allow estimating the impact of these changes on the mashup. The mashup operations graph and metrics assist web developers in co-evolution tasks. The proposal was applied to two mashups that are currently available on the web. The preliminary results show that the proposal is applicable.

DOI

Downloads

Download data is not yet available.

Author Biographies

Graciela Beatriz Vidal, Universidad Nacional de la Patagonia Austral

Graciela Vidal es Magister en Informática y Sistemas, egresada de la Universidad Nacional de la Patagonia
Austral. Se desempeña como docente e investigadora en el GISP desde el año 2007. Sus trabajos de investigación se orientan a desarrollar estrategias y lineamientos que mejoren el proceso de desarrollo de aplicaciones web que son tendencia en la actualidad.

Sandra Casas, Dra., Universidad Nacional de la Patagonia Austral

Sandra Casas es Dra. en Ingeniería de Software. Es Profesora en la Universidad Nacional de la Patagonia Austral, Argentina, desde el año 1995. Sus líneas de trabajo principales son, técnicas de desarrollo para mejorar la modularización y reutilización de software y calidad de aplicaciones software.

Franco Herrera, Lic., Universidad Nacional de la Patagonia Austral

Franco Herrera es Licenciado en Sistemas, egresado de la Universidad Nacional de la Patagonia Austral. Se desempeña como docente e investigador en el GISP desde el año 2005. Sus trabajos de investigación se enfocan a la automatización de desarrollo de software.

References

R. Robbes, M. Lungu and A. Janes. “API fluency” ICSE-NIER '19: Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results. pp 97–100, 2019.

W. Maalej andM. P. Robillard, “Patterns of knowledge in API reference documentation,” IEEE Trans. Softw. Eng., vol. 39, no. 9, pp. 1264–1282, 2013.

U. Dekel andJ. D. Herbsleb, “Reading the documentation of invoked API functions in program comprehension” ICPC’09, pp. 168–177, 2009.

R. Trapero Burgos, D. Suarez Fuentes, José Del Alamo and A. Leon Martin. "Next Generation Mashups: How to Create my Own Services in a Convergent World," in IEEE Latin America Transac-tions, vol. 7, no. 3, pp. 390-394, 2009.

R. T. Fielding, “Architectural styles and the design of network-based software architectures,” Ph.D. dissertation, U. of California, Irvine, 2000.

E. Wittern, A. T.T. Ying, Y. Zheng, J. Laredo, J.Dolby, Ch. Young and A. Slominski., "Opportunities in Software Engineering Research for Web API Consumption," 1st International Workshop on API Usage and Evolution (WAPI), Buenos Aires, pp. 7-10, 2017

A. Cummaudo, R. Vasa and J. Grundy, "What should I document? A preliminary systematic mapping study into API documentation knowledge", International Symposium on Empirical Software Engineering and Measurement (ESEM), Brazil pp. 1-6, , 2019

D. Nam, A. Horvath, A. Macvean, B. Myers and B. Vasilescu, "MARBLE: Mining for Boilerplate Code to Identify API Usability Problems," 34th International Conference on Automated Software Engineering, USA, pp. 615-627, 2019

C. Sadowski, K. T. Stolee andS. Elbaum, “How developers search for code: a case study,” in Proceedings of the 10th Joint Meeting on Foundations of Software Engineering. ACM, pp. 191–201, 2015

A.M. Eilertsen andA.H. Bagge. “Exploring API / Client Co-Evolution”, Gothenburg, Sweden 2nd International Workshop on API Usage and Evolution.2018

K.Jezek andJ.Dietrich. “API Evolution and Compatibility: A Data Corpus and Tool Evaluation”. Journal of Object Technology, 2:1–23 , 2017

L. Xavier, A. Brito, A. Hora and M. T. Valente. “Historical and Impact Analysis of API Breaking Changes: A Large-Scale Study”. IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER). 2017.

C. Prehofer andI. Gerostathopoulos. “Modeling RESTful Web of Things Services: Concepts and Tools”. Managing the Web of Things. Chapter 3, pp. 73-104, ISBN 9780128097649, 2017

R. Koçi, X. Franch, P. Janovic. andA. Abelló. “Classification of Changes in API Evolution”. 23rd International Enterprise Distributed Object Computing Conference (EDOC) 2019

T. Espinha, A. Zaidman, and H.-G. Gross, “Web API growing pains: Stories from client developers and their code,” Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering. IEEE CS, pp. 84–93, 2014

J. Li, Y. Xiong, X. Liu andL. Zhang, “How does web service API evolution affect clients?” 20th Conf. on Web Services. IEEE, pp. 300–307, 2013

T. Espinha, A. Zaidman and H.-G. Gross, “Web API Fragility: How Robust is Your Mobile Application?” Proceedings MOBILESoft, pp. 12–21, 2015

E. Wittern, A. T. T. Ying, Y. Zheng, J. Dolby and J. A. Laredo, "Statically Checking Web API Requests in JavaScript," 39th International Conference on Software Engineering (ICSE), pp. 244-254, 2017

Alam, K.A., Ahmad, R., Akhunzada, A., Nasir, M. and Khan, S. “Impact analysis and change propagation in service-oriented enterprises: A systematic review”. Inf. Syst., 54, 43-73 (2015).

R. Kohar and N. Parimala. “A metrics framework for measuring quality of a web service as it evolves”. International Journal of System Assurance Engineering and Management 8, 1222–1236, 2017

W. Ding, G. Wang, Y. Han andJ. Wang. “A Pattern-Oriented Impact Analysis Approach for Mashups”. Fifth IEEE International Symposium on Service Oriented System Engineering 978-0-7695-4081-8/10 , 2010

W. Hummer, P. Leitner andS. Dustdar. “A step-by -step debugging technique to facilitate mashup development and maintenance.” Mashups '09/'10. Cyprus, 2010.

O. Hassan, L. Ramaswarny and J. Miller. “The MACE Approach for Caching Mashups”. International Journal of Web Services Research 7(4), pp 64–88, 2010.

P. Zhang, H. Han and G. Wang. “An Efficient Data Maintenance Strategy for Data Service Mashup Based on Materialized View Selection”. ICSOC , LNCS, vol 7759. Springer, Berlin, Heidelberg, 2012.

G. Wang and F. Zhang, "Freshness-Aware Sensor Mashups Based on Data Services," International Conference on Green Computing and Communications and Internet of Things and IEEE Cyber, Physical and Social Computing, Beijing, pp. 2018-2023, 2013

M. Shevertalov andS. Mancoridis. “On the maintenance of UI-integrated Mashup Applications”. 27th International Conference on Software Maintenance, pp. 203–212, 2011

R. Oberhauser.”A hypermedia-driven approach for adapting processes via adaptation processes”. 8th International Conference on Advanced Software Engineering & Its Applications. pp. 73{80. IEEE (2015)

H.A. Nguyen, T.T. Nguyen, G. Wilson Jr, A.T Nguyen, M. Kim andT.N. Nguyen. “A graph-based approach to api usage adaptation”. ACM Sigplan Notices 45(10), 302-321 (2010

R. Bustamante and K. Garcés. “Managing Evolution of API-driven IoT Devices through Adaptation Chains”.CIBSE 2020.

Published
2022-01-03
How to Cite
[1]
G. Vidal, S. Casas, and F. Herrera, “A proposal to Assist the Mashup Co-evolution when web APIs evolve”, LAJC, vol. 9, no. 1, pp. 86-97, Jan. 2022.
Section
Research Articles for the Regular Issue