Project detail
Efficient Finite Automata for Automated Reasoning
Duration: 1.1.2020 — 31.12.2024
Funding resources
Ministerstvo školství, mládeže a tělovýchovy ČR - ERC CZ
On the project
Cílem projektu je zlepšit efektivitu základních technik konečných automatů. Konečný automat je základní koncepcí informatiky s četnými aplikacemi. Výzkum automatů přináší neustále nové výsledky týkající se široké škály aplikací v automatizovaném rozhodování, formálním ověřování, zpracování jazyka, databázích a webových technologiích. Bohužel jejich praktický dopad, i když je pozoruhodný, je do značné míry omezen nedostatečnou škálovatelností automatických technik zakořeněné ve velmi základních pojmech a algoritmech. Efektivnost automatické technologie však není dostatečně vyřešena. Výzkum se většinou zaměřuje na různá rozšíření automatů a vzrušující "teoretické" aplikace. Důvodem této nedostatečné pozornosti je skutečnost, že se základní automatizační techniky zdají být z obvyklé automatické teoretické perspektivy již dobře pochopené, a proto neposkytují dostatek prostoru pro výzkum. Je zapotřebí vyvinout soustředěné úsilí a přijít s novými myšlenkami v mnohem pragmatickějším směru, abych mohlo dojít k posunutí vývoje. Příležitost v dosažení průlomu v efektivnosti rozhodování vidím ve využití automatů, které vychází z pokroku v automatizovaném rozhodování a ověřování. Koncepty, jako je líné hodnocení, symbolické reprezentace, abstrakce nebo heuristika z řešení SAT / SMT, lze kombinovat s tradičními automatovými technikami a zpracovat novým způsobem. Plánuji detailně prozkoumat základní automatové nástroje společně s těmito koncepty s důrazem na jejich výkonnost v praxi. Jsem přesvědčen, že když výkonnost v praxi získává zaslouženou pozornost, můžeme očekávat podobně rychlý pokrok, jaký byl např. u řešení problému SAT / SMT nebo u ověřování softwaru, což může vést k velmi užitečným a prakticky škálovatelným metodám a nástrojům, stejně jako k novým příležitostem pro hluboké teoretické studium nových technik.
Description in English
The project aims at improving the efficiency of basic techniques of finite
automata technology. Finite automaton is a core concept of computer science, with
numerous practical applications, with compilers and pattern matching among the
most established ones, and with a vast and continuously expanding space of
theoretical possibilities on the verge of being practically applicable, in
automated reasoning, formal verification, modelling, language processing,
databases, web technologies, and many other areas. The practical impact of
automata theory is however limited by insufficient scalability of automata
technology, and research in practical efficiency of basic automata technology is
not being addressed sufficiently. The basic automata techniques seem well
understood and do not yield research opportunities easily, and so most of
automata related research focuses on various more complex automata extensions and
their exciting possibilities, even though still inheriting all the scalability
problems of the basic model.
The main thesis of this project is that (1) the practical scalability of basic
automata technology needs to be addressed more in order to unlock the theoretical
potential of basic automata as well as of their extensions,
and that (2) it is indeed possible to do that.
To this end, we will put the basic automata toolkit under a detailed scrutiny
with a strong focus on practical performance, and utilise advances in modern
automated reasoning and verification. Concepts such as lazy evaluation,
alternation, symbolic representation, abstraction, or heuristics from SAT/SMT
solving can be combined with traditional automata techniques and elaborated on in
novel ways. To maintain a connection to practice, we will drive our research by
a research in application domains of automata. We will namely focus on string
constraint solving (e.g., for vulnerability analysis of string manipulating
programs), pattern matching (e.g., classical pattern matching, hardware
accelerated pattern matching in network monitoring), shape analysis (low level
pointer program analysis, analysis of programs with complex data structures, of
parallel pointer programs), automata learning (e.g., learning of network traffic
characteristics for fast anomaly detection).
We believe that a concentrated focus on practical efficiency of automata can
initiate a success story similarly to that of SAT/SMT solving, ultimately
yielding widely useful and practically scalable methods and tools and also
opportunities for a practically relevant theoretical research.
Keywords
konečné automaty, logika, automatizované uvažování, formální verifikace, analýza
programu, analýza tvaru, analýza řetězcových programů, bezpečnost
Key words in English
finite automata, logic, automated reasoning, formal verification, program
analysis, shape analysis, string program analysis, security
Mark
LL1908
Default language
Czech
People responsible
Holík Lukáš, doc. Mgr., Ph.D. - principal person responsible
Blahoudek František, RNDr., Ph.D. - fellow researcher
Češka Milan, doc. RNDr., Ph.D. - fellow researcher
Fiedor Tomáš, Ing., Ph.D. - fellow researcher
Havlena Vojtěch, Ing., Ph.D. - fellow researcher
Holíková Lenka, Ing., Ph.D. - fellow researcher
Homoliak Ivan, doc. Ing., Ph.D. - fellow researcher
Horký Michal, Ing. - fellow researcher
Hošták Viliam Samuel, Ing. - fellow researcher
Hruška Martin, Ing., Ph.D. - fellow researcher
Jawed Soyiba, Dr., MSc - fellow researcher
Kesiraju Michaela, Bc. - fellow researcher
Křivka Zbyněk, Ing., Ph.D. - fellow researcher
Lengál Ondřej, Ing., Ph.D. - fellow researcher
Macák Filip, Ing. - fellow researcher
Martiček Štefan, Ing. - fellow researcher
Meduna Alexandr, prof. RNDr., CSc. - fellow researcher
Rogalewicz Adam, doc. Mgr., Ph.D. - fellow researcher
Síč Juraj, Mgr. - fellow researcher
Slezáková Alexandra, Bc. - fellow researcher
Units
Department of Intelligent Systems
- responsible department (16.7.2019 - not assigned)
Automata@FIT
- internal (16.7.2019 - 31.12.2024)
Automated Analysis and Verification Research Group - VeriFIT
- internal (16.7.2019 - 31.12.2024)
Department of Intelligent Systems
- beneficiary (16.7.2019 - 31.12.2024)
Results
VARGOVČÍK, P.; HOLÍK, L. Antichain with SAT and Tries. 27th International Conference on Theory and Applications of Satisfiability Testing (SAT 2024). Leibniz International Proceedings in Informatics, LIPIcs. Leibniz International Proceedings in Informatics (LIPIcs). Dagstuhl: Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, 2024. p. 1-15. ISBN: 978-3-95977-334-8. ISSN: 1868-8969.
Detail
ABDULLA, P.; CHEN, Y.; CHEN, Y.; HOLÍK, L.; LENGÁL, O.; LIN, J.; LO, F.; TSAI, W. Verifying Quantum Circuits with Level-Synchronized Tree Automata. Proceedings of the ACM on Programming Languages, 2025, vol. 9, no. 1, p. 923-953. ISSN: 2475-1421.
Detail
HAVLENA, V.; HOLÍK, L.; LENGÁL, O.; SÍČ, J. Cooking String-Integer Conversions with Noodles. Proceedings of SAT'24. Leibniz International Proceedings in Informatics, LIPIcs. Leibniz International Proceedings in Informatics (LIPIcs). Pune: Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, 2024. p. 1-19. ISSN: 1868-8969.
Detail
HAVLENA, V.; HEČKO, M.; HOLÍK, L.; LENGÁL, O.; HABERMEHL, P. Algebraic Reasoning Meets Automata in Solving Linear Integer Arithmetic. Proceedings of CAV'24. Lecture Notes in Computer Science. Montreal: Springer Verlag, 2024. p. 42-67. ISSN: 0302-9743.
Detail
HAVLENA, V.; CHOCHOLATÝ, D.; SÍČ, J.; HOLÍK, L.; LENGÁL, O.; CHEN, Y. Z3-Noodler: An Automata-based String Solver. Proceedings of TACAS'24. Lecture Notes in Computer Science. Lecture Notes. Luxembourgh: Springer Verlag, 2024. p. 24-33. ISSN: 0302-9743.
Detail
HOLÍK, L.; CHOCHOLATÝ, D.; FIEDOR, T.; HAVLENA, V.; HRUŠKA, M.; LENGÁL, O.; SÍČ, J. Mata: A Fast and Simple Finite Automata Library. Proceedings of TACAS'24. Lecture Notes in Computer Science. Luxembourgh: Springer Verlag, 2024. p. 130-151. ISSN: 0302-9743.
Detail
DACÍK, T.; ROGALEWICZ, A.; VOJNAR, T.; ZULEGER, F. Deciding Boolean Separation Logic via Small Models. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Lecture Notes in Computer Science. Cham: Springer Nature Switzerland AG, 2024. p. 188-206. ISBN: 978-3-031-57245-6.
Detail
HAVLENA, V.; HOLÍK, L.; CHOCHOLATÝ, D.; LENGÁL, O.; SÍČ, J.; FIEDOR, T.; HRUŠKA, M.: mata; Mata: A Finite Automata Library. https://github.com/VeriFIT/mata. URL: https://github.com/VeriFIT/mata. (software)
Detail
HAVLENA, V.; HOLÍK, L.; CHOCHOLATÝ, D.; LENGÁL, O.; SÍČ, J.; CHEN, Y.: Z3-Noodler; Z3-Noodler: A String Solver. https://github.com/VeriFIT/z3-noodler. URL: https://github.com/VeriFIT/z3-noodler. (software)
Detail
CHEN, Y.; CHOCHOLATÝ, D.; HAVLENA, V.; HOLÍK, L.; LENGÁL, O.; SÍČ, J. Solving String Constraints with Lengths by Stabilization. Proceedings of the ACM on Programming Languages, 2023, vol. 7, no. 10, p. 2112-2141. ISSN: 2475-1421.
Detail
ANDRIUSHCHENKO, R.; BARTOCCI, E.; ČEŠKA, M.; FRANCESCO, P.; SARAH, S. Deductive Controller Synthesis for Probabilistic Hyperproperties. In Quantitative Evaluation of SysTems. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Cham: Springer Verlag, 2023. p. 288-306. ISBN: 978-3-031-43834-9.
Detail
HOLÍK, L.; HRUŠKA, M.; SÍČ, J.; VARGOVČÍK, P.; FIEDOR, T.; ROGALEWICZ, A. Reasoning about Regular Properties: A Comparative Study. In Automated Deduction - CADE 29. Lecture Notes in Computer Science. Cham: Springer Nature Switzerland AG, 2023. p. 286-306. ISSN: 0302-9743.
Detail
LENGÁL, O.; CHEN, Y.; TSAI, W.; CHUNG, K.; LIN, J. AutoQ: An Automata-based Quantum Circuit Verifier. In Proceedings of 35th International Conference on Computer Aided Verification. Lecture Notes in Computer Science. Cham: Springer Verlag, 2023. p. 139-153. ISSN: 0302-9743.
Detail
LENGÁL, O.; CHEN, Y.; TSAI, W.; LIN, J.; CHUNG, K.; YEN, D. An Automata-Based Framework for Verification and Bug Hunting in Quantum Circuits. Proceedings of the ACM on Programming Languages, 2023, vol. 7, no. 6, p. 1218-1243. ISSN: 2475-1421.
Detail
HOLÍK, L.; HOLÍKOVÁ, L.; SÍČ, J.; VOJNAR, T. Fast Matching of Regular Patterns with Synchronizing Counting. In Foundations of Software Science and Computation Structures. Lecture Notes in Computer Science. Heidelberg: Springer Verlag, 2023. p. 392-412. ISSN: 0302-9743.
Detail
HAVLENA, V.; CHOCHOLATÝ, D.; LENGÁL, O.; HOLÍK, L.; SÍČ, J.; BLAHOUDEK, F.; CHEN, Y. Word Equations in Synergy with Regular Constraints. In Proceedings of FM'23. Lecture Notes in Computer Science. Lübeck: Springer Verlag, 2023. p. 403-423. ISSN: 0302-9743.
Detail
HAVLENA, V.; LENGÁL, O.; CHEN, Y.; TURRINI, A. A symbolic algorithm for the case-split rule in solving word constraints with extensions. JOURNAL OF SYSTEMS AND SOFTWARE, 2023, vol. 201, no. 201, p. 111673-111693. ISSN: 0164-1212.
Detail
HOLÍK, L.; ABDULLA, P.; ATIG, M.; BUI PHI, D.; CHEN, Y.; WU, Z. Solving Not-Substring Constraint with Flat Abstraction. In Programming Languages and Systems - 19th Asian Symposium, APLAS 2021, Chicago, IL, USA, October 17-18, 2021, Proceedings. 13008. Berlín: Springer International Publishing, 2021. p. 305-320. ISBN: 978-3-030-89051-3.
Detail
HAVLENA, V.; ŠMAHLÍKOVÁ, B.; LENGÁL, O.; LI, Y.; TURRINI, A. Modular Mix-and-Match Complementation of Büchi Automata (Technical Report). Ithaca: Cornell University Library, 2023. p. 1-37.
Detail
HAVLENA, V.; ŠMAHLÍKOVÁ, B.; LENGÁL, O.; LI, Y.; TURRINI, A. Modular Mix-and-Match Complementation of Büchi Automata. In Proceedings of TACAS'23. Lecture Notes in Computer Science. Paris: Springer Verlag, 2023. p. 249-270. ISSN: 0302-9743.
Detail
Responsibility: Holík Lukáš, doc. Mgr., Ph.D.