Převodníky v automatové knihovně Mata

but.committeeprof. Ing. Tomáš Vojnar, Ph.D. (předseda) Ing. Martin Hrubý, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen) Dr. Ing. Petr Peringer (člen) Ing. Radek Hranický, Ph.D. (člen) Ing. Ondřej Lengál, Ph.D. (člen)cs
but.defenceStudent nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.cs
but.jazykangličtina (English)
but.programInformační technologie a umělá inteligencecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorHolík, Lukášen
dc.contributor.authorChocholatý, Daviden
dc.contributor.refereeLengál, Ondřejen
dc.date.created2024cs
dc.description.abstractImplementujeme konečné převodníky do nové rychlé a jednoduché automatové knihovny Mata. Konečné převodníky jsou konečné stavové stoje modelující regulární relace. Naše hlavní použití pro konečné převodníky je kódovaní operací nahrazení (nahrazení slova nebo regulárního vzoru řetězcem). Nový SMT nástroj pro řešení formulí s omezeními nad řetězci Z3-Noodler používá knihovnu Mata jako základ pro jeho rozhodovací proceduru. Noodler potřebuje konečné převodníky k analýze programů manipulujících s řetězci s operacemi nahrazení. Analýzou zmíněných programů používaných ve webových aplikacích se zabrání útokům jako cross-site scripting (XSS) nebo vložení kódu. Hlavní odlišující vlastnosti knihovny Mata zahrnují jednoduchost (jednoduchá k užívání, úpravě a rozšíření) a efektivitu (pracuje rychle). Reprezentaci a algoritmy pro konečné převodníky jsme navrhli s ohledem na tyto vlastnosti knihovny. K reprezentaci konečných převodníků a jejich algoritmů znovupoužijeme a rozšíříme existující datové struktury a algoritmy pro konečné automaty v knihovně Mata. Reprezentace pro konečné převodníky slouží jako společná reprezentace pro konečné převodníky a budoucí reprezentaci automatů využívajících multi-terminálních binárních rozhodovacích diagramů pro práci s velkými abecedami. Navíc rozšíříme návrh o algoritmy pro konstrukci konečných převodníků modelujících operace nahrazení definovaných v SMT-LIB. Nakonec experimentálně vyhodnotíme efektivitu konečných převodníků v knihovně Mata na nové sadě příkladů s operacemi nahrazení z běhů nástroje Z3-Noodler a z řešení problémů nalezení vzoru.en
dc.description.abstractWe implement finite transducers in a new fast and simple automata library Mata. Finite transducers are finite state machines modelling rational relations. Our primary use case for finite transducers is encoding replace operations (replacing a word or a regular pattern with a string literal). A recent automata-based SMT string solver Z3-Noodler uses Mata as a backbone of its decision procedure. Z3-Noodler needs finite transducers to analyse string manipulating programs with replace operations. The analysis of said programs used in web applications prevents software attacks such as cross-site scripting (XSS) or code injection. The distinctive features of Mata include simplicity (simple to use, modify and extend) and efficiency (fast to run). We design the representation and algorithms for finite transducers to fit the simplicity and efficiency requirements. We inherit and extend the existing data structures and algorithms for finite automata in Mata to represent the finite transducers and their operations. The representation for finite transducers serves as a common data structure and interface for the finite transducers and future representation of automata using multi-terminal binary decision diagrams to handle large alphabets. We further extend the design with algorithms to construct finite transducers modelling replace operations defined in SMT-LIB. Finally, we run an experimental evaluation of performance of finite transducers in Mata on a new benchmark with replace operations from runs of Z3-Noodler and from solving problems in pattern matching.cs
dc.description.markAcs
dc.identifier.citationCHOCHOLATÝ, D. Převodníky v automatové knihovně Mata [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.cs
dc.identifier.other155757cs
dc.identifier.urihttp://hdl.handle.net/11012/249002
dc.language.isoencs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectkonečné převodníkyen
dc.subjectkonečné automatyen
dc.subjectoperace nahrazeníen
dc.subjectřešení řetězcových problémůen
dc.subjectřetězcová omezeníen
dc.subjectSMTen
dc.subjectefektivitaen
dc.subjectjednoduchosten
dc.subjectverifikaceen
dc.subjectcross-site scriptingen
dc.subjectvložení kóduen
dc.subjectprohlížečové transdukceen
dc.subjectkompoziceen
dc.subjectprojekceen
dc.subjectaplikaceen
dc.subjectnedeterminismusen
dc.subjectfinite transducerscs
dc.subjectfinite automatacs
dc.subjectreplace operationscs
dc.subjectstring solvingcs
dc.subjectstring constraintscs
dc.subjectSMTcs
dc.subjectefficiencycs
dc.subjectsimplicitycs
dc.subjectverificationcs
dc.subjectcross-site scriptingcs
dc.subjectcode injectioncs
dc.subjectbrowser transductionscs
dc.subjectcompositioncs
dc.subjectprojectioncs
dc.subjectapplicationcs
dc.subjectnondeterminismcs
dc.titlePřevodníky v automatové knihovně Mataen
dc.title.alternativeTransducers in Automata Library Matacs
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2024-06-20cs
dcterms.modified2024-06-20-15:34:39cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid155757en
sync.item.dbtypeZPen
sync.item.insts2025.03.26 15:38:31en
sync.item.modts2025.01.15 17:20:59en
thesis.disciplineMatematické metodycs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelInženýrskýcs
thesis.nameIng.cs
Files
Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
4.23 MB
Format:
Adobe Portable Document Format
Description:
file final-thesis.pdf
Loading...
Thumbnail Image
Name:
review_155757.html
Size:
9.97 KB
Format:
Hypertext Markup Language
Description:
file review_155757.html
Collections