dc.contributor.advisor | Petříček, Tomáš | |
dc.creator | Hrubý, Jan | |
dc.date.accessioned | 2024-11-28T23:18:54Z | |
dc.date.available | 2024-11-28T23:18:54Z | |
dc.date.issued | 2024 | |
dc.identifier.uri | http://hdl.handle.net/20.500.11956/192042 | |
dc.description.abstract | Pandas je oblíbená knihovna pro manipulaci a analýzu dat v Pythonu. Kód napsaný s Pandas nemá žádné typové kontroly a vše je rozhodováno za běhu programu. To může být zdrojem chyb a pádu celého programu za běhu. Jeden ze způsobů jak tento problém řešit je použít jiný, staticky typovaný, jazyk a knihovnu se silnějšími bezpečnostními záru- kami a kompilačními kontrolami. Takové řešení se však nerozšířilo kvůli horší uživatelské přívětivosti. Alternativní cesta by mohla být použítí metody Abstraktní Interpretace ke kontrole programu před jeho během. Cílem této práce je navrhnout způsob jak vyu- žít Abstraktni Interpretaci k analýze programů pro manipulaci s daty, a implementovat analyzátor pro knihovnu Pandas. Schopnosti implementovaného analyzátoru budou zhod- noceny na několika malých avšak realistických případových studiích. | cs_CZ |
dc.description.abstract | Pandas is a Python library widely used for data-manipulation. The code written with Pandas lacks any type-safety and everything is decided at runtime. This can potentially be a source of errors and crashes at runtime. One way to deal with that is to use another, type-safe, language and a library with better safety guarantees and compile-time checks. This approach is not widely used as it is not very user-friendly. An alternative approach could be to use program verification method Abstract Interpretation to perform some checks before the run of the program. The goal of this thesis is to design a framework for analyzing data-manipulation programs and implement an analyzer for the Pandas library. The framework will be based on the Abstract Interpretation. The capabilities of the resulting analyzer will be evaluated on a set of small but realistic case studies. | en_US |
dc.language | Čeština | cs_CZ |
dc.language.iso | cs_CZ | |
dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
dc.subject | pandas|python|program analysis|abstract interpretation | en_US |
dc.subject | pandas|python|program analysis|abstract interpretation | cs_CZ |
dc.title | Abstract interpretation of pandas | cs_CZ |
dc.type | bakalářská práce | cs_CZ |
dcterms.created | 2024 | |
dcterms.dateAccepted | 2024-06-28 | |
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 | Matematicko-fyzikální fakulta | cs_CZ |
dc.description.faculty | Faculty of Mathematics and Physics | en_US |
dc.identifier.repId | 269371 | |
dc.title.translated | Abstract interpretation of pandas | en_US |
dc.contributor.referee | Parízek, Pavel | |
thesis.degree.name | Bc. | |
thesis.degree.level | bakalářské | cs_CZ |
thesis.degree.discipline | Computer Science with specialisation in Foundations of Computer Science | en_US |
thesis.degree.discipline | Informatika se specializací Obecná informatika | cs_CZ |
thesis.degree.program | Computer Science | en_US |
thesis.degree.program | Informatika | cs_CZ |
uk.thesis.type | bakalářská 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 se specializací Obecná informatika | cs_CZ |
uk.degree-discipline.en | Computer Science with specialisation in Foundations of Computer Science | en_US |
uk.degree-program.cs | Informatika | cs_CZ |
uk.degree-program.en | Computer Science | en_US |
thesis.grade.cs | Výborně | cs_CZ |
thesis.grade.en | Excellent | en_US |
uk.abstract.cs | Pandas je oblíbená knihovna pro manipulaci a analýzu dat v Pythonu. Kód napsaný s Pandas nemá žádné typové kontroly a vše je rozhodováno za běhu programu. To může být zdrojem chyb a pádu celého programu za běhu. Jeden ze způsobů jak tento problém řešit je použít jiný, staticky typovaný, jazyk a knihovnu se silnějšími bezpečnostními záru- kami a kompilačními kontrolami. Takové řešení se však nerozšířilo kvůli horší uživatelské přívětivosti. Alternativní cesta by mohla být použítí metody Abstraktní Interpretace ke kontrole programu před jeho během. Cílem této práce je navrhnout způsob jak vyu- žít Abstraktni Interpretaci k analýze programů pro manipulaci s daty, a implementovat analyzátor pro knihovnu Pandas. Schopnosti implementovaného analyzátoru budou zhod- noceny na několika malých avšak realistických případových studiích. | cs_CZ |
uk.abstract.en | Pandas is a Python library widely used for data-manipulation. The code written with Pandas lacks any type-safety and everything is decided at runtime. This can potentially be a source of errors and crashes at runtime. One way to deal with that is to use another, type-safe, language and a library with better safety guarantees and compile-time checks. This approach is not widely used as it is not very user-friendly. An alternative approach could be to use program verification method Abstract Interpretation to perform some checks before the run of the program. The goal of this thesis is to design a framework for analyzing data-manipulation programs and implement an analyzer for the Pandas library. The framework will be based on the Abstract Interpretation. The capabilities of the resulting analyzer will be evaluated on a set of small but realistic case studies. | 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 | |