905 research outputs found
A Metric Encoding for Bounded Model Checking (extended version)
In Bounded Model Checking both the system model and the checked property are
translated into a Boolean formula to be analyzed by a SAT-solver. We introduce
a new encoding technique which is particularly optimized for managing
quantitative future and past metric temporal operators, typically found in
properties of hard real time systems. The encoding is simple and intuitive in
principle, but it is made more complex by the presence, typical of the Bounded
Model Checking technique, of backward and forward loops used to represent an
ultimately periodic infinite domain by a finite structure. We report and
comment on the new encoding technique and on an extensive set of experiments
carried out to assess its feasibility and effectiveness
Boolean Satisfiability in Electronic Design Automation
Boolean Satisfiability (SAT) is often used as the underlying model for a significant and increasing number of applications in Electronic Design Automation (EDA) as well as in many other fields of Computer Science and Engineering. In recent years, new and efficient algorithms for SAT have been developed, allowing much larger problem instances to be solved. SAT âpackagesâ are currently expected to have an impact on EDA applications similar to that of BDD packages since their introduction more than a decade ago. This tutorial paper is aimed at introducing the EDA professional to the Boolean satisfiability problem. Specifically, we highlight the use of SAT models to formulate a number of EDA problems in such diverse areas as test pattern generation, circuit delay computation, logic optimization, combinational equivalence checking, bounded model checking and functional test vector generation, among others. In addition, we provide an overview of the algorithmic techniques commonly used for solving SAT, including those that have seen widespread use in specific EDA applications. We categorize these algorithmic techniques, indicating which have been shown to be best suited for which tasks
A Decidable Timeout based Extension of Propositional Linear Temporal Logic
We develop a timeout based extension of propositional linear temporal logic
(which we call TLTL) to specify timing properties of timeout based models of
real time systems. TLTL formulas explicitly refer to a running global clock
together with static timing variables as well as a dynamic variable abstracting
the timeout behavior. We extend LTL with the capability to express timeout
constraints. From the expressiveness view point, TLTL is not comparable with
important known clock based real-time logics including TPTL, XCTL, and MTL,
i.e., TLTL can specify certain properties, which cannot be specified in these
logics (also vice-versa). We define a corresponding timeout tableau for
satisfiability checking of the TLTL formulas. Also a model checking algorithm
over timeout Kripke structure is presented. Further we prove that the validity
checking for such an extended logic remains PSPACE-complete even in the
presence of timeout constraints and infinite state models. Under discrete time
semantics, with bounded timeout increments, the model-checking problem that if
a TLTL-formula holds in a timeout Kripke structure is also PSPACE complete. We
further prove that when TLTL is interpreted over discrete time, it can be
embedded in the monadic second order logic with time, and when TLTL is
interpreted over dense time without the condition of non-zenoness, the
resulting logic becomes -complete
Software Model Checking with Explicit Scheduler and Symbolic Threads
In many practical application domains, the software is organized into a set
of threads, whose activation is exclusive and controlled by a cooperative
scheduling policy: threads execute, without any interruption, until they either
terminate or yield the control explicitly to the scheduler. The formal
verification of such software poses significant challenges. On the one side,
each thread may have infinite state space, and might call for abstraction. On
the other side, the scheduling policy is often important for correctness, and
an approach based on abstracting the scheduler may result in loss of precision
and false positives. Unfortunately, the translation of the problem into a
purely sequential software model checking problem turns out to be highly
inefficient for the available technologies. We propose a software model
checking technique that exploits the intrinsic structure of these programs.
Each thread is translated into a separate sequential program and explored
symbolically with lazy abstraction, while the overall verification is
orchestrated by the direct execution of the scheduler. The approach is
optimized by filtering the exploration of the scheduler with the integration of
partial-order reduction. The technique, called ESST (Explicit Scheduler,
Symbolic Threads) has been implemented and experimentally evaluated on a
significant set of benchmarks. The results demonstrate that ESST technique is
way more effective than software model checking applied to the sequentialized
programs, and that partial-order reduction can lead to further performance
improvements.Comment: 40 pages, 10 figures, accepted for publication in journal of logical
methods in computer scienc
On the decidability and complexity of Metric Temporal Logic over finite words
Metric Temporal Logic (MTL) is a prominent specification formalism for
real-time systems. In this paper, we show that the satisfiability problem for
MTL over finite timed words is decidable, with non-primitive recursive
complexity. We also consider the model-checking problem for MTL: whether all
words accepted by a given Alur-Dill timed automaton satisfy a given MTL
formula. We show that this problem is decidable over finite words. Over
infinite words, we show that model checking the safety fragment of MTL--which
includes invariance and time-bounded response properties--is also decidable.
These results are quite surprising in that they contradict various claims to
the contrary that have appeared in the literature
- âŠ