A Query Language for Software Architecture Information (Extended version)
Joshua Ammermann, Sven Jordan, Lukas Linsbauer, Ina Schaefer

TL;DR
This paper introduces AIQL, a query language designed to access up-to-date software architecture information from Digital Architecture Twins, supporting maintenance tasks through continuous reverse engineering and stakeholder-specific queries.
Contribution
The paper presents AIQL, a novel query language enabling stakeholders to retrieve current and tailored architecture data from Digital Architecture Twins, addressing a key gap in software maintenance support.
Findings
AIQL supports multiple application scenarios effectively.
The language scales well to real-world systems.
Stakeholders find AIQL easy to understand and valuable.
Abstract
Software maintenance is an important part of a software system's life cycle. Maintenance tasks of existing software systems suffer from architecture information that is diverging over time (architectural drift). The Digital Architecture Twin (DArT) can support software maintenance by providing up-to-date architecture information. For this, the DArT gathers such information and co-evolves with a software system, enabling continuous reverse engineering. 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 four application scenarios in the context of continuous reverse engineering. We showed that the AIQL provides the required functionality to formulate queries for the application…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Software Engineering Research · Software Engineering Techniques and Practices
