dc.contributor.advisor | Parízek, Pavel | |
dc.creator | Kleprlík, Jan | |
dc.date.accessioned | 2024-04-08T10:45:05Z | |
dc.date.available | 2024-04-08T10:45:05Z | |
dc.date.issued | 2024 | |
dc.identifier.uri | http://hdl.handle.net/20.500.11956/188497 | |
dc.description.abstract | The Manta Flow is a highly automated static analysis platform producing data lineage over its input and representing it in a graph. The platform performs analysis on various technologies and programming languages via specialised scanners. One of the scanners performs analysis of C# code, or rather its compiled alternative Common Intermediate Language. While the scanner was already capable of analysing non-trivial scenarios, it lacked in some aspects that held it up from its broader adoption by customers. The main issues are low support for analysis of real-life scenarios such as web applications or embedded code in other technologies, sub-optimal performance and imprecise lineage output. As a part of this thesis, we improved the precision, scalability and performance of the scanner on multiple levels of abstractions, from analysis of the CIL to modifications of core high-level analysis algorithms. We added support for analysis of the ASP.NET web endpoints and enabled the C# scanner to be used as a service for analysis of embedded code in other technologies. We improved the precision of the resulting lineage for existing scenarios by modifying the core algorithms used throughout the analysis and optimized the analysis process to lift its performance. 1 | en_US |
dc.description.abstract | Manta Flow je vysoce automatizovaná platforma pro statickou analýzu datových toků, které jsou následně zobrazeny v přehledném grafu. Tato platforma provádí analýzu mnoha technologií a programovacích jazyků pomocí takzvaných skenerů. Jeden z těchto skenerů provádí analýzu C# kódu, respektive jeho zkompilované alternativy Common Intermedi- ate Language. Tento skener byl již dříve schopný analyzovat netriviální aplikace, ovšem některé jeho aspekty stále zabraňovaly jeho rozšířenému použití a adopci ze strany uživa- telů. Mezi hlavní problémy patří nedostatečná podpora analýzy reálných aplikací z pro- dukčního prostředí, jako například webové aplikace nebo krátké úryvky kódu embedované v jiných technologiích, pomalá analýza a její nepřesný výstup. V této práci bylo dosa- ženo celkového zlepšení přesnosti, využitelnosti a výkonu skeneru na několika úrovních abstrakce od analýzy CIL kódu po modifikace celkového designu. Byla přidána podpora analýzy webových rozhraní vytvořených pomocí frameworku ASP.NET a embedovaného kódu v jiných technologiích. Zároveň byla vylepšena přesnost a výkon datové analýzy u dříve podporovaných aplikací úpravou klíčových algoritmů použitých během analýzy. 1 | cs_CZ |
dc.language | English | cs_CZ |
dc.language.iso | en_US | |
dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
dc.subject | statická analýza|data lineage|C#|embedded code | cs_CZ |
dc.subject | static analysis|data lineage|C#|embedded code | en_US |
dc.title | Performance and Usability Improvements for Data Lineage Analysis of C# Programs | en_US |
dc.type | diplomová práce | cs_CZ |
dcterms.created | 2024 | |
dcterms.dateAccepted | 2024-02-14 | |
dc.description.department | Department of Distributed and Dependable Systems | en_US |
dc.description.department | Katedra distribuovaných a spolehlivých systémů | cs_CZ |
dc.description.faculty | Faculty of Mathematics and Physics | en_US |
dc.description.faculty | Matematicko-fyzikální fakulta | cs_CZ |
dc.identifier.repId | 255376 | |
dc.title.translated | Zlepšení použitelnosti a výkonu analýzy datových toků programů v jazyce C# | cs_CZ |
dc.contributor.referee | Bednárek, David | |
thesis.degree.name | Mgr. | |
thesis.degree.level | navazující magisterské | cs_CZ |
thesis.degree.discipline | Computer Science - Software Systems | en_US |
thesis.degree.discipline | Informatika - Softwarové systémy | cs_CZ |
thesis.degree.program | Computer Science - Software Systems | en_US |
thesis.degree.program | Informatika - Softwarové systémy | cs_CZ |
uk.thesis.type | diplomová práce | cs_CZ |
uk.taxonomy.organization-cs | Matematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémů | cs_CZ |
uk.taxonomy.organization-en | Faculty of Mathematics and Physics::Department of Distributed and Dependable Systems | en_US |
uk.faculty-name.cs | Matematicko-fyzikální fakulta | cs_CZ |
uk.faculty-name.en | Faculty of Mathematics and Physics | en_US |
uk.faculty-abbr.cs | MFF | cs_CZ |
uk.degree-discipline.cs | Informatika - Softwarové systémy | cs_CZ |
uk.degree-discipline.en | Computer Science - Software Systems | en_US |
uk.degree-program.cs | Informatika - Softwarové systémy | cs_CZ |
uk.degree-program.en | Computer Science - Software Systems | en_US |
thesis.grade.cs | Výborně | cs_CZ |
thesis.grade.en | Excellent | en_US |
uk.abstract.cs | Manta Flow je vysoce automatizovaná platforma pro statickou analýzu datových toků, které jsou následně zobrazeny v přehledném grafu. Tato platforma provádí analýzu mnoha technologií a programovacích jazyků pomocí takzvaných skenerů. Jeden z těchto skenerů provádí analýzu C# kódu, respektive jeho zkompilované alternativy Common Intermedi- ate Language. Tento skener byl již dříve schopný analyzovat netriviální aplikace, ovšem některé jeho aspekty stále zabraňovaly jeho rozšířenému použití a adopci ze strany uživa- telů. Mezi hlavní problémy patří nedostatečná podpora analýzy reálných aplikací z pro- dukčního prostředí, jako například webové aplikace nebo krátké úryvky kódu embedované v jiných technologiích, pomalá analýza a její nepřesný výstup. V této práci bylo dosa- ženo celkového zlepšení přesnosti, využitelnosti a výkonu skeneru na několika úrovních abstrakce od analýzy CIL kódu po modifikace celkového designu. Byla přidána podpora analýzy webových rozhraní vytvořených pomocí frameworku ASP.NET a embedovaného kódu v jiných technologiích. Zároveň byla vylepšena přesnost a výkon datové analýzy u dříve podporovaných aplikací úpravou klíčových algoritmů použitých během analýzy. 1 | cs_CZ |
uk.abstract.en | The Manta Flow is a highly automated static analysis platform producing data lineage over its input and representing it in a graph. The platform performs analysis on various technologies and programming languages via specialised scanners. One of the scanners performs analysis of C# code, or rather its compiled alternative Common Intermediate Language. While the scanner was already capable of analysing non-trivial scenarios, it lacked in some aspects that held it up from its broader adoption by customers. The main issues are low support for analysis of real-life scenarios such as web applications or embedded code in other technologies, sub-optimal performance and imprecise lineage output. As a part of this thesis, we improved the precision, scalability and performance of the scanner on multiple levels of abstractions, from analysis of the CIL to modifications of core high-level analysis algorithms. We added support for analysis of the ASP.NET web endpoints and enabled the C# scanner to be used as a service for analysis of embedded code in other technologies. We improved the precision of the resulting lineage for existing scenarios by modifying the core algorithms used throughout the analysis and optimized the analysis process to lift its performance. 1 | en_US |
uk.file-availability | V | |
uk.grantor | Univerzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémů | cs_CZ |
thesis.grade.code | 1 | |
uk.publication-place | Praha | cs_CZ |
uk.thesis.defenceStatus | O | |