15658777
Translation Validation: From SIGNAL to C
Translation validation is an alternative to the verification of translators (compilers, code generators). Rather than proving in advance that the compiler always produces a target code which correctly implements the source code (compiler verification), each individual translation (i.e. a run of the compiler) is followed by a validation phase which verifies that the target code produced on this run correctly implements the submitted source program. In order to be a practical alternative to compiler verification, a key feature of this validation is its full automation. 
 
Since the validation process attempts to "unravel" the transformation effected by the translators, its task becomes increasingly more difficult (and necessary) with the increase of sophistication and variety of the optimizations methods employed by the translator. In this paper we address the practicability of translation validation for highly optimizing, industrial code generators from Signal, a widely used synchronous language, to C. We introduce new abstraction techniques as part of the automation of our approach.
9192328
Translation Validation for Synchronous Languages
Translation validations an alternative to the verification of translators (compilers, code generators). Rather than proving in advance that, the compiler always produces a target code which correctly implements the source code (compiler verification), each individual translation (i.e. a run of the compiler) is followed by a validation phase which verifies that the target code producted on this run correctly implements the submitted source program. In order to be a practical alternative to compiler verification, a key feature of this validation is its full automation.
15882359
Deciding Equality Formulas by Small Domains Instantiations
We introduce an efficient decision procedure for the theory of equality based on finite instantiations. When using the finite instantiations method, it is a common practice to take a range of [1..n] (where n is the number of input non-Boolean variables) as the range for all non-Boolean variables, resulting in a state-space of nn. Although various attempts to minimize this range were made, typically they either required various restrictions on the investigated formulas or were not very effective. In many cases, the nn state-space cannot be handled by BDD-based tools within a reasonable amount of time. In this paper we show that significantly smaller domains can be algorithmically found, by analyzing the structure of the formula. We also show an upper bound for the state-space based on this analysis. This method enabled us to verify formulas containing hundreds of integer and floating point variables.
122171625
The small model property: how small can it be?
Efficient decision procedures for equality logic (quantifier-free predicate calculus + the equality sign) are of major importance when proving logical equivalence between systems. We introduce an efficient decision procedure for the theory of equality based on finite instantiations. The main idea is to analyze the structure of the formula and compute accordingly a small domain to each variable such that the formula is satisfiable iff it can be satisfied over these domains. We show how the problem of finding these small domains can be reduced to an interesting graph theoretic problem. This method enabled us to verify formulas containing hundreds of integer and floating point variables that could not be efficiently handled with previously known techniques.
14822655
Translation Validation
33236770
Formal Verification of Stabilizing Systems
This paper links too formerly rather disjoint areas: formal verification and stabilization. Stabilization is a vitally emerging paradigm in fault tolerant distributed computing; formal verification investigates mathematically rigorous techniques to reason about systems.
38159603
The COntext INterchange (COIN) Project: Data Extraction and Interpretation from Semi-Structured Web Sources
5683523
A Metadata Approach to Resolving Semantic Conflicts
In this paper we describe a rule-based approach to semantic specification that can be used to establish semantic agreement between a source and receiver. Query processing techniques use these specifications along with conversion routines and query modification to guarantee correct data semantics. This work also examines the effect of changing data semantics. These changes may occur at the source of the data or they may be changes in the specifications of the dat,a semantics for the application, Methods are described for detecting these changes and for determining if the database can continue to supply meaningful data to the application. These methods for semanlic reconcilia2ion are necessary for determining logical connectivity between a data source (database) and a data receiver (application). Though described in terms of the source-receiver model, these techniques can also be used for semantic reconciliation and schema integration for multidatabase systems. Keywords[data dictionaries, heterogeneous databases, metadata, query modification, schema integration, semantic conflicts]
1004881
Correctness conditions for highly available replicated databases
Abstract : Correctness conditions are given which describe some of the properties exhibited by highly available distributed database systems such as the SHARD (System for Highly Available Replicated Data) system currently being developed at Computer Corporation of America. This system allows a database application to continue operation in the face of communication failures, including network partitions. A penalty is paid for this extra availability: the usual correctness conditions, serializability of transactions and preservation of integrity constraints, are not guaranteed. However, it is still possible to make interesting claims about the behavior of the system. The kinds of claims which can be proved include bounds on the costs of violation of integrity constraints, and fairness guarantees. In contrast to serializability's all-or-nothing character, this work has a continuous flavor: small changes in available information lead to small perturbations in correctness conditions. This work is novel, because there has been very little previous success in stating interesting properties which are guaranteed by nonserializable systems. (Author)
1155385
Implementing statecharts in PROMELA/SPIN
We translate statecharts into PROMELA, the input language of the SPIN verification system, using extended hierarchical automata as an intermediate format. We discuss two possible frameworks for this translation, leading to either sequential or parallel code. We show that in this context the sequential code can be verified more efficiently than the parallel code. We conclude with a discussion of an application of the resulting translator to a well-known case study, which demonstrates the feasibility of linear temporal logic model checking of statecharts.