National Repository of Grey Literature 3 records found  Search took 0.00 seconds. 
Heuristics in String Solving
Řezáč, Michal ; Havlena, Vojtěch (referee) ; Síč, Juraj (advisor)
Tato práce se zaměřuje na identifikaci heuristik a strategií použitých v moderních string solverech a na vyhodnocení jejich dopadu na efektivitu řešení. Zkoumány jsou především dva solvery – cvc5 a Z3. Práce popisuje techniky používané SMT solverech a strategie, které implementují string solvery. Vyhodnocení efektivity heuristik bylo prováděno jejich vypínáním přímo v kódu uvedených nástrojů a následným vyhodnocením dopadu na řešení standardních sad benchmarků. Výsledkem této práce je soupis sady konkrétních heuristik a popis struktury nástrojů cvc5 a Z3. Měřením se nepodařilo prokázat, jak velký skutečný dopad identifikované a popsané heuristiky mají.
Transducers in Automata Library Mata
Chocholatý, David ; Lengál, Ondřej (referee) ; Holík, Lukáš (advisor)
Implementujeme 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.
String Constraint Solving Through Parikh Images
Bartoš, Petr ; Havlena, Vojtěch (referee) ; Holík, Lukáš (advisor)
Tato bakalářská práce si klade za cíl implementovat alternativní způsob řešení řetězcových omezení pomocí takzvaného flattening algoritmu, který pomocí Parikhových obrazů a parametrických plochých automatů transformuje řetězcová omezení na lineární vzorce. Takto vyjádřené omezení je možné řešit pomocí výkonných SMT solverů a předchází problémům spjatým s tradičně používanými metodami založených na automatech, jako je například exploze stavového prostoru. Práce popisuje teoretické znalosti potřebné k pochopení algoritmu pro řešení a představuje další state of the art způsoby řešení. Výsledky implementace jsou poté porovnány s ostatnímy solvery na klasických soutěžních benchmarcích. Provedené experimenty ukazují smíšené výsledky – ač navržené řešení nedosahuje podobné rychlosti jako state-of-the-art solvery, přesnost podaproximačního přístupu je relativně příznivá.

Interested in being notified about new results for this query?
Subscribe to the RSS feed.