Název:
Zlepšení použitelnosti a výkonu analýzy datových toků programů v jazyce C#
Překlad názvu:
Performance and Usability Improvements for Data Lineage Analysis of C# Programs
Autoři:
Kleprlík, Jan ; Parízek, Pavel (vedoucí práce) ; Bednárek, David (oponent) Typ dokumentu: Diplomové práce
Rok:
2024
Jazyk:
eng
Abstrakt: [eng][cze] 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. 1Manta 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
Klíčová slova:
statická analýza|data lineage|C#|embedded code; static analysis|data lineage|C#|embedded code