Original title:
Rozšíření analýzy datových toků pro jazyk Python o podporu běhových typů
Translated title:
Extending Data Lineage Analysis for Python with Runtime Types
Authors:
Luňák, Václav ; Parízek, Pavel (advisor) ; Petříček, Tomáš (referee) Document type: Master’s theses
Year:
2024
Language:
eng Abstract:
[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.
Keywords:
Python|data flow|data lineage|type inference|Manta; Python|datové toky|typová inference|Manta
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/188513