Skip to main content

Technical Debt in Service-Oriented Software Systems

  • Conference paper
  • First Online:
  • 1 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13709))

Abstract

Service-Oriented Architectures (SOA) have become a standard for developing software applications, including but not limited to cloud-based ones and enterprise systems. When using SOA, the software engineers organize the desired functionality into self-contained and independent services, that are invoked through end-points (API calls). At the maintenance phase, the tickets (bugs, functional updates, new features, etc.) usually correspond to specific services. Therefore, for maintenance-related estimates it makes sense to use as unit of analysis the service-per se, rather than the complete project (too coarse-grained analysis) or a specific class (too fine-grained analysis). Currently, some of the most emergent maintenance estimates are related to Technical Debt (TD), i.e., the additional maintenance cost incurred due to code or design inefficiencies. In the literature, there is no established way on how to quantify TD at the service level. To this end, in this paper, we present a novel methodology to measure the TD of each service considering the underlying code that sup-ports the corresponding endpoint. The proposed methodology relies on the method call graph, initiated by the service end-point, and traverses all methods that provide the service functionality. To evaluate the usefulness of this approach, we have conducted an industrial study, validating the methodology (and the accompanying tool) with respect to usefulness, obtained benefits, and usability.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://github.com/shopizer-ecommerce/shopizer.

  2. 2.

    https://github.com/eclipse-researchlabs/smartclide-td-reusability-theia.

  3. 3.

    http://195.251.210.147:3131.

  4. 4.

    https://www.dropbox.com/s/vagrr2wdc9p6nu9/SupplementaryMaterial.pdf?dl=0.

References

  1. Cunningham, W.: The WyCash portfolio management system. In: Proceedings on Object-Oriented Programming Systems, Languages, and Applications, p. 29 (1992)

    Google Scholar 

  2.  Zazworka, N.,  Spínola, R.O.,  Vetro’,  A., Shull, F.,  Seaman, C.:  A case study on effectively identifying technical debt. In: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering, New York,  USA, Apr 2013

    Google Scholar 

  3. Amanatidis, T., Mittas, N., Moschou, A., Chatzigeorgiou, A., Ampatzoglou, A., Angelis, L.: Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities. Empir. Softw. Eng. 25(5), 4161–4204 (2020). https://doi.org/10.1007/s10664-020-09869-w

    Article  Google Scholar 

  4. Avgeriou, P.: An overview and comparison of technical debt measurement tools. IEEE Softw. (2021)

    Google Scholar 

  5. Tamburri, D.A., Kruchten, P., Lago, P., van Vliet, H.: What is social debt in software engineering? In: 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE),  pp. 93–96 (2013)

    Google Scholar 

  6. Zimmermann, O.: Microservices tenets. Comput. Sci. Res. Dev. 32(3–4), 301–310 (2016). https://doi.org/10.1007/s00450-016-0337-0

    Article  Google Scholar 

  7. Pigazzini, I., Fontana, F.A., Lenarduzzi, V.,  Taibi, D.:  Towards microservice smells detection. In: Proceedings of the 3rd International Conference on Technical Debt, Jun 2020

    Google Scholar 

  8. Soares de Toledo, S., Martini, A., Przybyszewska, A., Sjøberg, D.I.K.: Architectural Technical Debt in Microservices: A Case Study in a Large Company. In: IEEE/ACM International Conference on Technical Debt (TechDebt), vol. 2019, pp. 78–87 (2019)

    Google Scholar 

  9. Taibi, D.,  Lenarduzzi, V.,  Pahl, C.: Microservices Anti-patterns: A Taxonomy. Springer International Publishing, pp. 111–128 (2020)

    Google Scholar 

  10. Hasan, M., Stroulia, E., Barbosa, D.,  Alalfi, M.: Analyzing natural-language artifacts of the software process. In: International Conference on Software Maintenance,  pp. 1–5 E. (2010)

    Google Scholar 

  11. Alves, N.S., Mendes, T.S., de Mendonça, M.G., Spínola, R.O., Shull, F., Seaman, C.: Identification and management of technical debt: A systematic mapping study. Inf. Softw. Technol. 70, 100–121 (2016)

    Article  Google Scholar 

  12. Li, Z., Avgeriou, P., Liang, P.: A systematic mapping study on technical debt and its management. J. Syst. Softw. 101, 193–220 (2015)

    Article  Google Scholar 

  13. Lefever, J., Cai, Y.,  Cervantes, H., Kazman, R., Fang, H.: On the lack of consensus among technical debt detection tools. In: Proceedings of the International Conference on Software Engineering (SEIP), pp. 121–130 (2021)

    Google Scholar 

  14. Tsoukalas, D., et al.: Machine Learning for Technical Debt Identification. IEEE Trans. Softw. Eng. (2021)

    Google Scholar 

  15. Campbell, G.A., Papapetrou, P.P.:  SonarQube in action. Manning Publications (2013)

    Google Scholar 

  16. Bogner, J., Fritzsch, J.,  Wagner, S.,  Zimmermann, A.:  Limiting technical debt with maintainability assurance: an industry survey on used techniques and differences with service- and microservice-based systems. In: International Conference on Technical Debt (2018)

    Google Scholar 

  17.  Ouni, A., Daagi, M., Kessentini, M., Bouktif, S.,  Gammoudi,  M.M.: A machine learning-based approach to detect web service design defects. In International  Conference on Web Services (ICWS), pp. 532–539 (2017)

    Google Scholar 

  18. Král, J.,  Zemlicka, M.: Popular SOA antipatterns. In: 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns (2009)

    Google Scholar 

  19. Alzaghoul, E., Bahsoon, R.: Evaluating technical debt in cloud-based Architectures using real options.  In: 2014 23rd Australian Software Engineering Conference (2014)

    Google Scholar 

  20. Smith, N., Van Bruggen, D., Tomassetti, F.: Javaparser: visited. Leanpub, Oct 2017

    Google Scholar 

  21. Runeson, P., Höst, M., Austen, R., Regnell, B.: Case Study Research in Software Engineering – Guidelines and Examples. John Wiley & Sons Inc. (2012)

    Google Scholar 

  22. Brooke, J.: System Usability Scale (SUS): A quick-and-dirty method of system evaluation user information. Taylor & Francis (1996)

    Google Scholar 

  23. Seaman, C.B.: Qualitative methods in empirical studies of software engineering. IEEE Trans. Software Eng. 25(4), 557–572 (1999)

    Article  Google Scholar 

  24. Elo, S., Kyngäs, H.: The qualitative content analysis process. J. Adv. Nurs. 62(1), 107–115 (2008)

    Article  Google Scholar 

  25. Spencer, D.: Card Sorting: Designing Usable Categories. Rosenfeld Media, Apr 2009

    Google Scholar 

Download references

Acknowledgment

Work reported in this paper has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 871177 (project: SmartCLIDE).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nikolaos Nikolaidis .

Editor information

Editors and Affiliations

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Nikolaidis, N., Ampatzoglou, A., Chatzigeorgiou, A., Tsekeridou, S., Piperidis, A. (2022). Technical Debt in Service-Oriented Software Systems. In: Taibi, D., Kuhrmann, M., Mikkonen, T., Klünder, J., Abrahamsson, P. (eds) Product-Focused Software Process Improvement. PROFES 2022. Lecture Notes in Computer Science, vol 13709. Springer, Cham. https://doi.org/10.1007/978-3-031-21388-5_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-21388-5_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-21387-8

  • Online ISBN: 978-3-031-21388-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics