Catálogo de publicaciones - libros

Compartir en
redes sociales


Computer Aided Verification: 17th International Conference, CAV 2005, Edinburgh, Scotland, UK, July 6-10, 2005, Proceedings

Kousha Etessami ; Sriram K. Rajamani (eds.)

En conferencia: 17º International Conference on Computer Aided Verification (CAV) . Edinburgh, United Kingdom . July 6, 2005 - July 10, 2005

Resumen/Descripción – provisto por la editorial

No disponible.

Palabras clave – provistas por la editorial

Logics and Meanings of Programs; Software Engineering; Mathematical Logic and Formal Languages; Artificial Intelligence (incl. Robotics); Logic Design

Disponibilidad
Institución detectada Año de publicación Navegá Descargá Solicitá
No detectada 2005 SpringerLink

Información

Tipo de recurso:

libros

ISBN impreso

978-3-540-27231-1

ISBN electrónico

978-3-540-31686-2

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación

Información sobre derechos de publicación

© Springer-Verlag Berlin Heidelberg 2005

Tabla de contenidos

Abstraction Refinement for Bounded Model Checking

Anubhav Gupta; Ofer Strichman

Counterexample-Guided Abstraction Refinement () techniques have been very successful in model checking large systems. While most previous work has focused on model checking, this paper presents a Counterexample-Guided abstraction refinement technique for Bounded Model Checking (). Our technique makes much faster, as indicated by our experiments. is also used for generating refinements in the Proof-Based Refinement () framework. We show that our technique unifies and into an abstraction-refinement framework that can balance the model checking and refinement efforts.

- Bounded Model Checking | Pp. 112-124

Symmetry Reduction in SAT-Based Model Checking

Daijue Tang; Sharad Malik; Aarti Gupta; C. Norris Ip

The major challenge facing model checking is the state explosion problem. One technique to alleviate this is to apply symmetry reduction; this exploits the fact that many sequential systems consist of interchangeable components, and thus it may suffice to search a reduced version of the symmetric state space. Symmetry reduction has been shown to be an effective technique in both explicit and symbolic model checking with Binary Decision Diagrams (BDDs). In recent years, SAT-based model checking has been shown to be a promising alternative to BDD-based model checking. In this paper, we describe a symmetry reduction algorithm for SAT-based unbounded model checking (UMC) using circuit cofactoring. Our method differs from the previous efforts in using symmetry mainly in that we do not require converting any set of states to its representative or orbit set of states except for the set of initial states. This leads to significant simplicity in the implementation of symmetry reduction in model checking. Experimental results show that using our symmetry reduction approach improves the performance of SAT-based UMC due to both the reduced state space and simplification in the resulting SAT problems.

- Bounded Model Checking | Pp. 125-138

Saturn: A SAT-Based Tool for Bug Detection

Yichen Xie; Alex Aiken

is a boolean satisfiability (SAT) based framework for static bug detection. targets software written in C and is designed to support a wide range of property checkers.

- Tool Papers I | Pp. 139-143

JVer: A Java Verifier

Ajay Chander; David Espinosa; Nayeem Islam; Peter Lee; George Necula

We describe JVer, a tool for verifying Java bytecode programs annotated with pre and post conditions in the style of Hoare and Dijkstra. JVer is similar to ESC/Java [1], except that: (1) it produces verification conditions for Java bytecode, not Java source; (2) it is sound, because it makes conservative assumptions about aliasing and heap modification; (3) it produces verification conditions directly using symbolic simulation, without an intermediate guarded-command language; (4) by restricting predicates to conjunctions of relations between integers, it produces verification conditions that are more efficient to verify than general first-order formulae; (5) it generates independently verifiable proofs using the Kettle proof-generating theorem prover [2].

- Tool Papers I | Pp. 144-147

Building Your Own Software Model Checker Using the Bogor Extensible Model Checking Framework

Matthew B. Dwyer; John Hatcliff; Matthew Hoosier; Robby

Model checking has proven to be an effective technology for verification and debugging in hardware and more recently in software domains. We believe that recent trends in both the requirements for software systems and the processes by which systems are developed suggest that domain-specific model checking engines may be more effective than general purpose model checking tools. To overcome limitations of existing tools which tend to be monolithic and non-extensible, we have developed an extensible and customizable model checking framework called Bogor. In this tool paper, we summarize (a) Bogor’s direct support for modeling object-oriented designs and implementations, (b) its facilities for extending and customizing its modeling language and algorithms to create domain-specific model checking engines, and (c) pedagogical materials that we have developed to describe the construction of model checking tools built on top of the Bogor infrastructure.

- Tool Papers I | Pp. 148-152

Wolf – Bug Hunter for Concurrent Software Using Formal Methods

Sharon Barner; Ziv Glazberg; Ishai Rabinovitz

Wolf is a “push-button” model checker for concurrent C programs developed in IBM Haifa. It automatically generates both the model and the specification directly from the C code. Currently, Wolf uses BDD-based symbolic methods integrated with a guided search framework. According to our experiments, these methods complement explicit exploration methods of software model checking.

- Tool Papers I | Pp. 153-157

Model Checking x86 Executables with CodeSurfer/x86 and WPDS++

G. Balakrishnan; T. Reps; N. Kidd; A. Lal; J. Lim; D. Melski; R. Gruian; S. Yong; C. -H. Chen; T. Teitelbaum

This paper presents a toolset for model checking x86 executables. The members of the toolset are , , and the . CodeSurfer/x86 is used to extract a model from an executable in the form of a . WPDS++ is a library for answering generalized reachability queries on weighted pushdown systems. The Path Inspector is a software model checker built on top of CodeSurfer and WPDS++ that supports safety queries about the program’s possible control configurations.

- Tool Papers I | Pp. 158-163

The ComFoRT Reasoning Framework

Sagar Chaki; James Ivers; Natasha Sharygina; Kurt Wallnau

Model checking is a promising technology for verifying critical behavior of software. However, software model checking is hamstrung by scalability issues and is difficult for software engineers to use directly. The second challenge arises from the gap between model checking concepts and notations, and those used by engineers to develop large-scale systems. [15] addresses both of these challenges. It provides a model checker, , that implements a suite of complementary complexity management techniques to address state space explosion. But is more than a model checker. The includes additional support for building systems in a particular component-based idiom. This addresses transition issues.

- Tool Papers I | Pp. 164-169

Formal Verification of Pentium ® 4 Components with Symbolic Simulation and Inductive Invariants

Roope Kaivola

We describe a practical methodology for large-scale formal verification of control-intensive industrial circuits. It combines symbolic simulation with human-generated inductive invariants, and a proof tool for verifying implications between constraint lists. The approach has emerged from extensive experiences in the formal verification of key parts of the Intel IA-32 Pentium ® 4 microprocessor designs. We discuss it the context of two case studies: Pentium 4 register renaming mechanism and BUS recycle logic.

- Verification of Hardware, Microcode, and Synchronous Systems | Pp. 170-184

Formal Verification of Backward Compatibility of Microcode

Tamarah Arons; Elad Elster; Limor Fix; Sela Mador-Haim; Michael Mishaeli; Jonathan Shalev; Eli Singerman; Andreas Tiemeyer; Moshe Y. Vardi; Lenore D. Zuck

Microcode is used to facilitate new technologies in Intel CPU designs. A critical requirement is that new designs be backwardly compatible with legacy code when new functionalities are disabled. Several features distinguish microcode from other software systems, such as: interaction with the external environment, sensitivity to exceptions, and the complexity of instructions. This work describes the ideas behind ,, a technology for fully automated formal verification of functional backward compatibility of microcode.

- Verification of Hardware, Microcode, and Synchronous Systems | Pp. 185-198