A Basis of Static Analysis Library for C# Programs
Základ knihovny pro statickou analýzu programů v jazyce C#
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/207386Identifikátory
SIS: 271221
Kolekce
- Kvalifikační práce [12034]
Autor
Vedoucí práce
Oponent práce
Kliber, Filip
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Programování a vývoj software
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
13. 2. 2026
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
Roslyn|C#|statická analýza kóduKlíčová slova (anglicky)
Roslyn|C#|static code analysisV ekosystému .NET v současnosti chybí open-source framework pro hloubkovou static- kou analýzu, který by byl srovnatelný s nástroji jako WALA či Soot pro platformu Java. Přestože kompilátor Roslyn zpřístupňuje syntaktické stromy, neposkytuje vysokoúrov- ňové mezireprezentace nezbytné pro komplexní verifikaci programů. Tato práce řeší tento nedostatek návrhem a implementací modulární knihovny, která konstruuje Control-Flow Grafy (CFG), Call Grafy a SSA formu (Static Single Assignment) přímo ze zdrojového kódu jazyka C#. Díky využití Roslyn Semantic API knihovna věrohodně modeluje složité řídicí struktury. Výsledkem je rozšiřitelný základ pro tvorbu vlastních analytických ná- strojů, doplněný o možnosti vizualizace. Tato práce významně snižuje bariéru pro vývoj pokročilých aplikací pro analýzu toku dat na platformě .NET.
The .NET ecosystem currently lacks an open-source framework for deep static anal- ysis comparable to Java's WALA or Soot. While the Roslyn compiler exposes syntax trees, it does not provide the high-level intermediate representations required for com- plex program verification. This thesis addresses this gap by designing and implementing a modular library that constructs Control-Flow Graphs (CFG), Call Graphs, and Static Single Assignment (SSA) forms directly from C# source code. By leveraging Roslyn's Semantic API, the library accurately models complex control structures. The result is an extensible, validated foundation for building custom analysis tools, complete with visu- alization capabilities. This work significantly lowers the barrier for developing advanced data-flow analysis applications on the .NET platform.
