## MONA Implementation Secrets (2000)

### Cached

### Download Links

- [www.daimi.au.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.daimi.au.dk]
- [cs.au.dk]
- DBLP

### Other Repositories/Bibliography

Citations: | 71 - 6 self |

### BibTeX

@MISC{Klarlund00monaimplementation,

author = {Nils Klarlund and Anders Møller and Michael Schwatzbach},

title = {MONA Implementation Secrets},

year = {2000}

}

### Years of Citing Articles

### OpenURL

### Abstract

The MONA tool provides an implementation of the 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 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.

### Citations

3153 | Graph-based algorithms for Boolean function manipulation
- Bryant
- 1986
(Show Context)
Citation Context ...vious section can be further refined of course. The most promising ideas seem however to concentrate on the BDD representation. In the following, we describe three such ideas. It is a well-known fact =-=[6]-=- that the ordering of variables in the BDD automata representation has a strong influence on the number of BDD nodes required. The impact of choosing a good ordering can be an exponential improvement ... |

1372 | Symbolic Model Checking - McMillan - 1993 |

942 | Symbolic Boolean manipulation with ordered binary decision diagrams - Bryant - 1992 |

506 |
Automata on infinite objects
- Thomas
- 1990
(Show Context)
Citation Context ... by experimenting with separate versions of the Mona tool that in turn omit each of them. 1 Introduction Mona [14, 20, 22] is an implementation of the decision procedures for the logics WS1S and WS2S =-=[28]-=-. They have long been known to be decidable [7, 8, 13], but with a non-elementary lower bound [21]. For many years it was assumed that this discouraging complexity precluded any useful implementations... |

298 | Logic synthesis and optimization benchmarks user guide
- Yang
- 1991
(Show Context)
Citation Context ...nc91 bbsse.mona – verification of sequential hardware circuits; the first verifies that an 8-bit von Neumann adder is equivalent to a standard carry-chain adder, the second is a benchmark from MCNC91 =-=[29]-=-. Provided by Sebastian Mödersheim. xbar theory.mona – encodes a part of a theory of natural languages in the Chomsky tradition. It was used to verify the theory and led to the discovery of mistakes i... |

230 |
Weak second–order arithmetic and finite automata. Zeitschrift für Mathematische Logik und Grundlagen der
- Büchi
- 1960
(Show Context)
Citation Context ...Mona tool that in turn omit each of them. 1 Introduction Mona [14, 20, 22] is an implementation of the decision procedures for the logics WS1S and WS2S [28]. They have long been known to be decidable =-=[7, 8, 13]-=-, but with a non-elementary lower bound [21]. For many years it was assumed that this discouraging complexity precluded any useful implementations. However, Mona has been developed at BRICS since 1994... |

180 | Tree acceptors and some of their applications - Doner - 1970 |

150 | The pointer assertion logic engine - Møller, Schwartzbach - 2001 |

147 |
On a decision method in restricted second-order arithmetics
- Büchi
- 1960
(Show Context)
Citation Context ...Mona tool that in turn omit each of them. 1 Introduction Mona [14, 20, 22] is an implementation of the decision procedures for the logics WS1S and WS2S [28]. They have long been known to be decidable =-=[7, 8, 13]-=-, but with a non-elementary lower bound [21]. For many years it was assumed that this discouraging complexity precluded any useful implementations. However, Mona has been developed at BRICS since 1994... |

125 | Mona: Monadic second-order logic in practice
- Henriksen, Jensen, et al.
- 1995
(Show Context)
Citation Context ...scious 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. 1 Introduction Mona =-=[14, 20, 22]-=- is an implementation of the decision procedures for the logics WS1S and WS2S [28]. They have long been known to be decidable [7, 8, 13], but with a non-elementary lower bound [21]. For many years it ... |

85 | Automata on in objects - Thomas - 1990 |

62 |
Decision problems of finite automata design and related arithmetics
- Elgot
- 1961
(Show Context)
Citation Context ...Mona tool that in turn omit each of them. 1 Introduction Mona [14, 20, 22] is an implementation of the decision procedures for the logics WS1S and WS2S [28]. They have long been known to be decidable =-=[7, 8, 13]-=-, but with a non-elementary lower bound [21]. For many years it was assumed that this discouraging complexity precluded any useful implementations. However, Mona has been developed at BRICS since 1994... |

59 | Automatic Verification of Pointer Programs Using Monadic Second-order Logic
- Jensen, Jørgensen, et al.
(Show Context)
Citation Context ...ed to describe by other means, yet not so large as to require infeasible computations. Happily, many interesting projects fit into this niche, including hardware verification [2, 3], pointer analysis =-=[16, 12]-=-, controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems [17, 1, 24, 27]. 2 MONA, WS1S, and WS2S The first versio... |

55 | Fido: The logic-automaton connection in practice - Mona - 1998 |

51 | Transitive Closures of Regular Relations for Verifying Infinite-State Systems - Jonsson, Nilsson - 2000 |

48 | Handling global conditions in parameterized system verification
- Abdulla, Bouajjani, et al.
- 1999
(Show Context)
Citation Context ... hardware verification [2, 3], pointer analysis [16, 12], controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems =-=[17, 1, 24, 27]-=-. 2 MONA, WS1S, and WS2S The first versions of Mona were based on a logic about finite strings, the monadic second-order logic M2L(Str). In this notation, first-order variables are interpreted over th... |

46 | Generalized finite automata with an application to a decision problem of second-order logic - Thatcher, Wright - 1968 |

36 |
M.R.: Heuristics to compute variable orderings for efficient manipulation of ordered binary decision diagrams
- Butler, Ross, et al.
- 1991
(Show Context)
Citation Context ...sing a good ordering can be an exponential improvement in running times. Finding the optimal ordering is an NP-complete problem, but we plan to experiment with the heuristics that have been suggested =-=[9]-=-. We have sometimes been asked: “Why don’t you encode the states of the automata in BDDs, since that is a central technique in model checking?”. The reason is very clear: there is no obvious structure... |

34 |
Weak monadic second-order theory of successor is not elementary recursive
- Meyer
- 1975
(Show Context)
Citation Context ...uction Mona [14, 20, 22] is an implementation of the decision procedures for the logics WS1S and WS2S [28]. They have long been known to be decidable [7, 8, 13], but with a non-elementary lower bound =-=[21]-=-. For many years it was assumed that this discouraging complexity precluded any useful implementations. However, Mona has been developed at BRICS since 1994, when our initial attempt at automatic poin... |

33 |
T.: Algorithms for Guided Tree Automata
- Biehl, Klarlund, et al.
- 1997
(Show Context)
Citation Context ...nal transition tables. We have used a technique of factorization of state spaces to split big tree automata into smaller ones. The basic idea, which may result in exponential savings, is explained in =-=[4]-=-. To exploit this feature, the Mona programmer must manually specify a guide, which is a top-down tree automaton that assigns state spaces to the nodes of a tree. However, when using the WSRT logic, a... |

31 | Mona 1.x: New techniques for WS1S and WS2S
- Elgaard, Klarlund, et al.
- 1998
(Show Context)
Citation Context ...ulas in a DAG (Directed Acyclic Graph), not a tree. The DAG is conceptually constructed from the tree using a bottom-up collapsing process, based on the signature equivalence relation as described in =-=[11]-=-. Clearly, constructing the DAG instead of the tree incurs some overhead, but the following experiments show that the benefits are significantly larger:sBenchmark Nodes Tree DAG Time Tree DAG Effect A... |

28 | A comparison of Presburger engines for EFSM reachability
- Shiple, Kukula, et al.
- 1998
(Show Context)
Citation Context ...sting projects fit into this niche, including hardware verification [2, 3], pointer analysis [16, 12], controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic =-=[26]-=-, and verification of concurrent systems [17, 1, 24, 27]. 2 MONA, WS1S, and WS2S The first versions of Mona were based on a logic about finite strings, the monadic second-order logic M2L(Str). In this... |

25 | Hardware Verification using Monadic SecondOrder Logic
- Basin, Klarlund
(Show Context)
Citation Context ...e too large and complicated to describe by other means, yet not so large as to require infeasible computations. Happily, many interesting projects fit into this niche, including hardware verification =-=[2, 3]-=-, pointer analysis [16, 12], controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems [17, 1, 24, 27]. 2 MONA, WS1S... |

25 | Compile-time debugging of C programs working on trees
- Elgaard, Møller, et al.
- 2000
(Show Context)
Citation Context ...ed to describe by other means, yet not so large as to require infeasible computations. Happily, many interesting projects fit into this niche, including hardware verification [2, 3], pointer analysis =-=[16, 12]-=-, controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems [17, 1, 24, 27]. 2 MONA, WS1S, and WS2S The first versio... |

25 | Mosel: A flexible toolset for monadic second–order logic - Kelb, Margaria, et al. - 1997 |

23 | Combining WS1S and HOL - Basin, Friedrich - 2000 |

21 | Weak second-order arithmetic and automata - Buchi - 1960 |

19 | Automata Based Symbolic Reasoning in Hardware Verification”. In: Formal Methods
- Basin, Klarlund
- 1998
(Show Context)
Citation Context ...e too large and complicated to describe by other means, yet not so large as to require infeasible computations. Happily, many interesting projects fit into this niche, including hardware verification =-=[2, 3]-=-, pointer analysis [16, 12], controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems [17, 1, 24, 27]. 2 MONA, WS1S... |

19 | Distributed safety controllers for web services
- Sandholm, Schwartzbach
- 1998
(Show Context)
Citation Context ...yet not so large as to require infeasible computations. Happily, many interesting projects fit into this niche, including hardware verification [2, 3], pointer analysis [16, 12], controller synthesis =-=[25, 15]-=-, natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems [17, 1, 24, 27]. 2 MONA, WS1S, and WS2S The first versions of Mona were based on a logi... |

19 | Formal design constraints - Klarlund, Koistinen, et al. - 1996 |

16 | A domain-specific language for regular sets of strings and trees - Klarlund, Schwartzbach - 1999 |

14 |
Verification of a sliding window protocol using IOA and MONA
- Smith, Klarlund
(Show Context)
Citation Context ... hardware verification [2, 3], pointer analysis [16, 12], controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems =-=[17, 1, 24, 27]-=-. 2 MONA, WS1S, and WS2S The first versions of Mona were based on a logic about finite strings, the monadic second-order logic M2L(Str). In this notation, first-order variables are interpreted over th... |

14 | The Pointer Assertion Logic Engine - Mller, Schwartzbach - 2001 |

13 | Decision problems of automata design and related arithmetics - Elgot - 1961 |

13 | Report on the program AMoRE - Matz, Miller, et al. - 1995 |

12 |
Fmona: A tool for expressing validation techniques over infinite state systems
- Bodeveix, Filali
- 2000
(Show Context)
Citation Context ... verifies correctness of a sliding window network protocol [27]. Provided by Mark Smith. szymanski acc.mona – validation of the parameterized Szymanski problem using an accelerated iterative analysis =-=[5]-=-. Provided by Mamoun Filali-Amine. von neumann adder.mona and mcnc91 bbsse.mona – verification of sequential hardware circuits; the first verifies that an 8-bit von Neumann adder is equivalent to a st... |

12 | BDD algorithms and cache misses
- Klarlund, Rauhe
- 1996
(Show Context)
Citation Context ... structures The data structure used to represent the BDDs for transition functions has been carefully tuned to minimize the number of cache misses that occur. This effort is motivated in earlier work =-=[18]-=-, where it is determined that the number of cache misses during unary and binary BDD apply steps totally dominates the running time. In fact, we argued elsewhere [18] that if A1 is the number of unary... |

11 | Automated logical verification based on trace abstraction - Klarlund, Nielsen, et al. - 1996 |

10 | MONA Version 1.3 User Manual
- Klarlund, Møller
- 1998
(Show Context)
Citation Context ...scious 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. 1 Introduction Mona =-=[14, 20, 22]-=- is an implementation of the decision procedures for the logics WS1S and WS2S [28]. They have long been known to be decidable [7, 8, 13], but with a non-elementary lower bound [21]. For many years it ... |

10 | Representation and symbolic manipulation of linearly inductive boolean functions - Gupta, Fisher - 1993 |

10 | LISA: A specification language based on WS2S - Ayari, Basin, et al. - 1998 |

9 | Generalized automata with an application to a decision problem of second order logic - Thatcher, Wright - 1968 |

9 | An log algorithm for online bdd refinement - Klarlund - 1999 |

8 | Automatic veri of pointer programs using monadic second-order logic - Jensen, Joergensen, et al. - 1997 |

7 | Yakyak: Parsing with logical side constraints
- Damgaard, Klarlund, et al.
- 1999
(Show Context)
Citation Context ...ations. Happily, many interesting projects fit into this niche, including hardware verification [2, 3], pointer analysis [16, 12], controller synthesis [25, 15], natural languages [23], parsing tools =-=[10]-=-, Presburger arithmetic [26], and verification of concurrent systems [17, 1, 24, 27]. 2 MONA, WS1S, and WS2S The first versions of Mona were based on a logic about finite strings, the monadic second-o... |

7 |
A case study in automated verification based on trace abstractions
- Klarlund, Nielsen, et al.
- 1996
(Show Context)
Citation Context ... hardware verification [2, 3], pointer analysis [16, 12], controller synthesis [25, 15], natural languages [23], parsing tools [10], Presburger arithmetic [26], and verification of concurrent systems =-=[17, 1, 24, 27]-=-. 2 MONA, WS1S, and WS2S The first versions of Mona were based on a logic about finite strings, the monadic second-order logic M2L(Str). In this notation, first-order variables are interpreted over th... |

7 |
A theory of restrictions for logics and automata
- Klarlund
- 1999
(Show Context)
Citation Context ...bles in order to emulate the string-based semantics. The nature of these problems is very technical, but fortunately they can be solved through a theory of restriction couched in a three-valued logic =-=[19]-=-. Under this view, a restricted subformula φ is associated with a restriction φR different from true; anunrestricted formula is associated with a restriction φR that is true. We do not outline the the... |

7 | Integrating WS1S with PVS - Owre, Ruess - 2000 |

6 | Structural and behavioral modeling with monadic logics - Ayari, Basin, et al. - 1999 |

6 | Implementing WS1S via finite automata - Glenn, Gasarch - 1997 |