Skip to main content

Architecture-Based Issue Propagation Analysis

  • Conference paper
  • First Online:
Software Architecture (ECSA 2024)

Abstract

Modern software systems usually consist of multiple components, e.g., libraries or (micro-)services, that can be defined through their contract. These components are often developed independently and use their own issue management systems (IMSs). Due to composing these components into a larger architecture, issues such as bugs can propagate along the call chains throughout the entire architecture. However, when experiencing an issue in one component, identifying that such an issue originates, e.g., from a component multiple calls deeper into the graph, is challenging and error-prone as the propagation path has to be identified and the components’ IMS investigated for the root-causing issue. Therefore, this paper proposes a model-based issue propagation analysis concept by annotating the Gropius architecture graph with issue propagation rules. Based on the characteristics of the issue, the analysis follows the rules and creates a potential issue propagation graph. Developers can accept resulting issues and semi-automatically create them for the affected components. We conducted experiments on a reference architecture for 21 propagation root-causing issues and compared the results with manually identified propagation paths. The results show that such an analysis can uncover issue propagations well with a recall of 0.99. However, precision can differ among different issue characteristics.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://misarch.github.io/.

  2. 2.

    https://github.com/microservices-demo.

  3. 3.

    https://zenodo.org/records/11069093.

References

  1. Bengtsson, P., Bosch, J.: Architecture level prediction of software maintenance. In: Third European Conference on Software Maintenance and Reengineering, pp. 139–147. IEEE (1999)

    Google Scholar 

  2. Bengtsson, P., et al.: Architecture-level modifiability analysis (alma). J. Syst. Softw. 69(1–2), 129–147 (2004)

    Article  Google Scholar 

  3. Busch, K., et al.: A model-based approach to calculate maintainability task lists of plc programs for factory automation. In: 44th Annual Conference of the IEEE Industrial Electronics Society, pp. 2949–2954 (2018)

    Google Scholar 

  4. Carbon, R.: Architecture-centric software producibility analysis. Ph.D. thesis, Fraunhofer IESE, Kaiserslautern; University of Kaiserslautern (2012)

    Google Scholar 

  5. Garlan, D., et al.: Evolution styles: Foundations and tool support for software architecture evolution. In: 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture, pp. 131–140. IEEE (2009)

    Google Scholar 

  6. Heinrich, R., et al.: Architecture-based change impact analysis in cross-disciplinary automated production systems. J. Syst. Softw. 146, 167–185 (2018)

    Article  Google Scholar 

  7. Heinrich, R., et al.: A methodology for domain-spanning change impact analysis. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 326–330 (2018)

    Google Scholar 

  8. Kazman, R., et al.: SAAM: a method for analyzing the properties of software architectures. In: 16th International Conference on Software Engineering, pp. 81–90. IEEE (1994)

    Google Scholar 

  9. Kazman, R., et al.: The architecture tradeoff analysis method. In: 4th International Conference on Engineering of Complex Computer Systems, pp. 68–78. IEEE (1998)

    Google Scholar 

  10. von Kistowski, J., et al.: TeaStore: a micro-service reference application for benchmarking, modeling and resource management research. In: IEEE 26th MASCOTS, pp. 223–236 (2018)

    Google Scholar 

  11. Naab, M.: Enhancing architecture design methods for improved flexibility in long-living information systems. Ph.D. thesis, Fraunhofer IESE, Kaiserslautern (2012)

    Google Scholar 

  12. Paulish, D.J., Bass, L.: Architecture-Centric Software Project Management: A Practical Guide. Addison-Wesley, Boston (2001)

    Google Scholar 

  13. Rostami, K., et al.: Architecture-based assessment and planning of change requests. In: 11th International ACM SIGSOFT Conference on Quality of Software Architectures, pp. 21–30. ACM (2015)

    Google Scholar 

  14. Rostami, K., et al.: Architecture-based change impact analysis in information systems and business processes. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 179–188 (2017)

    Google Scholar 

  15. Soldani, J., Montesano, G., Brogi, A.: What went wrong? Explaining cascading failures in microservice-based applications. In: Barzen, J. (ed.) SummerSOC 2021. CCIS, vol. 1429, pp. 133–153. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-87568-8_9

    Chapter  Google Scholar 

  16. Speth, S.: Architecture-based cross-component issue management and propagation analysis. In: 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion 2024), April 2024

    Google Scholar 

  17. Speth, S., Becker, S., Breitenbücher, U.: Cross-component issue metamodel and modelling language. In: Proceedings of the 11th International Conference on Cloud Computing and Services Science (CLOSER 2021), pp. 304–311. INSTICC, SciTePress, November 2021

    Google Scholar 

  18. Speth, S., Breitenbücher, U., Becker, S.: Gropius — a tool for managing cross-component issues. In: Muccini, H., et al. (eds.) ECSA 2020. CCIS, vol. 1269, pp. 82–94. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-59155-7_7

    Chapter  Google Scholar 

  19. Speth, S., et al.: A saga pattern microservice reference architecture for an elastic SLO violation analysis. In: 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C), pp. 116–119 (2022)

    Google Scholar 

  20. Speth, S., et al.: Dromi: a tool for automatically reporting the impacts of sagas implemented in microservice architectures on the business processes. In: Sales, T.P., Proper, H.A., Guizzardi, G., Montali, M., Maggi, F.M., Fonseca, C.M. (eds.) Enterprise Design, Operations, and Computing. EDOC 2022 Workshops, EDOC 2022, LNBIP, vol. 466, pp. 326–331. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-26886-1_20

  21. Speth, S., Breitenbücher, U., Krieger, N., Wippermann, P., Becker, S.: Integrating issue management systems of independently developed software components. In: Stettina, C.J., Garbajosa, J., Kruchten, P. (eds.) Agile Processes in Software Engineering and Extreme Programming, XP 2023, LNBIP, vol. 475, pp. 3–19. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-33976-9_1

  22. Walter, M., et al.: Architectural attack propagation analysis for identifying confidentiality issues. In: 19th International Conference on Software Architecture, pp. 1–12. IEEE (2022)

    Google Scholar 

  23. Walter, M., Heinrich, R., Reussner, R.: Architecture-based attack path analysis for identifying potential security incidents. In: Tekinerdogan, B., Trubiani, C., Tibermacine, C., Scandurra, P., Cuesta, C.E. (eds.) Software Architecture, ECSA 2023, LNCS, vol. 14212, pp. 37–53. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-42592-9_3

Download references

Acknowledgements

This research has been partially funded by the German Federal Ministry of Education and Research (BMBF) through grant 01IS23072 Software Campus 3.0 (University of Stuttgart) as part of the Software Campus project “Gropius”. This work was also supported by funding from the topic Engineering Secure Systems of the Helmholtz Association (HGF) and by KASTEL Security Research Labs.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sandro Speth .

Editor information

Editors and Affiliations

Ethics declarations

Data Availability Statement

Our implementation and replication package with the results are publicly and open source available on GitHub (https://github.com/ccims/propagation-analysis-frontend) (implementation) and Zenodo (https://zenodo.org/records/11069093) (complete replication package).

Rights and permissions

Reprints and permissions

Copyright information

© 2024 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

Speth, S., Krieger, N., Heinrich, R., Becker, S. (2024). Architecture-Based Issue Propagation Analysis. In: Galster, M., Scandurra, P., Mikkonen, T., Oliveira Antonino, P., Nakagawa, E.Y., Navarro, E. (eds) Software Architecture. ECSA 2024. Lecture Notes in Computer Science, vol 14889. Springer, Cham. https://doi.org/10.1007/978-3-031-70797-1_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-70797-1_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-70796-4

  • Online ISBN: 978-3-031-70797-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics