Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
158 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

How Do Microservice API Patterns Impact Understandability? A Controlled Experiment (2402.13696v1)

Published 21 Feb 2024 in cs.SE

Abstract: Microservices expose their functionality via remote Application Programming Interfaces (APIs), e.g., based on HTTP or asynchronous messaging technology. To solve recurring problems in this design space, Microservice API Patterns (MAPs) have emerged to capture the collective experience of the API design community. At present, there is a lack of empirical evidence for the effectiveness of these patterns, e.g., how they impact understandability and API usability. We therefore conducted a controlled experiment with 6 microservice patterns to evaluate their impact on understandability with 65 diverse participants. Additionally, we wanted to study how demographics like years of professional experience or experience with MAPs influence the effects of the patterns. Per pattern, we constructed two API examples, each in a pattern version "P" and a functionally equivalent non-pattern version "N" (24 in total). Based on a crossover design, participants had to answer comprehension questions, while we measured the time. For five of the six patterns, we identified a significant positive impact on understandability, i.e., participants answered faster and / or more correctly for "P". However, effect sizes were mostly small, with one pattern showing a medium effect. The correlations between performance and demographics seem to suggest that certain patterns may introduce additional complexity; people experienced with MAPs will profit more from their effects. This has important implications for training and education around MAPs and other patterns.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (27)
  1. B. A. Myers and J. Stylos, “Improving API usability,” Communications of the ACM, vol. 59, no. 6, pp. 62–69, May 2016. [Online]. Available: https://dl.acm.org/doi/10.1145/2896587
  2. O. Zimmermann, M. Stocker, D. Lübke, and U. Zdun, “Interface Representation Patterns - Crafting and Consuming Message-Based Remote APIs,” in Proceedings of the 22nd European Conference on Pattern Languages of Programs - EuroPLoP ’17, vol. Part F1320.   New York, New York, USA: ACM Press, 2017, pp. 1–36. [Online]. Available: http://dl.acm.org/citation.cfm?doid=3147704.3147734
  3. M. Stocker, O. Zimmermann, U. Zdun, D. Lübke, and C. Pautasso, “Interface Quality Patterns - Communicating and Improving the Quality of Microservices APIs,” in Proceedings of the 23rd European Conference on Pattern Languages of Programs - EuroPLoP ’18.   New York, New York, USA: ACM Press, 2018, pp. 1–16. [Online]. Available: http://dl.acm.org/citation.cfm?doid=3282308.3282319
  4. D. Lübke, O. Zimmermann, C. Pautasso, U. Zdun, and M. Stocker, “Interface Evolution Patterns — Balancing Compatibility and Extensibility across Service Life Cycles,” in Proceedings of the 24th European Conference on Pattern Languages of Programs - EuroPLop ’19.   New York, New York, USA: ACM Press, Jul. 2019, pp. 1–24. [Online]. Available: http://eprints.cs.univie.ac.at/6082/http://dl.acm.org/citation.cfm?doid=3361149.3361164
  5. O. Zimmermann, D. Lübke, U. Zdun, C. Pautasso, and M. Stocker, “Interface responsibility patterns: Processing resources and operation responsibilities,” in Proceedings of the European Conference on Pattern Languages of Programs 2020, ser. EuroPLoP ’20.   New York, NY, USA: Association for Computing Machinery, 2020. [Online]. Available: https://doi.org/10.1145/3424771.3424822
  6. A. El Malki and U. Zdun, “Combining API Patterns in Microservice Architectures: Performance and Reliability Analysis,” in 2023 IEEE International Conference on Web Services (ICWS).   Chicago, IL, USA: IEEE, Jul. 2023, pp. 246–257. [Online]. Available: https://ieeexplore.ieee.org/document/10248332/
  7. M. Ali and M. O. Elish, “A comparative literature survey of design patterns impact on software quality,” International Conference on Information Science and Applications, pp. 1–7, 2013.
  8. F. Wedyan and S. Abufakher, “Impact of design patterns on software quality: a systematic literature review,” IET Software, Vol. 14, No. 1, Feb. 2020.
  9. L. Chen, M. Ali Babar, and B. Nuseibeh, “Characterizing Architecturally Significant Requirements,” IEEE Software, vol. 30, no. 2, pp. 38–45, Mar. 2013. [Online]. Available: http://ieeexplore.ieee.org/document/6365165/
  10. S. Barney, K. Petersen, M. Svahnberg, A. Aurum, and H. Barney, “Software quality trade-offs: A systematic map,” Information and Software Technology, vol. 54, no. 7, pp. 651–662, Jul. 2012. [Online]. Available: https://linkinghub.elsevier.com/retrieve/pii/S0950584912000195
  11. J. Bogner, S. Kotstein, and T. Pfaff, “Do RESTful API design rules have an impact on the understandability of Web APIs?” Empirical Software Engineering, vol. 28, no. 6, p. 132, Nov. 2023. [Online]. Available: https://link.springer.com/10.1007/s10664-023-10367-y
  12. K. K. Fletcher, “A quality-aware web api recommender system for mashup development,” in Services Computing – SCC 2019, J. E. Ferreira, A. Musaev, and L.-J. Zhang, Eds.   Cham: Springer International Publishing, 2019, pp. 1–15.
  13. J. Bogner, S. Wagner, and A. Zimmermann, “On the impact of service-oriented patterns on software evolvability: a controlled experiment and metric-based analysis,” PeerJ Computer Science 5, Aug. 2019.
  14. G. Vale, F. F. Correia, E. M. Guerra, T. de Oliveira Rosa, J. Fritzsch, and J. Bogner, “Designing microservice systems using patterns: An empirical study on quality trade-offs,” 2022 IEEE 19th International Conference on Software Architecture, pp. 69–79, 2022.
  15. R. Pinciroli, A. Aleti, and C. Trubiani, “Performance modeling and analysis of design patterns for microservice systems,” in 2023 IEEE 20th International Conference on Software Architecture (ICSA).   Los Alamitos, CA, USA: IEEE Computer Society, mar 2023, pp. 35–46. [Online]. Available: https://doi.ieeecomputersociety.org/10.1109/ICSA56044.2023.00012
  16. A. Akbulut and H. G. Perros, “Performance analysis of microservice design patterns,” IEEE Internet Computing, Vol. 23, No. 6, pp. 19–27, Nov. 2019.
  17. A. El Malki and U. Zdun, “Evaluation of API Request Bundling and its Impact on Performance of Microservice Architectures,” in 2021 IEEE International Conference on Services Computing (SCC).   Chicago, IL, USA: IEEE, Sep. 2021, pp. 419–424. [Online]. Available: https://ieeexplore.ieee.org/document/9592439/
  18. A. El Malki, U. Zdun, and C. Pautasso, “Impact of API Rate Limit on Reliability of Microservices-Based Architectures,” in 2022 IEEE International Conference on Service-Oriented System Engineering (SOSE).   Newark, CA, USA: IEEE, Aug. 2022, pp. 19–28. [Online]. Available: https://ieeexplore.ieee.org/document/9912639/
  19. A. Bakhtin, A. Al Maruf, T. Cerny, and D. Taibi, “Survey on Tools and Techniques Detecting Microservice API Patterns,” in 2022 IEEE International Conference on Services Computing (SCC).   Barcelona, Spain: IEEE, Jul. 2022, pp. 31–38. [Online]. Available: https://ieeexplore.ieee.org/document/9860229/
  20. M. Wyrich, J. Bogner, and S. Wagner, “40 Years of Designing Code Comprehension Experiments: A Systematic Mapping Study,” ACM Computing Surveys, p. 3626522, Oct. 2023. [Online]. Available: https://dl.acm.org/doi/10.1145/3626522
  21. S. Scalabrino, G. Bavota, C. Vendome, M. Linares, D. Poshyvanyk, and R. Oliveto, “Automatically assessing code understandability,” IEEE Transactions of Software Engineering, Vol. 47, No. 3, Mar. 2021.
  22. S. Baltes and P. Ralph, “Sampling in software engineering research: A critical review and guidelines,” Empirical Software Engineering, vol. 27, no. 4, p. 94, Jul. 2022. [Online]. Available: https://link.springer.com/10.1007/s10664-021-10072-8
  23. S. Vegas, C. Apa, and N. Juristo, “Crossover designs in software engineering experiments: Benefits and perils,” IEEE Transactions on Software Engineering, Vol. 42, No. 2, pp. 120–135, Feb. 2016.
  24. S. Shapiro and M. Wilk, “An analysis of variance test for normality (complete samples),” Biometrika, Vol. 52, No. 3-4, p. 591–611, Dec. 1965.
  25. H. Mann and D. Whitney, “On a test of whether one of two random variables is stochastically larger than the other,” Annals of Mathematical Statistics, Vol. 18, No. 1, p. 50–60, Mar. 1947.
  26. S. Sawilowsky, “New effect size rules of thumb,” Journal of Modern Applied Statistical Methods, Vol. 8, No. 2, pp. 597–599, 11 2009.
  27. M. G. Kendall, “A new measure of rank correlation,” Biometrika, Vol. 30, No. 1-2, pp. 81–93, 06 1938.
Citations (1)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com