289 research outputs found
Encoding TLA+ set theory into many-sorted first-order logic
We present an encoding of Zermelo-Fraenkel set theory into many-sorted
first-order logic, the input language of state-of-the-art SMT solvers. This
translation is the main component of a back-end prover based on SMT solvers in
the TLA+ Proof System
Rewriting Modulo SMT and Open System Analysis
This paper proposes rewriting modulo SMT, a new technique that
combines the power of SMT solving, rewriting modulo theories, and model checking.
Rewriting modulo SMT is ideally suited to model and analyze reachability
properties of infinite-state open systems, i.e., systems that interact with a nondeterministic
environment. Such systems exhibit both internal nondeterminism,
which is proper to the system, and external nondeterminism, which is due to the
environment. In a reflective formalism, such as rewriting logic, rewriting modulo
SMT can be reduced to standard rewriting. Hence, rewriting modulo SMT naturally
extends rewriting-based reachability analysis techniques, which are available
for closed systems, to open systems. The proposed technique is illustrated
with the formal analysis of: (i) a real-time system that is beyond the scope of
timed-automata methods and (ii) automatic detection of reachability violations in
a synchronous language developed to support autonomous spacecraft operations.NSF Grant CNS 13-19109 and NASA Research Cooperative Agreement No. NNL09AA00AOpe
Backward Reachability of Array-based Systems by SMT solving: Termination and Invariant Synthesis
The safety of infinite state systems can be checked by a backward
reachability procedure. For certain classes of systems, it is possible to prove
the termination of the procedure and hence conclude the decidability of the
safety problem. Although backward reachability is property-directed, it can
unnecessarily explore (large) portions of the state space of a system which are
not required to verify the safety property under consideration. To avoid this,
invariants can be used to dramatically prune the search space. Indeed, the
problem is to guess such appropriate invariants. In this paper, we present a
fully declarative and symbolic approach to the mechanization of backward
reachability of infinite state systems manipulating arrays by Satisfiability
Modulo Theories solving. Theories are used to specify the topology and the data
manipulated by the system. We identify sufficient conditions on the theories to
ensure the termination of backward reachability and we show the completeness of
a method for invariant synthesis (obtained as the dual of backward
reachability), again, under suitable hypotheses on the theories. We also
present a pragmatic approach to interleave invariant synthesis and backward
reachability so that a fix-point for the set of backward reachable states is
more easily obtained. Finally, we discuss heuristics that allow us to derive an
implementation of the techniques in the model checker MCMT, showing remarkable
speed-ups on a significant set of safety problems extracted from a variety of
sources.Comment: Accepted for publication in Logical Methods in Computer Scienc
A Rewriting Logic Approach to Stochastic and Spatial Constraint System Specification and Verification
This paper addresses the issue of specifying, simulating, and verifying
reactive systems in rewriting logic. It presents an executable semantics for
probabilistic, timed, and spatial concurrent constraint programming ---here
called stochastic and spatial concurrent constraint systems (SSCC)--- in the
rewriting logic semantic framework. The approach is based on an enhanced and
generalized model of concurrent constraint programming (CCP) where
computational hierarchical spaces can be assigned to belong to agents. The
executable semantics faithfully represents and operationally captures the
highly concurrent nature, uncertain behavior, and spatial and epistemic
characteristics of reactive systems with flow of information. In SSCC, timing
attributes ---represented by stochastic duration--- can be associated to
processes, and exclusive and independent probabilistic choice is also
supported. SMT solving technology, available from the Maude system, is used to
realize the underlying constraint system of SSCC with quantifier-free formulas
over integers and reals. This results in a fully executable real-time symbolic
specification that can be used for quantitative analysis in the form of
statistical model checking. The main features and capabilities of SSCC are
illustrated with examples throughout the paper. This contribution is part of a
larger research effort aimed at making available formal analysis techniques and
tools, mathematically founded on the CCP approach, to the research community.Comment: arXiv admin note: text overlap with arXiv:1805.0743
10161 Abstracts Collection -- Decision Procedures in Software, Hardware and Bioware
From April 19th, 2010 to April 23rd, 2010, the Dagstuhl Seminar 10161
"Decision Procedures in Soft, Hard and Bio-ware"
was held in Schloss Dagstuhl Leibniz Center for Informatics.
During the seminar, several participants presented their current research,
and ongoing work and open problems were discussed. Abstracts of the
presentations given during the seminar as well as links to slides and links to
papers behind the presentations and papers produced as a result
of the seminar are put together in this paper. The first section describes
the seminar topics and goals in general. Links to extended abstracts or
full papers are provided, if available
Light-Weight SMT-based Model Checking
AbstractRecently, the notion of an array-based system has been introduced as an abstraction of infinite state systems (such as mutual exclusion protocols or sorting programs) which allows for model checking of invariant (safety) and recurrence (liveness) properties by Satisfiability Modulo Theories (SMT) techniques. Unfortunately, the use of quantified first-order formulae to describe sets of states makes fix-point checking extremely expensive. In this paper, we show how invariant properties for a sub-class of array-based systems can be model-checked by a backward reachability algorithm where the length of quantifier prefixes is efficiently controlled by suitable heuristics. We also present various refinements of the reachability algorithm that allows it to be easily implemented in a client-server architecture, where a “light-weight” algorithm is the client generating proof obligations for safety and fix-point checks and an SMT solver plays the role of the server discharging the proof obligations. We also report on some encouraging preliminary experiments with a prototype implementation of our approach
Regular Abstractions for Array Systems
Verifying safety and liveness over array systems is a highly challenging
problem. Array systems naturally capture parameterized systems such as
distributed protocols with an unbounded number of processes. Such distributed
protocols often exploit process IDs during their computation, resulting in
array systems whose element values range over an infinite domain. In this
paper, we develop a novel framework for proving safety and liveness over array
systems. The crux of the framework is to overapproximate an array system as a
string rewriting system (i.e. over a finite alphabet) by means of a new
predicate abstraction that exploits the so-called indexed predicates. This
allows us to tap into powerful verification methods for string rewriting
systems that have been heavily developed in the last few decades (e.g. regular
model checking). We demonstrate how our method yields simple, automatically
verifiable proofs of safety and liveness properties for challenging examples,
including Dijkstra's self-stabilizing protocol and the Chang-Roberts leader
election protocol
- …