209098159
The Code Validation Tool CVT: Automatic Verification of a Compilation Process.
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.
14822655
Translation Validation
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.
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.
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.
38159603
The COntext INterchange (COIN) Project: Data Extraction and Interpretation from Semi-Structured Web Sources
26524606
Automatic Rule Derivation For Semantic Query Optimization
30791016
Extending the Limits of Sequentially Phased Reasoning
Verification via abstraction is the topic of concluding correctness of a complicated program from correctness of an abstraction of this program. Principles for sequentially phased reasoning are examples of verification via abstraction. They use permutation equivalences to abstract concurrent programs which logically work in phases to considerably simpler variants which perform these phases sequentially. It is shown in this paper that there are classes of concurrent programs, such as self-stabilizing ones, which logically work in phases but cannot be abstracted to a sequentialized version using permutation equivalence. A new class of so-called Ω-equivalences is defined which generalizes permutation equivalence and stutter equivalence. It is proved that both equivalences are indeed special cases of Ω-equivalences. A verification strategy based on Ω-equivalences is formulated and compared with existing approaches for sequentially phased reasoning. The strategy is applied to a self-stabilizing coloring program that can neither be abstracted by permutation nor by stutter equivalences to a sequentialized version.
8004380
A Well-Posed Numerical Method to Track Isolated Conformal Map Singularities in Hele-Shaw Flow
We present a new numerical method for calculating an evolving 2D Hele-Shaw interface when surface tension effects are neglected. In the case where the flow is directed from the less viscous fluid into the more viscous fluid, the motion of the interface is ill-posed; small deviations in the initial condition will produce significant changes in the ensuing motion. This situation is disastrous for numerical computation, as small roundoff errors can quickly lead to large inaccuracies in the computed solution. Our method of computation is most easily formulated using a conformal map from the fluid domain into a unit disk. The method relies on analytically continuing the initial data and equations of motion into the region exterior to the disk, where the evolution problem becomes well-posed. The equations are then numerically solved in the extended domain. The presence of singularities in the conformal map outside of the disk introduces specific structures along the fluid interface. Our method can explicitly track the location of isolated pole and branch point singularities, allowing us to draw connections between the development of interfacial patterns and the motion of singularities as they approach the unit disk. In particular, we are able to relate physical features such as finger shape, side-branch formation, and competition between fingers to the nature and location of the singularities. The usefulness of this method in studying the formation of topological singularities (self intersections of the interface) is also pointed out.
6836947
Deductive verification of stabilizing systems