Rychlejší než grep pomocí čítačů

but.committeeprof. Ing. Tomáš Hruška, CSc. (předseda) doc. RNDr. Jitka Kreslíková, CSc. (místopředseda) doc. Ing. Radek Burget, Ph.D. (člen) Ing. Matěj Grégr, Ph.D. (člen) prof. RNDr. Alexandr Meduna, CSc. (člen) Mgr. Ing. Pavel Očenášek, 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 oponenta a na doplnění ze strany 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 " B ". Otázky u obhajoby: Můžete charakterizovat třídu (a uvést konkrétní příklad) regulárních výrazů (a případně textů pro vyhledávání), na které Váš nástroj překonává existujíc nástroje (grep, RE2, CA)? Nástroje jako jsou grep a RE2 těží z pokročilé optimalizace. Domníváte se, že výkonnost Vašeho nástroje lze značně vylepšit dalšími optimalizacemi (případně jakými)? Komise, například: Zvažoval jste i jiné metoty převodu regulárních výrazů?cs
but.jazykangličtina (English)
but.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorHolík, Lukášen
dc.contributor.authorHorký, Michalen
dc.contributor.refereeČeška, Milanen
dc.date.accessioned2021-06-25T07:55:32Z
dc.date.available2021-06-25T07:55:32Z
dc.date.created2021cs
dc.description.abstractVyhledávání regulárních výrazů má ve vývoji softwaru nezastupitelné místo. Rychlost vyhledávání může ovlivnit použitelnost softwaru, a proto je na ni kladen velký důraz. Pro určité druhy regulárních výrazů mají standardní přístupy pro vyhledávání vysokou složitost. Kvůli tomu jsou náchylné k útokům založeným na vysoké náročnosti vyhledávání regulárních výrazů (takzvané ReDoS útoky). Regulární výrazy s omezeným opakováním, které se v praxi často vyskytují, jsou jedním z těchto druhů. Efektivní reprezentace a rychlé vyhledávání těchto regulárních výrazů je možné s použítím automatu s čítači. V této práci představujeme implementaci vyhledávání regulárních výrazů založeném na automatech s čítači v C++. Vyhledávání je implementováno v rámci RE2, rychlé moderní knihovny pro vyhledávání regulárních výrazů. V práci jsme provedli experimenty na v praxi používaných regulárních výrazech. Výsledky experimentů ukázaly, že implementace v rámci nástroje RE2 je rychleší než původní implementace v jazyce C#.en
dc.description.abstractRegular expression matching has an irreplaceable role in software development. The speed of the matching is crucial since it can have a significant impact on the overall usability of the software. However, standard approaches for regular expression matching suffer from high complexity computation for some kinds of regexes. This makes them vulnerable to attacks based on high complexity evaluation of regexes (so-called ReDoS attacks). Regexes with counting operators, which often occurs in practice, are one of such kind. Succinct representation and fast matching of such regexes can be archived by using a novel counting-set automaton. We present a C++ implementation of a matching algorithm based on the counting-set automaton. The implementation is done within the RE2 library, which is a fast state-of-the-art regular expression matcher. We perform experiments on real-life regexes. The experiments show that implementation within the RE2 is faster than the original C# implementation.cs
dc.description.markBcs
dc.identifier.citationHORKÝ, M. Rychlejší než grep pomocí čítačů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2021.cs
dc.identifier.other136720cs
dc.identifier.urihttp://hdl.handle.net/11012/200097
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.subjectregulární výrazen
dc.subjectvyhledávání regulárních výrazůen
dc.subjectomezené opakováníen
dc.subjectautomat s čítačien
dc.subjectautomat s čítacími množinamien
dc.subjectRE2en
dc.subjectC++en
dc.subjectC#en
dc.subjectregular expressioncs
dc.subjectregex matchingcs
dc.subjectbounded repetitioncs
dc.subjectcounting automatacs
dc.subjectcounting-set automatacs
dc.subjectRE2cs
dc.subjectC++cs
dc.subjectC#cs
dc.titleRychlejší než grep pomocí čítačůen
dc.title.alternativeBeat Grep with Counters, Challengecs
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2021-06-21cs
dcterms.modified2021-06-24-11:34:36cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid136720en
sync.item.dbtypeZPen
sync.item.insts2021.11.12 18:12:22en
sync.item.modts2021.11.12 17:39:30en
thesis.disciplineInformační systémycs
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 - 4 of 4
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
2.29 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-22461_o.pdf
Size:
88.54 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Oponent prace-22461_o.pdf
Loading...
Thumbnail Image
Name:
Posudek-Vedouci prace-22461_v.pdf
Size:
85.33 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Vedouci prace-22461_v.pdf
Loading...
Thumbnail Image
Name:
review_136720.html
Size:
1.43 KB
Format:
Hypertext Markup Language
Description:
review_136720.html
Collections