Abstract
Software maintenance is important, but suffers from architecture information that is diverging over time (architectural drift). The Digital Architecture Twin (DArT) can support software maintenance by providing continuously recovered architecture information. But the crucial link for stakeholders to retrieve this information is missing. To fill this gap, we contribute the Architecture Information Query Language (AIQL), which enables stakeholders to access up-to-date and tailored architecture information. We derived two application scenarios in the context of continuous reverse engineering. We showed that the AIQL provides the required functionality to formulate queries for the application scenarios. In a user study, stakeholders agreed that the language is easy to understand and assessed its value to the specific stakeholder for the application scenarios.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Detailed description of the language’s syntax in Extended Backus-Naur Form (EBNF) and its semantics are provided in the extended version [2].
References
Ammermann, J.: An architecture information query language for the digital architecture twin. Master Thesis, TU Braunschweig (2022). https://doi.org/10.24355/dbbs.084-202209301202-0, https://leopard.tu-braunschweig.de/receive/dbbs_mods_00071363
Ammermann, J., Jordan, S., Linsbauer, L., Schaefer, I.: A query language for software architecture information (extended version) (2023). https://doi.org/10.48550/arXiv.2306.16829
Canfora, G., Di Penta, M., Cerulo, L.: Achievements and challenges in software reverse engineering. Commun. ACM 54(4), 142–151 (2011). https://doi.org/10.1145/1924421.1924451
Ducasse, S., Pollet, D.: Software architecture reconstruction: a process-oriented taxonomy. IEEE Trans. Softw. Eng. 35(4), 573–591 (2009). https://doi.org/10.1109/TSE.2009.19
Garcia, J., Ivkovic, I., Medvidovic, N.: A comparative analysis of software architecture recovery techniques. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, pp. 486–496. ASE’13 (2013). https://doi.org/10.1109/ASE.2013.6693106
Guo, G.Y., Atlee, J.M., Kazman, R.: A software architecture reconstruction method. In: Donohoe, P. (ed.) Software Architecture, TC2 First Working IFIP Conference on Software Architecture (WICSA1), 22–24 February 1999, San Antonio, Texas, USA. IFIP Conference Proceedings, vol. 140, pp. 15–34. Kluwer (1999)
Jordan, S., Linsbauer, L., Schaefer, I.: Autoarx: Digital twins of living architectures. In: ECSA 2022, Prague, Czech Republic, September 19–23, 2022, Proceedings. Lecture Notes in Computer Science, vol. 13444, pp. 205–212. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-16697-6_15
Kazman, R., Carrière, S.J.: Playing detective: reconstructing software architecture from available evidence. Autom. Softw. Eng. 6(2), 107–138 (1999). https://doi.org/10.1023/A:1008781513258
Medvidovic, N., Taylor, R.N.: A framework for classifying and comparing architecture description languages. SIGSOFT Softw. Eng. Notes 22(6), 60–76 (1997). https://doi.org/10.1145/267896.267903
Monroy, M., Pinzger, M., Arciniegas, J.: Arco: Architecture recovery in context. J. Xi’an Univ. Archit. Technol 13(2), 128–143 (2021)
Pinzger, M.: ArchView - analyzing evolutionary aspects of complex software systems. Ph.D. thesis, TU Wien (2005)
Sartipi, K.: Alborz: A query-based tool for software architecture recovery. In: 9th International Workshop on Program Comprehension (IWPC 2001), 12–13 May 2001, Toronto, Canada, pp. 115–116. IEEE Computer Society (2001). https://doi.org/10.1109/WPC.2001.921721
Sartipi, K.: Software architecture recovery based on pattern matching. Ph.D. thesis, University of Waterloo, Waterloo, ON, Canada (2003)
Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture - Foundations, Theory, and Practice. Wiley (2010). https://eu.wiley.com/WileyCDA/WileyTitle/productCd-EHEP000180.html
Wang, Q., Gupta, G.: A logic programming-based environment for integrating architecture description languages. In: WLPE 2004: 14th Workshop on Logic Programming Environments, pp. 67–86 (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Ammermann, J., Jordan, S., Linsbauer, L., Schaefer, I. (2023). A Query Language for Software Architecture Information. In: Tekinerdogan, B., Trubiani, C., Tibermacine, C., Scandurra, P., Cuesta, C.E. (eds) Software Architecture. ECSA 2023. Lecture Notes in Computer Science, vol 14212. Springer, Cham. https://doi.org/10.1007/978-3-031-42592-9_23
Download citation
DOI: https://doi.org/10.1007/978-3-031-42592-9_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42591-2
Online ISBN: 978-3-031-42592-9
eBook Packages: Computer ScienceComputer Science (R0)