Název:
Rozšíření analýzy datových toků pro jazyk Python o podporu běhových typů
Překlad názvu:
Extending Data Lineage Analysis for Python with Runtime Types
Autoři:
Luňák, Václav ; Parízek, Pavel (vedoucí práce) ; Petříček, Tomáš (oponent) Typ dokumentu: Diplomové práce
Rok:
2024
Jazyk:
eng
Abstrakt: [eng][cze] There is an increasing demand in the domain of data science for auto- mated tools analyzing the data lineage of software systems. In situations where general-purpose programming languages are used, Python is among the most popular choices. It is also one of the most challenging to analyze. Manta Flow is an automated data lineage analysis platform that contains a scanner for Python. In this work, we developed an extension of this scanner. Its purpose is to statically determine the types of expressions in an analyzed application. We achieved this by expanding the concept of data flows to carry type information and we appropriately refactored the internals of the scanner. This information was then used to implement an improved method for finding the targets of function invocations during the analysis of data flows.V oboru data science je rostoucí poptávka po automatizované analýze da- tových toků v softwarových systémech. V případech, kde se používají univer- zální programovací jazyky, bývá Python jednou z nejpopulárnějších a zároveň nejsložitěji analyzovatelných voleb. Manta Flow je automatizovaná platforma pro analýzu datových toků, která obsahuje scanner pro Python. V této práci jsme vytvořili rozšíření scanneru pro Python v Manta Flow, které je schopné pomocí statické analýzy určit typy výrazů v analyzované aplikaci. Dosáhli jsme toho rozšířením konceptu datových toků o schopnost přenášet infor- mace o typech a adekvátním refaktorováním vnitřností scanneru. Toto rozší- ření bylo posléze použito na implementaci vylepšené metody pro identifikaci volaných funkcí během další analýzy.
Klíčová slova:
Python|datové toky|typová inference|Manta; Python|data flow|data lineage|type inference|Manta