Results 1  10
of
162
Lazy Satisfiability Modulo Theories
 JOURNAL ON SATISFIABILITY, BOOLEAN MODELING AND COMPUTATION 3 (2007) 141Â224
, 2007
"... Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingl ..."
Abstract

Cited by 182 (47 self)
 Add to MetaCart
(Show Context)
Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingly important due to its applications in many domains in different communities, in particular in formal verification. An amount of papers with novel and very efficient techniques for SMT has been published in the last years, and some very efficient SMT tools are now available. Typical SMT (T) problems require testing the satisfiability of formulas which are Boolean combinations of atomic propositions and atomic expressions in T, so that heavy Boolean reasoning must be efficiently combined with expressive theoryspecific reasoning. The dominating approach to SMT (T), called lazy approach, is based on the integration of a SAT solver and of a decision procedure able to handle sets of atomic constraints in T (Tsolver), handling respectively the Boolean and the theoryspecific components of reasoning. Unfortunately, neither the problem of building an efficient SMT solver, nor even that
Programs with Lists are Counter Automata
 In CAV’06, LNCS
, 2006
"... Abstract. We address the verification problem of programs manipulating oneselector linked data structures. We propose a new automated approach for checking safety and termination for these programs. Our approach is based on using heap graphs where list segments without sharing are collapsed, and cou ..."
Abstract

Cited by 68 (9 self)
 Add to MetaCart
(Show Context)
Abstract. We address the verification problem of programs manipulating oneselector linked data structures. We propose a new automated approach for checking safety and termination for these programs. Our approach is based on using heap graphs where list segments without sharing are collapsed, and counters are used to keep track of the number of elements in these segments. This allows to apply automatic analysis techniques and tools for counter automata in order to verify list programs. We show the effectiveness of our approach, in particular by verifying automatically termination of some sorting programs. 1
The computational power of population protocols
 Distributed Computing
"... We consider the model of population protocols introduced by Angluin et al. [AAD + 04], in which anonymous finitestate agents stably compute a predicate of the multiset of their inputs via twoway interactions in the allpairs family of communication networks. We prove that all predicates stably com ..."
Abstract

Cited by 61 (4 self)
 Add to MetaCart
We consider the model of population protocols introduced by Angluin et al. [AAD + 04], in which anonymous finitestate agents stably compute a predicate of the multiset of their inputs via twoway interactions in the allpairs family of communication networks. We prove that all predicates stably computable in this model (and certain generalizations of it) are semilinear, answering a central open question about the power of the model. Removing the assumption of twoway interaction, we also consider several variants of the model in which agents communicate by anonymous messagepassing where the recipient of each message is chosen by an adversary and the sender is not identified to the recipient. These oneway models are distinguished by whether messages are delivered immediately or after a delay, whether a sender can record that it has sent a message, and whether a recipient can queue incoming messages, refusing to accept new messages until it has had a chance to send out messages of its own. We characterize the classes of predicates stably computable in each of these oneway models using natural subclasses of the semilinear predicates. 1
Fast computation by population protocols with a leader
 IN DISTRIBUTED COMPUTING: 20TH INTERNATIONAL SYMPOSIUM, DISC 2006
, 2006
"... Fast algorithms are presented for performing computations in a probabilistic population model. This is a variant of the standard population protocol model—in which finitestate agents interact in pairs under the control of an adversary scheduler—where all pairs are equally likely to be chosen for ea ..."
Abstract

Cited by 61 (5 self)
 Add to MetaCart
(Show Context)
Fast algorithms are presented for performing computations in a probabilistic population model. This is a variant of the standard population protocol model—in which finitestate agents interact in pairs under the control of an adversary scheduler—where all pairs are equally likely to be chosen for each interaction. It is shown that when a unique leader agent is provided in the initial population, the population can simulate a virtual register machine in which standard arithmetic operations like comparison, addition, subtraction, multiplication, and division can be simulated in O(n log 4 n) interactions with high probability. Applications include a reduction of the cost of computing a semilinear predicate to O(n log 4 n) interactions from the previously bestknown bound of O(n 2 log n) interactions and simulation of a LOGSPACE Turing machine using the same O(n log 4 n) interactions per step. These bounds on interactions translate into O(log 4 n) time per step in a natural model in which each agent participates in an expected Θ(1) interactions per time unit. The central method is the extensive use of epidemics to propagate information from and to the leader, combined with an epidemicbased phase clock used to detect when these epidemics are likely to be complete.
Modular Data Structure Verification
 EECS DEPARTMENT, MASSACHUSETTS INSTITUTE OF TECHNOLOGY
, 2007
"... This dissertation describes an approach for automatically verifying data structures, focusing on techniques for automatically proving formulas that arise in such verification. I have implemented this approach with my colleagues in a verification system called Jahob. Jahob verifies properties of Java ..."
Abstract

Cited by 44 (21 self)
 Add to MetaCart
This dissertation describes an approach for automatically verifying data structures, focusing on techniques for automatically proving formulas that arise in such verification. I have implemented this approach with my colleagues in a verification system called Jahob. Jahob verifies properties of Java programs with dynamically allocated data structures. Developers write Jahob specifications in classical higherorder logic (HOL); Jahob reduces the verification problem to deciding the validity of HOL formulas. I present a new method for proving HOL formulas by combining automated reasoning techniques. My method consists of 1) splitting formulas into individual HOL conjuncts, 2) soundly approximating each HOL conjunct with a formula in a more tractable fragment and 3) proving the resulting approximation using a decision procedure or a theorem prover. I present three concrete logics; for each logic I show how to use it to approximate HOL formulas, and how to decide the validity of formulas in this logic. First, I present an approximation of HOL based on a translation to firstorder logic, which enables the use of existing resolutionbased theorem provers. Second, I present an approximation of HOL based on field constraint analysis, a new technique that enables