Fulltext available Open Access
Title: Detecting Design Patterns in Source Code using Neural Subgraph Matching : A Language-Independent Approach
Language: English
Authors: Stolze, Cedric 
Keywords: Statische Codeanalyse; Entwurfsmuster; Code Property Graph; Graph Neural Network; Subgraph Matching; Static Code Analysis; Design Pattern Detection
Issue Date: 6-Feb-2026
Abstract: 
Entwurfsmuster sind essenziell um die Softwarequalität, Wartbarkeit und Skalierbarkeit zu verbessern. Die Erkennung von Entwurfsmustern ist aufgrund unterschiedlicher Implementierungen, sprachspezifischer Merkmale und komplexer Codestrukturen eine Herausforderung. Ansätze im Bereich maschinelles Lernen und graphbasierte Methoden haben vielversprechende Ergebnisse gezeigt, basieren jedoch häufig auf sprachspezifischen Vorlagen. Diese Arbeit erforscht einen sprachunabhängigen Ansatz zur Erkennung von Entwurfsmustern mittels Neural Subgraph Matching. Das vorgestellte Konzept abstrahiert Quellcode in einen sprachunabhängigen Code Property Graph (CPG), welcher Syntax, Semantik und Verhalten vereinheitlicht. Der CPG wird anschließend in einen Record Interaction Graph (RIG) umgewandelt, welcher zentrale Interaktionen zwischen Code-Elementen zusammenfasst. Ein Graph Learnable Multi-hop Attention Network (GLeMA Net) wird verwendet, um Neural Subgraph Matching auf Beispielen von Entwurfsmustern statt auf vordefinierten Regeln durchzuführen. Auswertungen mit realen Softwareprojekten demonstrieren die Flexibilität des Ansatzes, verdeutlichen jedoch auch eine hohe Rate an False Positive Erkennungen. Im Vergleich zu bestehenden Ansätzen mit sprachspezifischen Vorlagen zeigt der verwendete Ansatz Potential für weitere Betrachtung.

Design patterns are essential for improving software quality, maintainability, and scalability. Detecting design patterns is challenging due to varied implementations, languagespecific features, and complex code structures. Existing methods, including machine learning and graph-based approaches, show promising results but rely on languagespecific templates. This thesis researches a language-independent approach for detecting design patterns using neural subgraph matching. The proposed concept abstracts source code into a language-independent Code Property Graph (CPG) that unifies syntax, semantics, and behavior. The CPG is transformed into a Record Interaction Graph (RIG), capturing crucial interactions between code entities. A Graph Learnable Multi-hop Attention Network (GLeMA Net) is used to perform subgraph matching on design pattern examples rather than handcrafted rules. Evaluations using real-world software demonstrate the flexibility of this approach but also highlight the high false-positive rate. When compared to existing machine learning approaches with language-specific templates, the proposed approach shows potential for further research.
URI: https://hdl.handle.net/20.500.12738/18838
Institute: Fakultät Technik und Informatik (ehemalig, aufgelöst 10.2025) 
Department Informatik (ehemalig, aufgelöst 10.2025) 
Type: Thesis
Thesis type: Master Thesis
Advisor: Zukunft, Olaf 
Referee: Sarstedt, Stefan 
Appears in Collections:Theses

Files in This Item:
File Description SizeFormat
MA_Detecting_Design_Patterns_in_Source_Code.pdf6.09 MBAdobe PDFView/Open
Show full item record

Google ScholarTM

Check

HAW Katalog

Check

Note about this record


Items in REPOSIT are protected by copyright, with all rights reserved, unless otherwise indicated.