7986917
Translation Validation: From DC+ 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. 
 
In this paper we demonstrate the feasibility of translation validation for industrial code generators from DC+ -a widely used intermediate format for synchronous languages- to C. We explain the compilation pattern from DC+ to C and advocate new abstraction techniques for a fragment of first order logic as part of the automation of our approach.
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.
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.
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.
209098159
The Code Validation Tool CVT: Automatic Verification of a Compilation Process.
14822655
Translation Validation
41563606
Conceptualizing Semantic Interoperability: A Perspective From the Knowledge Level
Currently, there is a proliferation of database integration approaches in response to the need to achieve semantic interoperability in heterogeneous, distributed and autonomous environments. To date, however, we lack abstract, formal descriptions of the task of semantic interoperation, independent of idiosyncratic implementation details. Such abstract descriptions are needed to aid our understanding of these various complex systems that are being constructed. Therefore, we argue that a knowledge level perspective of interoperable systems is desirable. The knowledge level serves as an abstract specification of what a system should do and facilitates the design and analysis of complex systems. In this paper, we show how an interoperable system, based on the Context Interchange Architecture, may be specified in terms of first-order logic which is an ideal specification language at the knowledge level. This specification represents a theoretical ideal which serves to formalize and communicate the key ideas behind the Context Interchange Approach, unencumbered by the details, limitations and compromises of specific implementations. As such, it provides a rigorous basis for implementing such systems. Similar specifications may also be developed for other models of interoperable systems. As a result, we have a rigorous means of understanding, comparing and analyzing these complex systems.
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.
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.
2677077
Context interchange: new features and formalisms for the intelligent integration of information
The Context Interchange strategy presents a novel perspective for mediated data access in which semantic conflicts among heterogeneous systems are not identified a priori, but are detected and reconciled by a context mediator through comparison of contexts axioms corresponding to the systems engaged in data exchange. In this article, we show that queries formulated on shared views, export schema, and shared “ontologies” can be mediated in the same way using the Context Interchange framework. The proposed framework provides a logic-based object-oriented formalsim for representing and reasoning about data semantics in disparate systems, and has been validated in a prototype implementation providing mediated data access to both traditional and web-based information sources.
5297682
The Camaleon Web Wrapper Engine
The web is rapidly becoming the universal repository of information. A major challenge is the ability to support the effective flow of information among the sources and services on the web and their interconnection with legacy systems that were designed to opera te with traditional relational databases. This paper describes a technology and infrastructure to address these needs, based on th e de ign of a web wrapper engine called Caméléon. Caméléon extracts data from web pages using declarative specification files that defin extraction rules. Caméléon is based on the relational model and designed to work as a relational front-end to web sources. ODBC drivers can be used to send SQL queries to Caméléon. Query results by Caméléon are presented in either XML or HTML table formats. Users can also easily call Caméléon from other applications (e.g. Microsoft Excel by using Caméléon web query file (Caméléon.iqy)). Unlike its predecessor, Grenouille, Caméléon lets users segment web pages and define independent extraction patterns for each attribute. The HTTPClient package used in Caméléon s upport both GET and POST methods and is able to deal with authentication, redirection, and cookie issues when connecting to web pages.