MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Translation validation (1998) [71 citations — 10 self]

Download:
Download as a PDF | Download as a PS
by A. Pnueli, M. Siegel, E. Singerman
http://www.csl.sri.com/~singermn/tv.ps
Add To MetaCart

Abstract:

Abstract. We present the notion of translation validation as a new approach 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. Several ingredients are necessary to set up the-- fully automatic-- translation validation process, among which are: 1. A common semantic framework for the representation of the source code and the generated target code. 2. A formalization of the notion of "correct implementation " as a refinement relation. 3. A syntactic simulation-based proof method which allows to automatically verify that one model of the semantic framework, representing the produced target code, correctly implements another model which represents the source. These, and other ingredients are elaborated in this paper, in which we illustrate the new approach in a most challenging case. We consider a translation (compilation) from the synchronous multi-clock data-flow language Signal to asynchronous (sequential) C-code. 1

Citations

1713 Statecharts: A Visual Formalism for Complex Systems – Harel - 1987
1345 A.: The Temporal Logic of Reactive and Concurrent Systems – Manna, Pnueli - 1992
811 Proof-Carrying Code – Necula - 1997
737 The temporal logic of actions – Lamport - 1994
368 The Existence of Refinement Mappings – Abadi, Lamport - 1991
361 Safe kernel extensions without run-time checking – Necula, Lee - 1996
295 Temporal Verification of Reactive Systems: Safety – Manna, Pnueli - 1995
189 Plaice, “LUSTRE: A declarative language for programming synchronous systems – Caspi, Pilaud, et al. - 1987
138 Parallel program design – Chandy, Misra - 1988
41 The synchronous programming language ESTEREL: design, semantics, implementation – Berry, Gonthier - 1988
39 A platform for combining deductive with algorithmic verification – Pnueli, Shahar - 1996
32 Simulations between specifications of distributed systems – Jonsson - 1991
18 Temporal verification of simulation and refinement – Kesten, Manna, et al. - 1994
14 A Provably Correct Embedded Verifier for the Certification of Safety Critical Software – Cimatti, Giunchiglia, et al. - 1997
4 Forward and backward simulations for timing based systems – Lynch, Vaandrager - 1991
2 Synchronous programming with event and relations: The SIGNAL language and its semantics – Benviniste, Guernic, et al. - 1991
2 Fair synchronous transition systems and their liveness proofs – Pnueli, Shankar, et al. - 1998