Rozvoj nástroje ASMA pro analýzu programů s řetězci pomocí symbolických automatů
Improvements of the ASMA Tool for Analysis of String Manipulating Programs via Symbolic Automata

Author
Advisor
Vojnar, TomášReferee
Lengál, OndřejGrade
CAltmetrics
Metadata
Show full item recordAbstract
V této práci se zabýváme regulárním model checkingem, což je technika pro analýzu programů, jejíchž stavový prostor může být nekonečný v důsledku práce například s neomezenými frontami, parametry, dynamicky propojenými datovými strukturami, rekurzivními procedurami nebo řetězci. Cílem této práce bylo implementovat vylepšení stávajícího prototypu nástroje ASMA implementujícího regulárním model checking nad knihovnou Automata of Microsoftu. Provedli jsme analýzu zdrojového kódu nástroje ASMA a zopakovaly analýzy všech dostupných srovnávacích programů. Identifikovali jsme některá úzká místa a několik z nich jsme vyřešili. Zejména jsme integrovali knihovnu obsahující další redukční algoritmy do nástroje ASMA, vytvořili několik nových verzí operace reverzní konkatenace, která se v benchmarcích ukázala jako velmi nákladná, vylepšili rozhraní příkazového řádku ASMA a implementovali některé další optimalizace. Výpočetní čas se při analýze větších programů snížil o 90 %. In this work we deal with regular model checking which is a technique for analyzing programs whose state space can be infinite due to dealing with, e.g. unbounded queues, parameters, dynamically linked data structures, recursive procedures, or strings. The goal of this work was to implement improvements to the existing prototype tool ASMA implementing regular model checking over the Microsoft Automata library. We analysed the source code of ASMA and reran analyses of all available benchmark programs. We identified some bottlenecks and have tackled several of them. In particular, we integrated a library containing additional reduction algorithms into ASMA, created several new versions of the reverse concatenation operation, which tuned out to be very costly in the benchmarks, improved the command line interface of ASMA, and implemented some other optimizations for ASMA. The computation time was reduced by 90 % when analysing bigger programs.
Keywords
regulární model checking, RMC, abstraktní regulární model checking, ARMC, konečné automaty, převodníky, symbolické konečné automaty, AutomataDotNet, ASMA, VeriFIT, reverzní konkatenace, regular model checking, RMC, abstract regular model checking, ARMC, finite automata, transducers, symbolic finite automata, AutomataDotNet, ASMA, VeriFIT, reverse concatenationLanguage
angličtina (English)Study brunch
Informační technologieComposition of Committee
prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Ondřej Ryšavý, Ph.D. (místopředseda) Ing. František Grézl, Ph.D. (člen) Ing. Tomáš Martínek, Ph.D. (člen) Dr. Ing. Petr Peringer (člen)Date of defence
2022-06-13Process of defence
Student 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 další 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 C. Otázky u obhajoby: Jaké je srovnání velikosti automatu získaných pomocí determinizace a minimalizace a redukovaných pomocí simulace/bisimulace? Jaké jsou další plány s použitím simulace pro redukci automatů v nástroji ASMA? Bude zcela zahozena na úkor determinizace a minimalizace? Jakým způsobem plánujete využít v nástroji zmiňované antichainy? Jaké jsou další plány s nástrojem ASMA? Jak se nástroj ASMA srovná s jinými nástroji pro analýzu programů s řetězci?Result of the defence
práce byla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/207429Source
KMENTA, M. Rozvoj nástroje ASMA pro analýzu programů s řetězci pomocí symbolických automatů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.Collections
- 2022 [309]