Mata, a Fast and Simple Finite Automata Library (Technical Report)

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Chocholatý, David, Fiedor, Tomáš, Havlena, Vojtěch, Holík, Lukáš, Hruška, Martin, Lengál, Ondřej, Síč, Juraj
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914731335352320
author Chocholatý, David
Fiedor, Tomáš
Havlena, Vojtěch
Holík, Lukáš
Hruška, Martin
Lengál, Ondřej
Síč, Juraj
author_facet Chocholatý, David
Fiedor, Tomáš
Havlena, Vojtěch
Holík, Lukáš
Hruška, Martin
Lengál, Ondřej
Síč, Juraj
contents Mata is a well-engineered automata library written in C++ that offers a unique combination of speed and simplicity. It is meant to serve in applications such as string constraint solving and reasoning about regular expressions, and as a~reference implementation of automata algorithms. Besides basic algorithms for (non)deterministic automata, it implements a fast simulation reduction and antichain-based language inclusion checking. The simplicity allows a straightforward access to the low-level structures, making it relatively easy to extend and modify. Besides the C++ API, the library also implements a Python binding. The library comes with a large benchmark of automata problems collected from relevant applications such as string constraint solving, regular model checking, and reasoning about regular expressions. We show that Mata is on this benchmark significantly faster than all libraries from a wide range of automata libraries we collected. Its usefulness in string constraint solving is demonstrated by the string solver Z3-Noodler, which is based on Mata and outperforms the state of the art in string constraint solving on many standard benchmarks.
format Preprint
id arxiv_https___arxiv_org_abs_2310_10136
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Mata, a Fast and Simple Finite Automata Library (Technical Report)
Chocholatý, David
Fiedor, Tomáš
Havlena, Vojtěch
Holík, Lukáš
Hruška, Martin
Lengál, Ondřej
Síč, Juraj
Formal Languages and Automata Theory
Mata is a well-engineered automata library written in C++ that offers a unique combination of speed and simplicity. It is meant to serve in applications such as string constraint solving and reasoning about regular expressions, and as a~reference implementation of automata algorithms. Besides basic algorithms for (non)deterministic automata, it implements a fast simulation reduction and antichain-based language inclusion checking. The simplicity allows a straightforward access to the low-level structures, making it relatively easy to extend and modify. Besides the C++ API, the library also implements a Python binding. The library comes with a large benchmark of automata problems collected from relevant applications such as string constraint solving, regular model checking, and reasoning about regular expressions. We show that Mata is on this benchmark significantly faster than all libraries from a wide range of automata libraries we collected. Its usefulness in string constraint solving is demonstrated by the string solver Z3-Noodler, which is based on Mata and outperforms the state of the art in string constraint solving on many standard benchmarks.
title Mata, a Fast and Simple Finite Automata Library (Technical Report)
topic Formal Languages and Automata Theory
url https://arxiv.org/abs/2310.10136