Extending Data Lineage Analysis Towards .NET Frameworks
Rozšíření analýzy datových toků o podporu knihoven na platformě .NET
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/148757Identifiers
Study Information System: 224771
Collections
- Kvalifikační práce [11214]
Author
Advisor
Referee
Ježek, Pavel
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software and Data Engineering
Department
Department of Distributed and Dependable Systems
Date of defense
13. 9. 2021
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Very good
Keywords (Czech)
Manta|Data-Lineage|Analysis|.NET|ORMKeywords (English)
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