Benet Devereux
University of Toronto
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Benet Devereux.
ACM Transactions on Software Engineering and Methodology | 2003
Marsha Chechik; Benet Devereux; Steve M. Easterbrook; Arie Gurfinkel
This article introduces the concept of multi-valued model-checking and describes a multi-valued symbolic model-checker, ΧChek. Multi-valued model-checking is a generalization of classical model-checking, useful for analyzing models that contain uncertainty (lack of essential information) or inconsistency (contradictory information, often occurring when information is gathered from multiple sources). Multi-valued logics support the explicit modeling of uncertainty and disagreement by providing additional truth values in the logic.This article provides a theoretical basis for multi-valued model-checking and discusses some of its applications. A companion article [Chechik et al. 2002b] describes implementation issues in detail. The model-checker works for any member of a large class of multi-valued logics. Our modeling language is based on a generalization of Kripke structures, where both atomic propositions and transitions between states may take any of the truth values of a given multi-valued logic. Properties are expressed in ΧCTL, our multi-valued extension of the temporal logic CTL.We define the class of logics, present the theory of multi-valued sets and multi-valued relations used in our model-checking algorithm, and define the multi-valued extensions of CTL and Kripke structures. We explore the relationship between ΧCTL and CTL, and provide a symbolic model-checking algorithm for ΧCTL. We also address the use of fairness in multi-valued model-checking. Finally, we discuss some applications of the multi-valued model-checking approach.
international workshop on model checking software | 2001
Marsha Chechik; Benet Devereux; Arie Gurfinkel
In analyzing infinite-state systems, it is often useful to define multiple-valued predicates. Such predicates can determine the (finite) levels of desirability of the current system state and transitions between them. We can capture multiple-valued predicates as elements of a logic defined over finite total orders (FTOs). In this paper we extend automata-theoretic LTL model-checking to reasoning about a class of multiple-valued logics. We also show that model-checking over FTOs is reducible to classical model-checking, and thus can be implemented in SPIN.
international conference on concurrency theory | 2001
Marsha Chechik; Benet Devereux; Steve M. Easterbrook; Albert Y. C. Lai; Victor Petrovykh
Multiple-valued logics can be effectively used to reason about incomplete and/or inconsistent systems, e.g. during early software requirements or as the systems evolve. We specify multiple-valued logics using finite lattices. In this paper, we use lattice representation theory to cast the multiple-valued model-checking problem in terms of symbolic operations on classical sets of states, provided the lattices are distributive. This allows us to partially reuse existing symbolic model-checking technology and improve efficiency over previous implementations that were based on multiple-valued decision diagrams.
IEEE Transactions on Software Engineering | 2003
Arie Gurfinkel; Marsha Chechik; Benet Devereux
Temporal logic query checking was first introduced by W. Chan in order to speed up design understanding by discovering properties not known a priori. A query is a temporal logic formula containing a special symbol ?/sub 1/, known as a placeholder. Given a Kripke structure and a propositional formula /spl phi/, we say that /spl phi/ satisfies the query if replacing the placeholder by /spl phi/ results in a temporal logic formula satisfied by the Kripke structure. A solution to a temporal logic query on a Kripke structure is the set of all propositional formulas that satisfy the query. Query checking helps discover temporal properties of a system and, as such, is a useful tool for model exploration. In this paper, we show that query checking is applicable to a variety of model exploration tasks, ranging from invariant computation to test case generation. We illustrate these using a Cruise Control System. Additionally, we show that query checking is an instance of a multi-valued model checking of Chechik et al. This approach enables us to build an implementation of a temporal logic query checker, TLQSolver, on top of our existing multi-valued model checker /sub /spl chi//Chek. It also allows us to decide a large class of queries and introduce witnesses for temporal logic queries-an essential notion for effective model exploration.
foundations of software engineering | 2002
Arie Gurfinkel; Benet Devereux; Marsha Chechik
A temporal logic query is a temporal logic formula with placeholders. Given a model, a solution to a query is a set of assignments of propositional formulas to placeholders, such that replacing the placeholders with any of these assignments results in a temporal logic formula that holds in the model. Query checking, first introduced by William Chan \citechan00, is an automated technique for finding solutions to temporal logic queries. It allows discovery of the temporal properties of the system and as such may be a useful tool for model exploration and reverse engineering.This paper describes an implementation of a temporal logic query checker. It then suggests some applications of this tool, ranging from invariant computation to test case generation, and illustrates them using a Cruise Control System.
computer aided verification | 2002
Marsha Chechik; Arie Gurfinkel; Benet Devereux
ΧChek is a multi-valued symbolic model-checker [CDE01a,CDEG01]. It is a generalization of an existing symbolic model-checking algorithm to an algorithm for a multivalued extension of CTL (ΧCTL). Given a system and a ΧCTL property, Chek returns the degree to which the system satisfies the property. By multi-valued logic we mean a logic whose values form a finite quasi- boolean distributive lattice. The meet and join operations of the lattice are interpreted as the logical and and or, respectively. The negation is given by a lattice dual-automorphism with period 2, ensuring the preservation of involution of negation (¬¬a = a) and De Morgan laws. For example, a 3-valued logic of abstraction (3), consisting of values true (T), maybe (M), and false (F), is given in Figure 1(a), where the negation operator is defined as: ¬T = F, ¬F = T, and ¬ M = M.
tools and algorithms for construction and analysis of systems | 2001
Marsha Chechik; Benet Devereux; Steve M. Easterbrook
Multi-valued logics support the explicit modeling of uncertainty and disagreement by allowing additional truth values in the logic. Such logics can be used for verification of dynamic properties of systems where complete, agreed upon models of the system are not available. In this paper, we present an implementation of a symbolic model checker for multi-valued temporal logics. The model checker works for any multi-valued logic whose truth values form a quasi-boolean lattice. Our models are generalized Kripke structures, where both atomic propositions and transitions between states may take any of the truth values of a given multi-valued logic. Properties to be model checked are expressed in CTL, generalized with a multi-valued semantics. The design of the model checker is based on the use of MDDs, a multi-valued extension of Binary Decision Diagrams. We describe MDDs and their use in the model checker. We also give its theoretical time complexity and some preliminary empirical performance data.
formal methods | 2006
Marsha Chechik; Arie Gurfinkel; Benet Devereux; Albert Y. C. Lai; Steve M. Easterbrook
Multi-valued logics provide an interesting alternative to classical boolean logic for modeling and reasoning about systems. Such logics can be used for reasoning about partially-specified systems, effectively encode vacuity detection and query-checking problems, help in detecting inconsistencies, and many others.In our earlier work, we identified a useful family of multi-valued logics: those specified over finite distributive lattices where negation preserves involution, i.e.,
international symposium on multiple valued logic | 2001
Marsha Chechik; Steve M. Easterbrook; Benet Devereux
international conference on software engineering | 2003
Steve M. Easterbrook; Marsha Chechik; Benet Devereux; Arie Gurfinkel; Albert Y. C. Lai; Victor Petrovykh; Anya Tafliovich; Christopher D. Thompson-Walsh
{{\neg}}{{\neg}} a = a