dc.contributor.advisor | Ježek, David | |
dc.contributor.author | Osmančík, Jakub | |
dc.date.accessioned | 2024-10-08T08:41:12Z | |
dc.date.available | 2024-10-08T08:41:12Z | |
dc.date.issued | 2024 | |
dc.identifier.other | OSD002 | |
dc.identifier.uri | http://hdl.handle.net/10084/155099 | |
dc.description.abstract | Návrhové vzory jsou všeobecně uznávány jako ověřená řešení běžných problémů při návrhu softwaru.
Automatická detekce přítomnosti návrhových vzorů ve zdrojovém kódu však zůstává výzvou. Tato
práce představuje komplexní přístup k detekci návrhových vzorů v kódu jazyka Java, pomocí detekce
příznaků a integrace do stávajících nástrojů na statickou analýzu kódu. Navrhované řešení zahrnuje
dva hlavní kroky. Za prvé, úvodní analýza zkoumá jednotlivé objekty a hledá atributy, metody a
vztahy, které jsou charakteristické pro části jednotlivých návrhových vzorů. Tento úvodní průchod
přiřadí každé potenciální instanci vzoru skóre pravděpodobnosti. Ve druhém kroku se dále analyzují
vztahy mezi třídami, aby se potvrdila přítomnost struktur návrhových vzorů. Tento přístup byl
vyhodnocen na různých testovacích případech, od učebnicových implementací návrhových vzorů
až po reálné projekty s otevřeným zdrojovým kódem. Výsledky prokazují schopnost identifikovat
struktury návrhových vzorů v kódu. Přínosem této práce je řešení pro detekci návrhových vzorů
a poznatky o praktických problémech spojených s jejich detekcí. Získané poznatky mohou být
podkladem pro vývoj robustnějších nástrojů pro detekci návrhových vzorů, které podpoří činnosti
spojené s porozuměním softwaru, refaktoringem a zajištěním kvality. | cs |
dc.description.abstract | Design patterns are widely recognized as proven solutions to common problems in software design.
However, the automatic detection of design patterns in source code remains a challenge. This work
presents a comprehensive approach to detecting design patterns in Java code using a combination
of attribute detection and integration into existing static code analysis tools. The proposed solution
involves two main steps. Firstly, an initial analysis examines individual objects and searches for
attributes, methods, and relationships characteristic of specific design patterns. This initial pass
assigns a probability score to each potential pattern instance. In the second step, relationships
between classes are further analyzed to confirm the presence of design pattern structures. This
approach was evaluated on various test cases, from textbook implementations of design patterns to
real-world projects with open-source code. The results demonstrate the ability to identify design
pattern structures in code. The benefits of this work include solution for design pattern detection
and insights into practical issues associated with their detection. The acquired knowledge can serve
as a foundation for developing more robust tools for design pattern detection, supporting activities
related to software understanding, refactoring, and quality assurance. | en |
dc.format.extent | 2169610 bytes | |
dc.format.mimetype | application/pdf | |
dc.language.iso | cs | |
dc.publisher | Vysoká škola báňská – Technická univerzita Ostrava | cs |
dc.subject | Automatizovaná Detekce návrhových vzorů | cs |
dc.subject | Statická analýza kódu | cs |
dc.subject | Analýza Java kódu | cs |
dc.subject | Návrh softwaru | cs |
dc.subject | Porozumění
softwaru | cs |
dc.subject | Zajištění kvality softwaru | cs |
dc.subject | Taxonomie návrhových vzorů | cs |
dc.subject | Heuristika návrhových vzorů | cs |
dc.subject | Strukturální analýza návrhových vzorů | cs |
dc.subject | Problémy s implementací návrhových vzorů | cs |
dc.subject | Nástroje softwarového inženýrství | cs |
dc.subject | Údržba a vývoj softwaru. | cs |
dc.subject | Automated design pattern detection | en |
dc.subject | Static code analysis | en |
dc.subject | Java code analysis | en |
dc.subject | Software design | en |
dc.subject | Software comprehension | en |
dc.subject | Software quality assurance | en |
dc.subject | Design pattern taxonomy | en |
dc.subject | Design
pattern heuristics | en |
dc.subject | Structural
analysis of design patterns | en |
dc.subject | Design pattern implementation challenges | en |
dc.subject | Software engineering tools | en |
dc.subject | Software maintenance and evolution | en |
dc.title | Zásuvný modul do programu SonarQube umožňující detekci návrhových vzorů ve zdrojovém kódu | cs |
dc.title.alternative | SonarQube Plugin for Design Pattern Detection in Source Code | en |
dc.type | Diplomová práce | cs |
dc.contributor.referee | Štolfa, Svatopluk | |
dc.date.accepted | 2024-08-06 | |
dc.thesis.degree-name | Ing. | |
dc.thesis.degree-level | Magisterský studijní program | cs |
dc.thesis.degree-grantor | Vysoká škola báňská – Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky | cs |
dc.description.department | 460 - Katedra informatiky | cs |
dc.thesis.degree-program | Informatika | cs |
dc.description.result | výborně | cs |
dc.identifier.sender | S2724 | |
dc.identifier.thesis | OSM0015_FEI_N0613A140034_2024 | |
dc.rights.access | openAccess | |