Semi-automated architecture-based cross-component issue dependency and propagation analysis and management

Thumbnail Image

Date

2025

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Component-based and (micro-)service-oriented systems are increasingly popular due to their modularity and scalability. While components are independently developable, integrating them into larger systems introduces architectural dependencies. Consequently, issues arising in one component can propagate throughout the system, affecting other components and causing additional issues or even leading to cascading failures. Each component typically uses its own issue management system (IMS) project, often delivered by different providers such as GitHub or Jira. These IMS projects, especially those across providers, are rarely integrated, making the identification and management of cross-component issues and their propagations time-consuming and error-prone.

Unfortunately, no scientific solution has been found to address this challenge so far. Industrial approaches often rely on IMS-specific plugins that offer only partial issue synchronization and limited applicability. To address this gap, we propose the Gropius method, which combines a structured issue management process with a language for cross-component issue management that integrates architectural knowledge and issues in a unified model and is integrated into our Gropius tool. Synchronizing issues between Gropius and each component's IMS project enables architecture-wide availability of issues and semantic linking of issues across the boundaries of a single component. An architecture-based issue propagation analysis enables semi-automated prediction of issue propagation graphs, proactively identifying whether a component is transitively affected by a root-causing issue. Furthermore, we employ multiclass classification on issue pairs to predict issue relations such as "depends on", possibly across different components.

We evaluated the Gropius method through its application in an open-source software project over an 11-month period, supplemented by a survey and semi-structured interviews with the development team. Results indicate that incorporating architectural knowledge into issue management, as done in our Gropius method, improves the effectiveness and efficiency of cross-component issue handling. Additionally, we evaluated the issue propagation analysis using precision, recall, and F1 score in two case studies. The propagation analysis accurately predicts issue dependencies, though it requires considerable modeling effort. We also assessed our relation prediction by computing precision, recall, and F1 score.The classification results are promising and confirm the technical feasibility of relation prediction in domains with ambiguous textual descriptions, though the accuracy still requires improvement for production-level applicability.

Overall, the Gropius method supports software architects, product owners, and DevOps engineers in managing cross-component issues effectively and efficiently by combining architectural knowledge with issue tracking in a unified model and enabling automated analysis.


Komponentenbasierte und (Mikro-)Service-orientierte Systeme werden aufgrund ihrer Modularität und Skalierbarkeit immer beliebter. Komponenten können zwar unabhängig voneinander entwickelt werden, ihre Integration in größere Systeme führt jedoch zu architektonischen Abhängigkeiten. Infolgedessen können sich Issues, die in einer Komponente auftreten, auf das gesamte System ausbreiten, andere Komponenten beeinträchtigen und zusätzliche Issues verursachen oder sogar zu Kettenausfällen führen. Jede Komponente verwendet in der Regel ihr eigenes Issue-Managementsystem (IMS)-Projekt, das oft von verschiedenen Anbietern wie GitHub oder Jira bereitgestellt wird. Diese IMS-Projekte, insbesondere solche, die mehrere Anbieter umfassen, sind selten integriert, was die Identifizierung und Verwaltung komponentenübergreifender Issues und deren Ausbreitung zeitaufwändig und fehleranfällig macht.

Leider wurde bisher keine wissenschaftliche Lösung gefunden, um diese Herausforderung zu bewältigen. Industrielle Ansätze stützen sich oft auf IMS-spezifische Plugins, die nur eine teilweise Synchronisierung von Issues und eine begrenzte Anwendbarkeit bieten. Um diese Lücke zu schließen, schlagen wir die Gropius-Methode vor, die einen strukturierten Issue-Managementprozess mit einer Sprache für das komponentenübergreifende Issue-Management kombiniert, die Architekturwissen und Issues in einem einheitlichen Modell integriert und in unser Gropius-Tool integriert ist. Die Synchronisierung von Issues zwischen Gropius und dem IMS-Projekt jeder Komponente ermöglicht die architekturweite Verfügbarkeit von Issues und die semantische Verknüpfung von Issues über die Grenzen einer einzelnen Komponente hinweg. Eine architekturbasierte Analyse der Issue-Propagierung ermöglicht eine halbautomatische Vorhersage von Issue-Propagierungsgraphen und identifiziert proaktiv, ob eine Komponente transitiv von einem Grund-Issue betroffen ist. Darüber hinaus verwenden wir eine Mehrklassenklassifizierung für Issue-Paare, um Issue-Beziehungen wie "hängt ab von" vorherzusagen, möglicherweise über verschiedene Komponenten hinweg.

Wir haben die Gropius-Methode durch ihre Anwendung in einem Open-Source-Softwareprojekt über einen Zeitraum von 11 Monaten evaluiert, ergänzt durch eine Umfrage und halbstrukturierte Interviews mit dem Entwicklungsteam. Die Ergebnisse zeigen, dass die Einbeziehung von Architekturwissen in das Issue-Management, wie es bei unserer Gropius-Methode der Fall ist, die Effektivität und Effizienz des komponentenübergreifenden Issue-Managements verbessert. Zusätzlich haben wir die Analyse der Issue-Propagierung anhand von Präzision, Recall und F1-Score in zwei Fallstudien evaluiert. Die Propagierungsanalyse sagt Issue-Abhängigkeiten genau voraus, erfordert jedoch einen erheblichen Modellierungsaufwand. Wir haben auch unsere Beziehungsvorhersage durch Berechnung von Präzision, Recall und F1-Score bewertet. Die Klassifizierungsergebnisse sind vielversprechend und bestätigen die technische Machbarkeit der Beziehungsvorhersage in Domänen mit mehrdeutigen Textbeschreibungen, obwohl die Genauigkeit für die Anwendbarkeit auf Produktionsebene noch verbessert werden muss.

Insgesamt unterstützt die Gropius-Methode Softwarearchitekten, Product Owner und DevOps-Ingenieure dabei, komponentenübergreifende Issues effektiv und effizient zu verwalten, indem sie Architekturwissen mit der Issue-Verfolgung in einem einheitlichen Modell kombiniert und eine automatisierte Analyse ermöglicht.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By