Results 1  10
of
26
Languages, Automata and Logic
, 1996
"... This paper is a survey on logical aspects of finite automata. Central points are the connection between finite automata and monadic secondorder logic, the EhrenfeuchtFraisse technique in the context of formal language theory, finite automata on !words and their determinization, and a selfcontain ..."
Abstract

Cited by 244 (5 self)
 Add to MetaCart
(Show Context)
This paper is a survey on logical aspects of finite automata. Central points are the connection between finite automata and monadic secondorder logic, the EhrenfeuchtFraisse technique in the context of formal language theory, finite automata on !words and their determinization, and a selfcontained proof of the "Rabin Tree Theorem". Sections 5 and 6 contain material presented in a lecture series to the "Final
MONA: Monadic SecondOrder Logic in Practice
 IN PRACTICE, IN TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, FIRST INTERNATIONAL WORKSHOP, TACAS '95, LNCS 1019
, 1995
"... The purpose of this article is to introduce Monadic Secondorder Logic as a practical means of specifying regularity. The logic is a highly succinct alternative to the use of regular expressions. We have built a tool MONA, which acts as a decision procedure and as a translator to finitestate au ..."
Abstract

Cited by 148 (20 self)
 Add to MetaCart
(Show Context)
The purpose of this article is to introduce Monadic Secondorder Logic as a practical means of specifying regularity. The logic is a highly succinct alternative to the use of regular expressions. We have built a tool MONA, which acts as a decision procedure and as a translator to finitestate automata. The tool is based on new algorithms for minimizing finitestate automata that use binary decision diagrams (BDDs) to represent transition functions in compressed form. A byproduct of this work is a new bottomup algorithm to reduce BDDs in linear time without hashing. The potential
MONA Implementation Secrets
, 2000
"... 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 nonelementary worstcase complexity. The implementation has matured over a p ..."
Abstract

Cited by 83 (6 self)
 Add to MetaCart
(Show Context)
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 nonelementary worstcase 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, threevalued logic, eager minimization, BDDbased automata representations, and cacheconscious 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.
Composite Model Checking: Verification with TypeSpecific Symbolic Representations
 ACM Transactions on Software Engineering and Methodology
, 2000
"... In recent years, there has been a surge of progress in automated verification methods based on state exploration. In areas like hardware design, these technologies are rapidly augmenting key phases of testing and validation. To date, one of the most successful of these methods has been symbolic mode ..."
Abstract

Cited by 30 (7 self)
 Add to MetaCart
(Show Context)
In recent years, there has been a surge of progress in automated verification methods based on state exploration. In areas like hardware design, these technologies are rapidly augmenting key phases of testing and validation. To date, one of the most successful of these methods has been symbolic model checking, in which large finitestate machines are encoded into compact data structures such as binary decision diagrams (BDDs)  and are then checked for safety and liveness properties. However, these techniques have not realized the same success on software systems. One limitation is their inability to deal with infinitestate programs  even those with a single unbounded integer. A second problem is that of finding efficient representations for various variable types. We recently proposed a model checker for integerbased systems that uses arithmetic constraints as the underlying state representation. While this approach easily verified some subtle, infinitestate concurrency problems...
Automata Based Symbolic Reasoning in Hardware Verification
, 1998
"... . We present a new approach to hardware verification based on describing circuits in Monadic Secondorder Logic (M2L). We show how to use this logic to represent generic designs like nbit adders, which are parameterized in space, and sequential circuits, where time is an unbounded parameter. M2L ad ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
. We present a new approach to hardware verification based on describing circuits in Monadic Secondorder Logic (M2L). We show how to use this logic to represent generic designs like nbit adders, which are parameterized in space, and sequential circuits, where time is an unbounded parameter. M2L admits a decision procedure, implemented in the Mona tool [17], which reduces formulas to canonical automata. The decision problem for M2L is nonelementary decidable and thus unlikely to be usable in practice. However, we have used Mona to automatically verify, or find errors in, a number of circuits studied in the literature. Previously published machine proofs of the same circuits are based on deduction and may involve substantial interaction with the user. Moreover, our approach is orders of magnitude faster for the examples considered. We show why the underlying computations are feasible and how our use of Mona generalizes standard BDDbased hardware reasoning. 1. Introduction Correctnes...
BDD Algorithms and Cache Misses
, 1996
"... Within the last few years, CPU speed has greatly overtaken memory speed. For this reason, implementation of symbolic algorithms with their extensive use of pointers and hashingmust be reexamined. ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
Within the last few years, CPU speed has greatly overtaken memory speed. For this reason, implementation of symbolic algorithms with their extensive use of pointers and hashingmust be reexamined.
LISA: A Specification Language Based on WS2S
, 1998
"... We integrate two concepts from programming languages into a specification language based on WS2S, namely highlevel data structures such as records and recursivelydefined datatypes (WS2S is the weak secondorder monadic logic of two successors). Our integration is based on a new logic whose variabl ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
We integrate two concepts from programming languages into a specification language based on WS2S, namely highlevel data structures such as records and recursivelydefined datatypes (WS2S is the weak secondorder monadic logic of two successors). Our integration is based on a new logic whose variables range over recordlike trees and an algorithm for translating datatypes into tree automata. We have implemented LISA, a prototype system based on these ideas, which, when coupled with a decision procedure for WS2S like the MONA system, results in a verification tool that supports both highlevel specifications and complexity estimations for the running time of the decision procedure.
Deciding Fixed and Nonfixed Size Bitvectors
, 1998
"... We develop a new, efficient, and compact decision procedure for fixed size bitvectors with bitwise boolean operations. The algorithm is designed such that it can also decide some common cases of parameterized (nonfixed) size. To handle even more parameterized cases for bitvectors without bitwis ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
We develop a new, efficient, and compact decision procedure for fixed size bitvectors with bitwise boolean operations. The algorithm is designed such that it can also decide some common cases of parameterized (nonfixed) size. To handle even more parameterized cases for bitvectors without bitwise boolean operations we devise a unification based algorithm which invokes the first algorithm symbolically on parameters of the form aN + b, where a and b are integers and N is the only unknown. Our procedures are designed to be integrated in the Shostak combination of decision procedures. This allows them to be tightly integrated with decision procedures for other theories in STeP's (the Stanford Temporal Prover) simplifier and validity checker.