Logo PTI Logo FedCSIS

Communication Papers of the 19th Conference on Computer Science and Intelligence Systems (FedCSIS)

Annals of Computer Science and Information Systems, Volume 41

Towards Evolvable APIs through Ontological Analysis

,

DOI: http://dx.doi.org/10.15439/2024F3164

Citation: Communication Papers of the 19th Conference on Computer Science and Intelligence Systems (FedCSIS), M. Bolanowski, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 41, pages 6168 ()

Full text

Abstract. In recent times, the growth of technology toward decentralized solutions and microservice architecture has made Application Programming Interfaces (APIs) crucial for connecting different parts of business software systems. Although the technologies for developing and using APIs are quite stable, the fast-changing business world demands that APIs be easy to maintain and adapt. Currently, changes in APIs made by API providers often imply required updates on the side of API consumers, which can be costly and prone to mistakes. This paper analyzes the types of changes in APIs and uses this analysis to build a detailed model that shows the relationships between API consumers and API providers. This model helps visualize these relationships and can serve as a stepping stone for further automation. As a means of possible evolvable realization, we discuss the Normalized System Theory and implementation.

References

  1. L. Rainie and B. Wellman, The Internet in Daily Life: The Turn to Networked Individualism, 07 2019, pp. 27–42. ISBN 9780198843498
  2. R. Kurzweil, The Law of Accelerating Returns. Berlin, Heidelberg: Springer Berlin Heidelberg, 2004, pp. 381–416. ISBN 978-3-662-05642-4. [Online]. Available: https://doi.org/10.1007/978-3-662-05642-4_16
  3. M. Lamothe, Y.-G. Guéhéneuc, and W. Shang, “A systematic review of api evolution literature,” ACM Comput. Surv., vol. 54, no. 8, oct 2021. http://dx.doi.org/10.1145/3470133. [Online]. Available: https://doi.org/10.1145/3470133
  4. A. Hevner, “A three cycle view of design science research,” Scandinavian Journal of Information Systems, vol. 19, 01 2007.
  5. M. Reddy, API Design for C++. Elsevier Science, 2011. ISBN 9780123850041. [Online]. Available: https://books.google.cz/books?id=IY29LylT85wC
  6. N. Guarino, D. Oberle, and S. Staab, What Is an Ontology? Berlin, Heidelberg: Springer Berlin Heidelberg, 2009, pp. 1–17. ISBN 978-3-540-92673-3. [Online]. Available: https://doi.org/10.1007/978-3-540-92673-3_0
  7. X. Rival and K. Yi, Introduction to static analysis: an abstract interpretation perspective. Mit Press, 2020.
  8. H. Mannaert, J. Verelst, and P. De Bruyn, Normalized Systems Theory: From Foundations for Evolvable Software Toward a General Theory for Evolvable Design. nsi-Press powered bei Koppa, 2016. ISBN 9789077160091. [Online]. Available: https://books.google.cz/books?id=0rA_tAEACAAJ
  9. G. Oorts, K. Ahmadpour, H. Mannaert, J. Verelst, and A. Oost, “Easily evolving software using normalized system theory-a case study,” Proceedings of ICSEA, pp. 322–327, 2014.
  10. M. D. Wilkinson, M. Dumontier, I. J. Aalbersberg, G. Appleton, M. Axton, A. Baak, N. Blomberg, J.-W. Boiten, L. B. da Silva Santos, P. E. Bourne et al., “The fair guiding principles for scientific data management and stewardship,” Scientific data, vol. 3, no. 1, pp. 1–9, 2016.
  11. K. De Smedt, D. Koureas, and P. Wittenburg, “Fair digital objects for science: From data pieces to actionable knowledge units,” Publications, vol. 8, no. 2, 2020. http://dx.doi.org/10.3390/publications8020021. [Online]. Available: https://www.mdpi.com/2304-6775/8/2/21
  12. C. Wohlin, “Guidelines for snowballing in systematic literature studies and a replication in software engineering,” in Proceedings of the 18th international conference on evaluation and assessment in software engineering, 2014, pp. 1–10.
  13. A. Brito, L. Xavier, A. Hora, and M. T. Valente, “Apidiff: Detecting api breaking changes,” in 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), 2018. http://dx.doi.org/10.1109/SANER.2018.8330249 pp. 507–511.
  14. B. Dagenais and M. P. Robillard, “Semdiff: Analysis and recommendation support for api evolution,” in 2009 IEEE 31st International Conference on Software Engineering, 2009. http://dx.doi.org/10.1109/ICSE.2009.5070565 pp. 599–602.
  15. D. Ramos, H. Mitchell, I. Lynce, V. Manquinho, R. Martins, and C. L. Goues, “Melt: Mining effective lightweight transformations from pull requests,” in 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2023. http://dx.doi.org/10.1109/ASE56229.2023.00117 pp. 1516–1528.
  16. N. Deshpande, M. W. Mkaouer, A. Ouni, and N. Sharma, “Third-party software library migration at the method-level using multi-objective evolutionary search,” Swarm and Evolutionary Computation, vol. 84, p. 101444, 2024. http://dx.doi.org/https://doi.org/10.1016/j.swevo.2023.101444. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S221065022300216X
  17. M. Lamothe, W. Shang, and T.-H. P. Chen, “A3: Assisting android api migrations using code examples,” IEEE Transactions on Software Engineering, vol. 48, no. 2, pp. 417–431, 2022. http://dx.doi.org/10.1109/TSE.2020.2988396
  18. X. Gao, A. Radhakrishna, G. Soares, R. Shariffdeen, S. Gulwani, and A. Roychoudhury, “Apifix: output-oriented program synthesis for combating breaking changes in libraries,” Proceedings of the ACM on Programming Languages, vol. 5, no. OOPSLA, pp. 1–27, 2021.
  19. R. Rolim, G. Soares, L. D’Antoni, O. Polozov, S. Gulwani, R. Gheyi, R. Suzuki, and B. Hartmann, “Learning syntactic program transformations from examples,” in 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), 2017. http://dx.doi.org/10.1109/ICSE.2017.44 pp. 404–415.
  20. L. Beurer-Kellner, J. von Pilgrim, C. Tsigkanos, and T. Kehrer, “A transformational approach to managing data model evolution of web services,” IEEE Transactions on Services Computing, vol. 16, no. 1, pp. 65–79, 2023. http://dx.doi.org/10.1109/TSC.2022.3144613
  21. Z. Huang, J. Chen, J. Jiang, Y. Liang, H. You, and F. Li, “Mapping apis in dynamic-typed programs by leveraging transfer learning,” ACM Trans. Softw. Eng. Methodol., vol. 33, no. 4, apr 2024. http://dx.doi.org/10.1145/3641848. [Online]. Available: https://doi.org/10.1145/3641848
  22. E. Wittern, “Web apis - challenges, design points, and research opportunities: invited talk at the 2nd international workshop on api usage and evolution (wapi ’18),” in Proceedings of the 2nd International Workshop on API Usage and Evolution, ser. WAPI ’18. New York, NY, USA: Association for Computing Machinery, 2018. http://dx.doi.org/10.1145/3194793.3194801. ISBN 9781450357548 p. 18. [Online]. Available: https://doi.org/10.1145/3194793.3194801
  23. W. Granli, J. Burchell, I. Hammouda, and E. Knauss, “The driving forces of api evolution,” in Proceedings of the 14th International Workshop on Principles of Software Evolution, ser. IWPSE 2015. New York, NY, USA: Association for Computing Machinery, 2015. http://dx.doi.org/10.1145/2804360.2804364. ISBN 9781450338165 p. 28–37. [Online]. Available: https://doi.org/10.1145/2804360.2804364
  24. M. Lehman, J. Ramil, P. Wernick, D. Perry, and W. Turski, “Metrics and laws of software evolution-the nineties view,” in Proceedings Fourth International Software Metrics Symposium, 1997. http://dx.doi.org/10.1109/METRIC.1997.637156 pp. 20–32.
  25. D. Hou and X. Yao, “Exploring the intent behind api evolution: A case study,” in 2011 18th Working Conference on Reverse Engineering, 2011. http://dx.doi.org/10.1109/WCRE.2011.24 pp. 131–140.
  26. A. V. Zarras, P. Vassiliadis, and I. Dinos, “Keep calm and wait for the spike! insights on the evolution of amazon services,” in ADVANCED INFORMATION SYSTEMS ENGINEERING (CAISE 2016), ser. Lecture Notes in Computer Science, S. Nurcan, P. Soffer, M. Bajec, and J. Eder, Eds., vol. 9694, 2016. http://dx.doi.org/10.1007/978-3-319-39696-5_27. ISBN 978-3-319-39696-5; 978-3-319-39695-8. ISSN 0302-9743 pp. 444–458, 28th International Conference on Advanced Information Systems Engineering (CAiSE), Ljubljana, SLOVENIA, JUN 13-17, 2016.
  27. A. Karavisileiou, N. Mainas, and E. G. Petrakis, “Ontology for openapi rest services descriptions,” in 2020 IEEE 32nd International Conference on Tools with Artificial Intelligence (ICTAI), 2020. http://dx.doi.org/10.1109/ICTAI50040.2020.00016 pp. 35–40.
  28. K. Togias and A. Kameas, “An ontology-based representation of the twitter rest api,” vol. 1, 11 2012. http://dx.doi.org/10.1109/ICTAI.2012.85 pp. 998–1003.
  29. D. Androcec and N. Vrcek, “Platform as a service api ontology,” in PROCEEDINGS OF THE 12TH EUROPEAN CONFERENCE ON EGOVERNMENT, VOLS 1 AND 2, M. Gasco, Ed., 2012. ISBN 978-1-908272-42-3 pp. 47–54, 12th European Conference on eGovernment (ECEG), ESADE, Inst Publ Governance & Management, Barcelona, SPAIN, JUN 14-15, 2012.
  30. G. Guizzardi, G. Wagner, J. P. Andrade Almeida, and R. S. S. Guizzardi, “Towards ontological foundations for conceptual modeling: The unified foundational ontology (ufo) story,” APPLIED ONTOLOGY, vol. 10, no. 3-4, pp. 259–271, 2015. http://dx.doi.org/10.3233/AO-150157