Advertisement

A Modular Approach to Calculate Service-Based Maintainability Metrics from Runtime Data of Microservices

  • Justus BognerEmail author
  • Steffen Schlinger
  • Stefan Wagner
  • Alfred Zimmermann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11915)

Abstract

While several service-based maintainability metrics have been proposed in the scientific literature, reliable approaches to automatically collect these metrics are lacking. Since static analysis is complicated for decentralized and technologically diverse microservice-based systems, we propose a dynamic approach to calculate such metrics from runtime data via distributed tracing. The approach focuses on simplicity, extensibility, and broad applicability. As a first prototype, we implemented a Java application with a Zipkin integrator, 23 different metrics, and five export formats. We demonstrated the feasibility of the approach by analyzing the runtime data of an example microservice-based system. During an exploratory study with six participants, 14 of the 18 services were invoked via the system’s web interface. For these services, all metrics were calculated correctly from the generated traces.

Keywords

Maintainability metrics Dynamic analysis Microservices 

Notes

Acknowledgments

This research was partially funded by the Ministry of Science of Baden-Württemberg, Germany, for the doctoral program Services Computing (https://www.services-computing.de/?lang=en).

References

  1. 1.
    Basci, D., Misra, S.: Data complexity metrics for XML web services. Adv. Electr. Comput. Eng. 9(2), 9–15 (2009).  https://doi.org/10.4316/aece.2009.02002CrossRefGoogle Scholar
  2. 2.
    Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Assuring the evolvability of microservices: insights into industry practices and challenges. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, Cleveland (2019)Google Scholar
  3. 3.
    Bogner, J., Wagner, S., Zimmermann, A.: Automatically measuring the maintainability of service- and microservice-based systems. In: Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement on - IWSM Mensura 2017, pp. 107–115. ACM Press, New York (2017).  https://doi.org/10.1145/3143434.3143443
  4. 4.
    Cardarelli, M., Iovino, L., Di Francesco, P., Di Salle, A., Malavolta, I., Lago, P.: An extensible data-driven approach for evaluating the quality of microservice architectures. In: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing - SAC 2019, pp. 1225–1234. ACM Press, New York (2019).  https://doi.org/10.1145/3297280.3297400
  5. 5.
    Engel, T., Langermeier, M., Bauer, B., Hofmann, A.: Evaluation of microservice architectures: a metric and tool-based approach. In: Mendling, J., Mouratidis, H. (eds.) CAiSE 2018. LNBIP, vol. 317, pp. 74–89. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-92901-9_8CrossRefGoogle Scholar
  6. 6.
    Gebhart, M., Abeck, S.: Metrics for evaluating service designs based on SoaML. Int. J. Adv. Softw. 4(1), 61–75 (2011)Google Scholar
  7. 7.
    Geetika, R., Singh, P.: Dynamic coupling metrics for object oriented software systems. ACM SIGSOFT Softw. Eng. Notes 39(2), 1–8 (2014).  https://doi.org/10.1145/2579281.2579296CrossRefGoogle Scholar
  8. 8.
    Granchelli, G., Cardarelli, M., Francesco, P.D., Malavolta, I., Iovino, L., Salle, A.D.: Towards recovering the software architecture of microservice-based systems. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 46–53. IEEE (2017).  https://doi.org/10.1109/ICSAW.2017.48
  9. 9.
    Haupt, F., Leymann, F., Scherer, A., Vukojevic-Haupt, K.: A framework for the structural analysis of REST APIs. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 55–58. IEEE (2017).  https://doi.org/10.1109/ICSA.2017.40
  10. 10.
    Mayer, B., Weinreich, R.: An approach to extract the architecture of microservice-based software systems. In: 2018 IEEE Symposium on Service-Oriented System Engineering (SOSE), pp. 21–30. IEEE (2018).  https://doi.org/10.1109/SOSE.2018.00012
  11. 11.
    Newman, S.: Building Microservices: Designing Fine-Grained Systems, 1st edn. O’Reilly Media, Sebastopol (2015)Google Scholar
  12. 12.
    Papazoglou, M.P.: Service-oriented computing: concepts, characteristics and directions. In: Proceedings of the 7th International Conference on Properties and Applications of Dielectric Materials (Cat. No. 03CH37417), pp. 3–12. IEEE Computer Society (2003).  https://doi.org/10.1109/WISE.2003.1254461
  13. 13.
    Tahir, A., MacDonell, S.G.: A systematic mapping study on dynamic metrics and software quality. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 326–335. IEEE (2012).  https://doi.org/10.1109/ICSM.2012.6405289
  14. 14.
    Tosi, D., Lavazza, L., Morasca, S., Taibi, D.: On the definition of dynamic software measures. In: Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement - ESEM 2012, p. 39. ACM Press, New York (2012).  https://doi.org/10.1145/2372251.2372259

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.University of Applied Sciences ReutlingenReutlingenGermany
  2. 2.University of StuttgartStuttgartGermany

Personalised recommendations