Extending Data Lineage Analysis Towards .NET Frameworks
Rozšíření analýzy datových toků o podporu knihoven na platformě .NET
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/148757Identifikátory
SIS: 224771
Kolekce
- Kvalifikační práce [11973]
Autor
Vedoucí práce
Oponent práce
Ježek, Pavel
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové a datové inženýrství
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
13. 9. 2021
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Velmi dobře
Klíčová slova (česky)
Manta|Data-Lineage|Analysis|.NET|ORMKlíčová slova (anglicky)
Manta|Data-Lineage|Analysis|.NET|ORMPlatforma Manta je jednotný komerční produkt pro analýzu a vizualizaci datových toků. Platforma Manta podporuje mnoho technologií. Jednou z kategorií technologií jsou takzvané intermediate jazyky. Mezi ně patří například Java nebo C#. Pro každou z těchto technologií existuje skener. Tato práce se zaměřuje na rozšíření skeneru jazyka C# o podporu zásuvných modulů souvisejících s databázemi a ORM. Nejprve si uvedeme stručný popis fungování platformy Manta. Poté představíme skener C#, některé jeho důležité části a vysvětlíme některé koncepty a algoritmy, které se používají k analýze C# kódu. Poté je představena analýza kontextů frameworků ORM a Entity Framework Core z hlediska analýzy toku dat. Po vysvětlení kontextu popíšeme rozšíření skeneru C#, řešení problémů a naše řešení. Ke konci práce si rozebereme podporu jednoho konkrétního ORM frameworku - Entity Framework Core. Opět se zde zabýváme řešením problémů a popisem řešení. Na konci práce je možné najít omezení našeho řešení a jeho možná rozšíření. 1
The Manta platform is a unified commercial product for data flow analysis and vi- sualization. Manta platform supports many technologies. One category of technologies is intermediate languages. These include, for example, Java or C#. There is a scanner for each of these technologies. This thesis focuses on extending the C# Scanner with support for database and ORM related plugins. First, we provide a brief description of how the Manta platform works. Then we quickly introduce the C# Scanner, some of its important parts, and explain some of the concepts and algorithms that are used to analyze C# code. This is followed by an analysis of the context of ORM frameworks and Entity Framework Core from the perspective of data flow analysis. After explaining the context, we describe the C# Scanner extensions, solutions and troubleshooting. Towards the end of the thesis we describe support for one specific ORM framework - Entity Framework Core. Again, we discuss problem solving and solution description. At the end of the thesis it is possible to find limitations of the solution and possible extensions. 1
