Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where David Cyrluk is active.

Publication


Featured researches published by David Cyrluk.


TPCD '94 Proceedings of the Second International Conference on Theorem Provers in Circuit Design - Theory, Practice and Experience | 1994

Effective Theorem Proving for Hardware Verification

David Cyrluk; S. Rajan; Natarajan Shankar; Mandayam K. Srivas

The attractiveness of using theorem provers for system design verification lies in their generality. The major practical challenge confronting theorem proving technology is in combining this generality with an acceptable degree of automation. We describe an approach for enhancing the effectiveness of theorem provers for hardware verification through the use of efficient automatic procedures for rewriting, arithmetic and equality reasoning, and an off-the-shelf BDD-based propo-sitional simplifier. These automatic procedures can be combined into general-purpose proof strategies that can efficiently automate a number of proofs including those of hardware correctness. The inference procedures and proof strategies have been implemented in the PVS verification system. They are applied to several examples including an N-bit adder, the Saxe pipelined processor, and the benchmark Tamarack microprocessor design. These examples illustrate the basic design philosophy underlying PVS where powerful and efficient low-level inferences are employed within high-level user-defined proof strategies. This approach is contrasted with approaches based on tactics or batch-oriented theorem proving.


computer aided verification | 1997

An Efficient Decision Procedure for the Theory of Fixed-Sized Bit-Vectors

David Cyrluk; M. Oliver Möller; Harald Rueß

In this paper we describe a decision procedure for the core theory of fixed-sized bit-vectors with extraction and composition that can readily be integrated into Shostaks procedure for deciding combinations of theories. Inputs to the solver are unquantified bit-vector equations t=u and the algorithm returns true if t=u is valid in the bit-vector theory, false if t=u is unsatisfiable, and a system of solved equations otherwise. The time complexity of the solver is \(\mathcal{O}\left( {\left| t \right| \cdot log{\text{ }}n + n^2 } \right)\), where t is the length of the bit-vector term t and n denotes the number of bits on either side of the equation. Then, the solver for the core bit-vector theory is extended to handle other bit-vector operations like bitwise logical operations, shifting, and arithmetic interpretations of bit-vectors. We develop a BDD-like data-structure called bit-vector BDDs to represent bit-vectors, various operations on bit-vectors, and a solver on bit-vector BDDs.


conference on automated deduction | 1996

On Shostak's Decision Procedure for Combinations of Theories

David Cyrluk; Patrick Lincoln; Natarajan Shankar

Decision procedures are increasingly being employed for deciding or simplifying propositional combinations of ground equalities involving uninterpreted function symbols, linear arithmetic, arrays, and other theories. Two approaches for constructing decision procedures for combinations of ground theories were pioneered in the late seventies. In the approach of Nelson and Oppen, decision procedures for two disjoint theories are combined by introducing variables to name subterms and iteratively propagating any deduced equalities between variables from one theory to another. Shostak employs a different approach that works far more efficiently in practice. He uses an optimized implementation of the congruence closure procedure for ground equality over uninterpreted function symbols to combine theories that are canonizable and algebraically solvable. Many useful theories have these properties. Shostaks algorithm is subtle and complex and his description of this procedure is lacking in rigor. We present, for the first time, a careful development and clarification of Shostaks procedure that corrects several mistakes in Shostaks original presentation. Our analysis serves as a useful basis for the implementation, extension, and further optimization of Shostaks decision procedure.


computer aided verification | 1994

Ground Temporal Logic: A Logic for Hardware Verification

David Cyrluk; Paliath Narendran

We present a new temporal logic, GTL, appropriate for specifying properties of hardware at the register transfer level. We argue that this logic represents an improvement over model checking for some natural hardware verification problems. We show that the validity problem for this logic is π 1 1 complete. We then identify a fragment of the logic that is decidable. We show that in this fragment we are still able to encode many interesting problems, including the correctness of pipelined microprocessors.


formal methods in computer aided design | 1996

Inverting the Abstraction Mapping: A Methodology for Hardware Verification

David Cyrluk

Abstraction mappings have become a standard approach to verifying the correctness of processors. When used in a straightforward manner this approach suffers from generating extremely large intermediate terms that have to be simplified.


international conference on formal engineering methods | 1997

Systematic formal verification of interpreters

David Cyrluk; John Rushby; Mandayam K. Srivas

Formal methods have gained acceptance in the hardware field through a pragmatic approach that has succeeded in providing systematic, scalable, highly automated, and cost effective treatments for certain stereotypical problems of practical importance. By identifying stereotypical problems, the effort required to develop effective formal methods has been amortized over many applications. We suggest that formal methods can achieve similar industrial success in selected software applications by following the same principles. As an illustration, we examine approaches to the stereotypical problem of interpreter correctness in the presence of timing differences between the specification and implementation interpreters. In hardware, this corresponds to the problem of verifying microprogrammed, pipelined, or superscalar processors, but it has wider applications to any system-hardware or software-that can be considered as an interpreter.


international conference on computer design | 1995

Theorem proving: not an esoteric diversion, but the unifying framework for industrial verification

David Cyrluk; Mandayam K. Srivas

The effectiveness of hardware verification techniques has increased markedly in the past decade. As hardware verification techniques become increasingly powerful the idea of transitioning verification technology to industry can be taken seriously. Nevertheless, powerful decision procedures that can completely automate the verification of certain types of hardware, whether they are BDD based model-checkers or automatic microprocessor verification tools, cannot be adequate on their own for industrial hardware verification. However, a high-level, general-purpose theorem prover with specific capabilities can provide an overall framework in which these tools can be embedded and in which they can then be effectively used for industrial hardware verification.


Archive | 1993

Microprocessor Verification in PVS - A Methodology and Simple Example

David Cyrluk


Formal Hardware Verification - Methods and Systems in Comparison | 1997

Hardware Verification Using PVS

Mandayam K. Srivas; Harald Rueß; David Cyrluk


computer aided verification | 1997

An Efficient Procedure for the Theory of Fixed-Size Bitvectors

David Cyrluk; Oliver Moller; Harald Ruess

Collaboration


Dive into the David Cyrluk's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge