Volltextdatei(en) in REPOSIT vorhanden Open Access
Titel: Detecting Design Patterns in Source Code using Neural Subgraph Matching : A Language-Independent Approach
Sprache: Englisch
Autorenschaft: Stolze, Cedric 
Schlagwörter: Statische Codeanalyse; Entwurfsmuster; Code Property Graph; Graph Neural Network; Subgraph Matching; Static Code Analysis; Design Pattern Detection
Erscheinungsdatum: 6-Feb-2026
Zusammenfassung: 
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
Einrichtung: Fakultät Technik und Informatik (ehemalig, aufgelöst 10.2025) 
Department Informatik (ehemalig, aufgelöst 10.2025) 
Dokumenttyp: Abschlussarbeit
Abschlussarbeitentyp: Masterarbeit
Betreuer*in: Zukunft, Olaf 
Gutachter*in: Sarstedt, Stefan 
Enthalten in den Sammlungen:Theses

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat
MA_Detecting_Design_Patterns_in_Source_Code.pdf6.09 MBAdobe PDFÖffnen/Anzeigen
Zur Langanzeige

Google ScholarTM

Prüfe

HAW Katalog

Prüfe

Feedback zu diesem Datensatz


Alle Ressourcen in diesem Repository sind urheberrechtlich geschützt.