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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Bengtsson, P., Bosch, J.: Architecture level prediction of software maintenance. In: Third European Conference on Software Maintenance and Reengineering, pp. 139–147. IEEE (1999)
Bengtsson, P., et al.: Architecture-level modifiability analysis (alma). J. Syst. Softw. 69(1–2), 129–147 (2004)
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)
Carbon, R.: Architecture-centric software producibility analysis. Ph.D. thesis, Fraunhofer IESE, Kaiserslautern; University of Kaiserslautern (2012)
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)
Heinrich, R., et al.: Architecture-based change impact analysis in cross-disciplinary automated production systems. J. Syst. Softw. 146, 167–185 (2018)
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)
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)
Kazman, R., et al.: The architecture tradeoff analysis method. In: 4th International Conference on Engineering of Complex Computer Systems, pp. 68–78. IEEE (1998)
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)
Naab, M.: Enhancing architecture design methods for improved flexibility in long-living information systems. Ph.D. thesis, Fraunhofer IESE, Kaiserslautern (2012)
Paulish, D.J., Bass, L.: Architecture-Centric Software Project Management: A Practical Guide. Addison-Wesley, Boston (2001)
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)
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)
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
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
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
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
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)
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
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
Walter, M., et al.: Architectural attack propagation analysis for identifying confidentiality issues. In: 19th International Conference on Software Architecture, pp. 1–12. IEEE (2022)
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
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
Corresponding author
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
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)