scispace - formally typeset
Search or ask a question
Book

Automated Technology for Verification and Analysis

01 Jan 2004-
TL;DR: This poster presents a probabilistic procedure to characterize the response of the immune system to the presence of foreign substances such as cadmium, which is a natural component of infectious disease.
Abstract: ion Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Pei-Hsin Ho
Citations
More filters
Journal ArticleDOI
TL;DR: This work addresses the problem of automatically synthesizing digital designs from linear-time specifications by considering various classes of specifications that can be synthesized with effort quadratic in the number of states of the reactive system, where effort in symbolic steps is measured.

625 citations


Cites methods from "Automated Technology for Verificati..."

  • ...Within the prosyd project, synthesis techniques are applied to check first whether a set of properties is realizable, and then to automatically produce digital designs of smaller units....

    [...]

Journal ArticleDOI
TL;DR: A survey of MaxSAT algorithms based on iteratively calling a SAT solver and a comprehensive empirical study on non-random benchmarks are conducted, indicating that core-guided MaxS AT algorithms are fairly competitive compared to other approaches.
Abstract: Maximum Satisfiability (MaxSAT) is an optimization version of SAT, and many real world applications can be naturally encoded as such. Solving MaxSAT is an important problem from both a theoretical and a practical point of view. In recent years, there has been considerable interest in developing efficient algorithms and several families of algorithms have been proposed. This paper overviews recent approaches to handle MaxSAT and presents a survey of MaxSAT algorithms based on iteratively calling a SAT solver which are particularly effective to solve problems arising in industrial settings. First, classic algorithms based on iteratively calling a SAT solver and updating a bound are overviewed. Such algorithms are referred to as iterative MaxSAT algorithms. Then, more sophisticated algorithms that additionally take advantage of unsatisfiable cores are described, which are referred to as core-guided MaxSAT algorithms. Core-guided MaxSAT algorithms use the information provided by unsatisfiable cores to relax clauses on demand and to create simpler constraints. Finally, a comprehensive empirical study on non-random benchmarks is conducted, including not only the surveyed algorithms, but also other state-of-the-art MaxSAT solvers. The results indicate that (i) core-guided MaxSAT algorithms in general abort in less instances than classic solvers based on iteratively calling a SAT solver and that (ii) core-guided MaxSAT algorithms are fairly competitive compared to other approaches.

187 citations


Additional excerpts

  • ...Concrete examples include the following domains: Routing problems [127]; different problems of BioInformatics, such as Protein Alignment [120], Haplotyping with Pedigrees [56], Reasoning over Biological Networks[58]; Hardware Debugging, both on Design Debugging [111], as well as on Circuit Debugging [34, 81]; Software Debugging (of C code) [66, 67]; Scheduling [124]; Planning [38, 68, 108, 129]; Course Timetabling [17, 18]; Probabilistic Reasoning [102]; Electronic Markets [112]; Credential-Based interactions as a way to minimize the disclosure of private information [12]; Enumeration of MUSes/MCSes [27, 78, 107]; Software Package Upgrades [13, 15, 16, 80, 123]; Combinatorial Auctions [60]; Quantif ied Boolean Formulas [30]....

    [...]

  • ...Software Debugging (of C code) [66, 67]; Scheduling [124]; Planning [38, 68, 108, 129]; Course Timetabling [17, 18]; Probabilistic Reasoning [102]; Electronic Markets [112]; Credential-Based interactions as a way to minimize the disclosure of private information [12]; Enumeration of MUSes/MCSes [27, 78, 107]; Software Package Upgrades [13, 15, 16, 80, 123]; Combinatorial Auctions [60]; Quantif ied Boolean Formulas [30]....

    [...]

Posted Content
TL;DR: In this paper, the authors investigate the use of fluid approximation techniques in the context of stochastic model checking of CSL formulae and prove the asymptotic correctness of their approach in terms of satisfiability of the CSL and reachability probabilities.
Abstract: In this paper we investigate a potential use of fluid approximation techniques in the context of stochastic model checking of CSL formulae. We focus on properties describing the behaviour of a single agent in a (large) population of agents, exploiting a limit result known also as fast simulation. In particular, we will approximate the behaviour of a single agent with a time-inhomogeneous CTMC which depends on the environment and on the other agents only through the solution of the fluid differential equation. We will prove the asymptotic correctness of our approach in terms of satisfiability of CSL formulae and of reachability probabilities. We will also present a procedure to model check time-inhomogeneous CTMC against CSL formulae.

99 citations

Journal ArticleDOI
TL;DR: This work defines and study the problem of LTL synthesis from libraries of reusable components, and defines two notions of composition: data-flow composition, for which it is proved the problem is undecidable, and control- flow composition, which is proved to be 2EXPTIME-complete.
Abstract: Synthesis is the automated construction of a system from its specification. In the classical temporal synthesis algorithms, it is always assumed the system is “constructed from scratch” rather than “composed” from reusable components. This, of course, rarely happens in real life. In real life, almost every non-trivial commercial system, either in hardware or in software system, relies heavily on using libraries of reusable components. Furthermore, other contexts, such as web-service orchestration, can be modeled as synthesis of a system from a library of components. In this work, we define and study the problem of LTL synthesis from libraries of reusable components. We define two notions of composition: data-flow composition, for which we prove the problem is undecidable, and control-flow composition, for which we prove the problem is 2EXPTIME-complete. As a side benefit, we derive an explicit characterization of the information needed by the synthesizer on the underlying components. This characterization can be used as a specification formalism between component providers and integrators.

73 citations

Journal ArticleDOI
01 Jan 2012
TL;DR: An approach to the analysis and design of power grid dynamic performance based on hybrid systems theory is described, which contributes to synthesis of safe initial states as well as switching conditions in order to satisfy safety specifications in a power grid.
Abstract: In this paper, we describe an approach to the analysis and design of power grid dynamic performance based on hybrid systems theory. Power grid is a large-scale cyber-physical system for transmission of electrical energy. The joint dynamics of physical processes and cyber elements in power grids are typical of a mixture of continuous and discrete behaviors, that is, hybrid dynamics. We address problems on stability that are basic concerns in the performance of current and future power grids with the hybrid dynamics. Measures for stability of power grids are interpreted as safety specifications in hybrid system models and are translated into restrictions on the systems' reachable sets of states. Algorithmic reachability analysis of hybrid systems enables analysis of safe initial states and hence quantitative estimation of stability regions. Also it contributes to synthesis of safe initial states as well as switching conditions in order to satisfy safety specifications in a power grid. We demonstrate the approach for two problems on transient stability of the single machine/infinite bus (SMIB) system and on fault release control of a multimachine power grid.

68 citations


Cites background from "Automated Technology for Verificati..."

  • ...A mathematical notion of trajectories in H is summarized in [15]....

    [...]

References
More filters
Book
01 Jun 1992
TL;DR: Tutorial introduction background the Z language the mathematical tool-kit sequential systems syntax summary and how to use it to solve sequential systems problems.
Abstract: Tutorial introduction background the Z language the mathematical tool-kit sequential systems syntax summary.

3,547 citations


"Automated Technology for Verificati..." refers methods in this paper

  • ...[27] also used real variables to represent infinite state systems....

    [...]

  • ...Using symbolic representations such as BDDs [4] or IDDs [27], this approach has been used to analyse very large models....

    [...]

  • ...This is essentially Lowe’s attack [27]....

    [...]

Book
01 Jan 1996
TL;DR: The Java (TM)Programming Language, Second Edition, is the definitive resource for all serious Java programmers and lets you in on the rationale behind Java's design, direct from the language's creator, as well as the tradeoffs involved in using specific features.
Abstract: From the Publisher: Co-authored by the creator of the Java technology and an experienced object-oriented developer, The Java (TM)Programming Language, Second Edition, is the definitive resource for all serious Java programmers. This book will give you a solid foundation in Java programming language strategies and techniques. It features a concise introduction to the language; detailed descriptions of Java's commands, constructs, and libraries; and numerous real-world examples that show you how to exploit the language's power, portability, and flexibility. You will find in-depth and progressively advanced coverage of classes and objects, interfaces, exception-handling, threads and multitasking, and packages. In addition, the book describes the Java core library packages, including I/O, standard utilities, language types, and system classes. Thoroughly revised from start to finish, this second edition fully integrate, is the definitive resource for all serious Java programmers. This book will give you a solid foundation in Java programming language strategies and techniques. It features a concise introduction to the language; detailed descriptions of Java's commands, constructs, and libraries; and numerous real-world examples that show you how to exploit the language's power, portability, and flexibility. You will find in-depth and progressively advanced coverage of classes and objects, interfaces, exception-handling, threads and multitasking, and packages. In addition, the book describes the Java core library packages, including I/O, standard utilities, language types, and system classes. Thoroughly revised from start to finish, this second edition fully integrates Java 1.1 into both text and examples. This edition includes the changes introduced in Java 1.1, such as nested classes (including anonymous classes), threading issues, character-based streams, object-serialization, documentation comments, new utility classes, plus internationalization and localization. The book lets you in on the rationale behind Java's design, direct from the language's creator, as well as the tradeoffs involved in using specific features. With these insights, you will have the understanding you need to begin developing Java applications and applets.

1,880 citations


"Automated Technology for Verificati..." refers background or methods in this paper

  • ...Others may be used as preprocessing methods for reducing the complexity of models, for instance, we may use cone of influence reduction [1] or program slicing [10] for reducing the complexity of models....

    [...]

  • ...For this logic, equivalence checking of two formulas, or validity checking of a formula has been known to be decidable[2, 1]....

    [...]

  • ...A timed automaton (TA) [1][2][4][37] is an automaton with a finite set of clock variables....

    [...]

  • ...Recently it was shown that SAT can be used, in combination with unfolding [12], for coverability checking of unbounded Petri nets [1]....

    [...]

  • ...There is a growing interest in adopting formal specifications in software development [1][2], but meanwhile the trend is also constrained by the lack of effective, practical techniques for validating and verifying formal specifications [3]....

    [...]

Journal ArticleDOI
TL;DR: A new tool, called Eraser, is described, for dynamically detecting data races in lock-based multithreaded programs, which uses binary rewriting techniques to monitor every shared-monory reference and verify that consistent locking behavior is observed.
Abstract: Multithreaded programming is difficult and error prone. It is easy to make a mistake in synchronization that produces a data race, yet it can be extremely hard to locate this mistake during debugging. This article describes a new tool, called Eraser, for dynamically detecting data races in lock-based multithreaded programs. Eraser uses binary rewriting techniques to monitor every shared-monory reference and verify that consistent locking behavior is observed. We present several case studies, including undergraduate coursework and a multithreaded Web search engine, that demonstrate the effectiveness of this approach.

1,553 citations


"Automated Technology for Verificati..." refers background or methods in this paper

  • ...Furthermore, the failures preorder is strictly coarser than the fair testing preorder, and the two preorders coincide for finite processes [19]....

    [...]

  • ...Such characterisations have been introduced for fair testing in [2,3,19], but they are complicated and hard to relate to traditional characterisations such as failures [10,23]....

    [...]

  • ...The process-algebraic theory of fair testing, which has been developed independently by two groups of researchers in [2, 3] and [19], provides the formal framework needed to characterise conflict-preserving refinements....

    [...]

  • ...The conflict preorder conf is closely related to the fair testing preorder [2, 19]....

    [...]

  • ...Cornell Single Sign-On (CorSSO) [19] is a distributed service for network authentication....

    [...]

Proceedings ArticleDOI
01 Oct 1997
TL;DR: Eraser as mentioned in this paper uses binary rewriting techniques to monitor every shared memory reference and verify that consistent locking behavior is observed in lock-based multi-threaded programs, which can be used to detect data races.
Abstract: Multi-threaded programming is difficult and error prone. It is easy to make a mistake in synchronization that produces a data race, yet it can be extremely hard to locate this mistake during debugging. This paper describes a new tool, called Eraser, for dynamically detecting data races in lock-based multi-threaded programs. Eraser uses binary rewriting techniques to monitor every shared memory reference and verify that consistent locking behavior is observed. We present several case studies, including undergraduate coursework and a multi-threaded Web search engine, that demonstrate the effectiveness of this approach.

1,424 citations

Proceedings ArticleDOI
17 May 2002
TL;DR: The Extended Static Checker for Java (ESC/Java) is introduced, an experimental compile-time program checker that finds common programming errors and provides programmers with a simple annotation language with which programmer design decisions can be expressed formally.
Abstract: Software development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. The checker is powered by verification-condition generation and automatic theorem-proving techniques. It provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. ESC/Java examines the annotated software and warns of inconsistencies between the design decisions recorded in the annotations and the actual code, and also warns of potential runtime errors in the code. This paper gives an overview of the checker architecture and annotation language and describes our experience applying the checker to tens of thousands of lines of Java programs.

1,357 citations


"Automated Technology for Verificati..." refers background or methods in this paper

  • ...Web Service Analysis Tool (WSAT) [8,12] verifies LTL properties of conversations 10 T. Bultan, X. Fu, and J. Su and checks sufficient conditions for realizability and synchronizability....

    [...]

  • ...However, it is unclear how to apply the same technique in BDD [12], DBM [21] or CRD [35]....

    [...]

  • ...The spi calculus[12] is derived from the π-calculus[15]....

    [...]

  • ...This variant of the spi calculus uses recursion rather than replication as found in [12]....

    [...]

  • ...This protocol has also been used in different occasions to show the use of model checking strategies [7] and other methods [12] for improving such protocols....

    [...]