Observational equivalence and compiler correctness:
Abstract: "In this work, we study the problem of giving proofs of compiler correctness in the framework of observational equivalence [ST87] and correspondences [Sch87, Sch90]. The starting point for correctness is a formal semantics of the programming language given in a form of Structural Oper...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Edinburgh
1992
|
Schriftenreihe: | Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series
240 |
Schlagworte: | |
Zusammenfassung: | Abstract: "In this work, we study the problem of giving proofs of compiler correctness in the framework of observational equivalence [ST87] and correspondences [Sch87, Sch90]. The starting point for correctness is a formal semantics of the programming language given in a form of Structural Operational Semantics [Plo81] wich [sic] we call Relational Semantics [dS92, Chapter 2]. Intuitively, the problem of compiler correctness consists in establishing whether a compiler for a programming language generates 'correct machine code' for programs in the language. The key aspect of this problem is to define a natural and formal meaning for 'correct machine code'. We start by introducing Relational Semantics We then define an equivalence relation between Relational Semantics based on the notion of observational equivalence [ST87], and extend the proof method of correspondences [Sch87, Sch90] to a proof method for observational equivalence of Relational Semantics, which we call Model Correspondence. The main theoretical result of this work shows that Model Correspondence is sound and complete with respect to observational equivalence and therefore can be used as a proof method. Finally, we use observational equivalence to establish the equivalence between a (standard) semantics of the programming language and another semantics defined using a compilation of the language into some machine code This notion of equivalence defines a criterion for compiler correctness and we shall argue why this is a suitable criterion. We also show a proof of compiler correctness that illustrates the use of Model Correspondence. |
Beschreibung: | 42 S. |
Internformat
MARC
LEADER | 00000nam a2200000 cb4500 | ||
---|---|---|---|
001 | BV009691248 | ||
003 | DE-604 | ||
005 | 19961025 | ||
007 | t | ||
008 | 940707s1992 |||| 00||| eng d | ||
035 | |a (OCoLC)29203427 | ||
035 | |a (DE-599)BVBBV009691248 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
084 | |a DAT 383f |2 stub | ||
100 | 1 | |a Da Silva, Fabio Q. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Observational equivalence and compiler correctness |
264 | 1 | |a Edinburgh |c 1992 | |
300 | |a 42 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 1 | |a Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series |v 240 | |
520 | 3 | |a Abstract: "In this work, we study the problem of giving proofs of compiler correctness in the framework of observational equivalence [ST87] and correspondences [Sch87, Sch90]. The starting point for correctness is a formal semantics of the programming language given in a form of Structural Operational Semantics [Plo81] wich [sic] we call Relational Semantics [dS92, Chapter 2]. Intuitively, the problem of compiler correctness consists in establishing whether a compiler for a programming language generates 'correct machine code' for programs in the language. The key aspect of this problem is to define a natural and formal meaning for 'correct machine code'. We start by introducing Relational Semantics | |
520 | 3 | |a We then define an equivalence relation between Relational Semantics based on the notion of observational equivalence [ST87], and extend the proof method of correspondences [Sch87, Sch90] to a proof method for observational equivalence of Relational Semantics, which we call Model Correspondence. The main theoretical result of this work shows that Model Correspondence is sound and complete with respect to observational equivalence and therefore can be used as a proof method. Finally, we use observational equivalence to establish the equivalence between a (standard) semantics of the programming language and another semantics defined using a compilation of the language into some machine code | |
520 | 3 | |a This notion of equivalence defines a criterion for compiler correctness and we shall argue why this is a suitable criterion. We also show a proof of compiler correctness that illustrates the use of Model Correspondence. | |
650 | 7 | |a Computer software |2 sigle | |
650 | 4 | |a Compilers (Computer programs) | |
830 | 0 | |a Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series |v 240 |w (DE-604)BV008930032 |9 240 | |
999 | |a oai:aleph.bib-bvb.de:BVB01-006409132 |
Datensatz im Suchindex
_version_ | 1804124036285857792 |
---|---|
any_adam_object | |
author | Da Silva, Fabio Q. |
author_facet | Da Silva, Fabio Q. |
author_role | aut |
author_sort | Da Silva, Fabio Q. |
author_variant | s f q d sfq sfqd |
building | Verbundindex |
bvnumber | BV009691248 |
classification_tum | DAT 383f |
ctrlnum | (OCoLC)29203427 (DE-599)BVBBV009691248 |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02626nam a2200325 cb4500</leader><controlfield tag="001">BV009691248</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">19961025 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">940707s1992 |||| 00||| eng d</controlfield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)29203427</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV009691248</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 383f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Da Silva, Fabio Q.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Observational equivalence and compiler correctness</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Edinburgh</subfield><subfield code="c">1992</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">42 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series</subfield><subfield code="v">240</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Abstract: "In this work, we study the problem of giving proofs of compiler correctness in the framework of observational equivalence [ST87] and correspondences [Sch87, Sch90]. The starting point for correctness is a formal semantics of the programming language given in a form of Structural Operational Semantics [Plo81] wich [sic] we call Relational Semantics [dS92, Chapter 2]. Intuitively, the problem of compiler correctness consists in establishing whether a compiler for a programming language generates 'correct machine code' for programs in the language. The key aspect of this problem is to define a natural and formal meaning for 'correct machine code'. We start by introducing Relational Semantics</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">We then define an equivalence relation between Relational Semantics based on the notion of observational equivalence [ST87], and extend the proof method of correspondences [Sch87, Sch90] to a proof method for observational equivalence of Relational Semantics, which we call Model Correspondence. The main theoretical result of this work shows that Model Correspondence is sound and complete with respect to observational equivalence and therefore can be used as a proof method. Finally, we use observational equivalence to establish the equivalence between a (standard) semantics of the programming language and another semantics defined using a compilation of the language into some machine code</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">This notion of equivalence defines a criterion for compiler correctness and we shall argue why this is a suitable criterion. We also show a proof of compiler correctness that illustrates the use of Model Correspondence.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computer software</subfield><subfield code="2">sigle</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Compilers (Computer programs)</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series</subfield><subfield code="v">240</subfield><subfield code="w">(DE-604)BV008930032</subfield><subfield code="9">240</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-006409132</subfield></datafield></record></collection> |
id | DE-604.BV009691248 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T17:39:16Z |
institution | BVB |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-006409132 |
oclc_num | 29203427 |
open_access_boolean | |
physical | 42 S. |
publishDate | 1992 |
publishDateSearch | 1992 |
publishDateSort | 1992 |
record_format | marc |
series | Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series |
series2 | Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series |
spelling | Da Silva, Fabio Q. Verfasser aut Observational equivalence and compiler correctness Edinburgh 1992 42 S. txt rdacontent n rdamedia nc rdacarrier Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series 240 Abstract: "In this work, we study the problem of giving proofs of compiler correctness in the framework of observational equivalence [ST87] and correspondences [Sch87, Sch90]. The starting point for correctness is a formal semantics of the programming language given in a form of Structural Operational Semantics [Plo81] wich [sic] we call Relational Semantics [dS92, Chapter 2]. Intuitively, the problem of compiler correctness consists in establishing whether a compiler for a programming language generates 'correct machine code' for programs in the language. The key aspect of this problem is to define a natural and formal meaning for 'correct machine code'. We start by introducing Relational Semantics We then define an equivalence relation between Relational Semantics based on the notion of observational equivalence [ST87], and extend the proof method of correspondences [Sch87, Sch90] to a proof method for observational equivalence of Relational Semantics, which we call Model Correspondence. The main theoretical result of this work shows that Model Correspondence is sound and complete with respect to observational equivalence and therefore can be used as a proof method. Finally, we use observational equivalence to establish the equivalence between a (standard) semantics of the programming language and another semantics defined using a compilation of the language into some machine code This notion of equivalence defines a criterion for compiler correctness and we shall argue why this is a suitable criterion. We also show a proof of compiler correctness that illustrates the use of Model Correspondence. Computer software sigle Compilers (Computer programs) Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series 240 (DE-604)BV008930032 240 |
spellingShingle | Da Silva, Fabio Q. Observational equivalence and compiler correctness Laboratory for Foundations of Computer Science <Edinburgh>: LFCS report series Computer software sigle Compilers (Computer programs) |
title | Observational equivalence and compiler correctness |
title_auth | Observational equivalence and compiler correctness |
title_exact_search | Observational equivalence and compiler correctness |
title_full | Observational equivalence and compiler correctness |
title_fullStr | Observational equivalence and compiler correctness |
title_full_unstemmed | Observational equivalence and compiler correctness |
title_short | Observational equivalence and compiler correctness |
title_sort | observational equivalence and compiler correctness |
topic | Computer software sigle Compilers (Computer programs) |
topic_facet | Computer software Compilers (Computer programs) |
volume_link | (DE-604)BV008930032 |
work_keys_str_mv | AT dasilvafabioq observationalequivalenceandcompilercorrectness |