MONA
MONA implementation secrets. The MONA tool provides an implementation of automaton-based decision procedures for the logics WS1S and WS2S. It has been used for numerous applications, and it is remarkably efficient in practice, even though it faces a theoretically non-elementary worst-case complexity. The implementation has matured over a period of six years. Compared to the first naive version, the present tool is faster by several orders of magnitude. This speedup is obtained from many different contributions working on all levels of the compilation and execution of formulas. We present an overview of MONA and a selection of implementation “secrets” that have been discovered and tested over the years, including formula reductions, DAGification, guided tree automata, three-valued logic, eager minimization, BDD-based automata representations, and cache-conscious data structures. We describe these techniques and quantify their respective effects by experimenting with separate versions of the MONA tool that in turn omit each of them.
Keywords for this software
References in zbMATH (referenced in 112 articles , 2 standard articles )
Showing results 1 to 20 of 112.
Sorted by year (- Fiedor, Tomáš; Holík, Lukáš; Lengál, Ondřej; Vojnar, Tomáš: Nested antichains for WS1S (2019)
- Abdulla, Parosh Aziz; Sistla, A. Prasad; Talupur, Muralidhar: Model checking parameterized systems (2018)
- Aiswarya, C.; Bollig, Benedikt; Gastin, Paul: An automata-theoretic approach to the verification of distributed algorithms (2018)
- Mandrioli, Dino; Pradella, Matteo: Generalizing input-driven languages: theoretical and practical benefits (2018)
- Frumkin, Asya; Feldman, Yotam M. Y.; Lhoták, Ondřej; Padon, Oded; Sagiv, Mooly; Shoham, Sharon: Property directed reachability for proving absence of concurrent modification errors (2017)
- Unel, Gulay; Toman, David: Logic programming approach to automata-based decision procedures (2017)
- Barth, Stephan: Deciding monadic second order logic over (\omega)-words by specialized finite automata (2016)
- Kovásznai, Gergely; Fröhlich, Andreas; Biere, Armin: Complexity of fixed-size bit-vector logics (2016)
- Unel, Gulay: Incremental reasoning on monadic second-order logics with logic programming (2016)
- Basin, David; Klaedtke, Felix; Müller, Samuel; Zălinescu, Eugen: Monitoring metric first-order temporal properties (2015)
- Heinen, Jonathan; Jansen, Christina; Katoen, Joost-Pieter; Noll, Thomas: Juggrnaut: using graph grammars for abstracting unbounded heap structures (2015)
- Liang, Tianyi; Tsiskaridze, Nestan; Reynolds, Andrew; Tinelli, Cesare; Barrett, Clark: A decision procedure for regular membership and length constraints over unbounded strings (2015)
- Mesnard, Fred; Payet, Étienne: A second-order formulation of non-termination (2015)
- Traytel, Dmitriy; Nipkow, Tobias: Verified decision procedures for MSO on words based on derivatives of regular expressions (2015)
- Veanes, Margus; Bjørner, Nikolaj: Symbolic tree automata (2015)
- Langer, Alexander; Reidl, Felix; Rossmanith, Peter; Sikdar, Somnath: Practical algorithms for MSO model-checking on tree-decomposable graphs (2014)
- Yu, Fang; Alkhalaf, Muath; Bultan, Tevfik; Ibarra, Oscar H.: Automata-based symbolic string analysis for vulnerability detection (2014)
- Zhou, Min; He, Fei; Wang, Bow-Yaw; Gu, Ming; Sun, Jiaguang: Array theory of bounded elements and its applications (2014)
- Bès, Alexis: Expansions of MSO by cardinality relations (2013)
- Bliem, Bernhard; Pichler, Reinhard; Woltran, Stefan: Declarative dynamic programming as an alternative realization of Courcelle’s theorem (2013)
Further publications can be found at: http://www.brics.dk/mona/publications.html