Reasoning About Program Transformations: Imperative Programming and Flow of Data
Overview The motivation of this text lies in what we believe is the inadequacy of current frameworks to reason about the ?ow of data in imperative programs. This inadequacy clearly shows up when dealing with the individual side effects of loop iterations. - deed, we face a paradoxical situation wher...
Gespeichert in:
Beteilige Person: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | Englisch |
Veröffentlicht: |
New York, NY
Springer New York
2003
|
Ausgabe: | 1st ed. 2003 |
Schlagwörter: | |
Links: | https://doi.org/10.1007/b97654 https://doi.org/10.1007/b97654 |
Zusammenfassung: | Overview The motivation of this text lies in what we believe is the inadequacy of current frameworks to reason about the ?ow of data in imperative programs. This inadequacy clearly shows up when dealing with the individual side effects of loop iterations. - deed, we face a paradoxical situation where, on the one hand, a typical program spends most of its execution time iterating or recursing on a few lines of codes, and, on the other hand, current optimization frameworks are clumsy when trying to capture the effects of each incarnation of these few lines—frameworks we inherited from designs made decades ago. The reasons are manyfold, but one of them stands out: The same concepts have been used, on the one hand, to represent and manipulate programs internally in compilers and, on the other hand, to allow us humans to reason about optimizations. Unfortunately, these two uses have different aims and constraints. An example of such a situation is given by control-?ow graphs of basic blocks, which have been - tremely useful in practice as an internal representation of programs, but which are not always adequate or convenient to formally think about programs and specify their transformations. In some cases, de?nitions based on control-?ow graphs can be overly restrictive. Dominance, studied in Chapter 4, is a good example |
Umfang: | 1 Online-Ressource (XVIII, 238 p) |
ISBN: | 9780387224619 |
DOI: | 10.1007/b97654 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV047064274 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | cr|uuu---uuuuu | ||
008 | 201216s2003 xx o|||| 00||| eng d | ||
020 | |a 9780387224619 |9 978-0-387-22461-9 | ||
024 | 7 | |a 10.1007/b97654 |2 doi | |
035 | |a (ZDB-2-SCS)978-0-387-22461-9 | ||
035 | |a (OCoLC)1227479367 | ||
035 | |a (DE-599)BVBBV047064274 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-706 | ||
082 | 0 | |a 005.13 |2 23 | |
084 | |a ST 240 |0 (DE-625)143625: |2 rvk | ||
100 | 1 | |a Collard, Jean-Francois |e Verfasser |4 aut | |
245 | 1 | 0 | |a Reasoning About Program Transformations |b Imperative Programming and Flow of Data |c by Jean-Francois Collard |
250 | |a 1st ed. 2003 | ||
264 | 1 | |a New York, NY |b Springer New York |c 2003 | |
300 | |a 1 Online-Ressource (XVIII, 238 p) | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
520 | |a Overview The motivation of this text lies in what we believe is the inadequacy of current frameworks to reason about the ?ow of data in imperative programs. This inadequacy clearly shows up when dealing with the individual side effects of loop iterations. - deed, we face a paradoxical situation where, on the one hand, a typical program spends most of its execution time iterating or recursing on a few lines of codes, and, on the other hand, current optimization frameworks are clumsy when trying to capture the effects of each incarnation of these few lines—frameworks we inherited from designs made decades ago. The reasons are manyfold, but one of them stands out: The same concepts have been used, on the one hand, to represent and manipulate programs internally in compilers and, on the other hand, to allow us humans to reason about optimizations. Unfortunately, these two uses have different aims and constraints. An example of such a situation is given by control-?ow graphs of basic blocks, which have been - tremely useful in practice as an internal representation of programs, but which are not always adequate or convenient to formally think about programs and specify their transformations. In some cases, de?nitions based on control-?ow graphs can be overly restrictive. Dominance, studied in Chapter 4, is a good example | ||
650 | 4 | |a Programming Languages, Compilers, Interpreters | |
650 | 4 | |a Programming Techniques | |
650 | 4 | |a Programming languages (Electronic computers) | |
650 | 4 | |a Computer programming | |
650 | 0 | 7 | |a Datenfluss |0 (DE-588)4191571-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmtransformation |0 (DE-588)4263654-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmanalyse |0 (DE-588)4175841-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Algorithmische Programmiersprache |0 (DE-588)4141876-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Paralleles Programm |0 (DE-588)4552796-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Algorithmische Programmiersprache |0 (DE-588)4141876-1 |D s |
689 | 0 | 1 | |a Paralleles Programm |0 (DE-588)4552796-9 |D s |
689 | 0 | 2 | |a Datenfluss |0 (DE-588)4191571-9 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Programmtransformation |0 (DE-588)4263654-1 |D s |
689 | 1 | 1 | |a Programmanalyse |0 (DE-588)4175841-9 |D s |
689 | 1 | |5 DE-604 | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 9781441929815 |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 9780387953915 |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 9781475778779 |
856 | 4 | 0 | |u https://doi.org/10.1007/b97654 |x Verlag |z URL des Eerstveröffentlichers |3 Volltext |
912 | |a ZDB-2-SCS | ||
940 | 1 | |q ZDB-2-SCS_2000/2004 | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-032471386 | |
966 | e | |u https://doi.org/10.1007/b97654 |l DE-706 |p ZDB-2-SCS |q ZDB-2-SCS_2000/2004 |x Verlag |3 Volltext |
Datensatz im Suchindex
_version_ | 1818987566901231616 |
---|---|
any_adam_object | |
author | Collard, Jean-Francois |
author_facet | Collard, Jean-Francois |
author_role | aut |
author_sort | Collard, Jean-Francois |
author_variant | j f c jfc |
building | Verbundindex |
bvnumber | BV047064274 |
classification_rvk | ST 240 |
collection | ZDB-2-SCS |
ctrlnum | (ZDB-2-SCS)978-0-387-22461-9 (OCoLC)1227479367 (DE-599)BVBBV047064274 |
dewey-full | 005.13 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13 |
dewey-search | 005.13 |
dewey-sort | 15.13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
doi_str_mv | 10.1007/b97654 |
edition | 1st ed. 2003 |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03694nam a2200601zc 4500</leader><controlfield tag="001">BV047064274</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">201216s2003 xx o|||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780387224619</subfield><subfield code="9">978-0-387-22461-9</subfield></datafield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/b97654</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-2-SCS)978-0-387-22461-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1227479367</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV047064274</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-706</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.13</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 240</subfield><subfield code="0">(DE-625)143625:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Collard, Jean-Francois</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Reasoning About Program Transformations</subfield><subfield code="b">Imperative Programming and Flow of Data</subfield><subfield code="c">by Jean-Francois Collard</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1st ed. 2003</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">New York, NY</subfield><subfield code="b">Springer New York</subfield><subfield code="c">2003</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (XVIII, 238 p)</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">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Overview The motivation of this text lies in what we believe is the inadequacy of current frameworks to reason about the ?ow of data in imperative programs. This inadequacy clearly shows up when dealing with the individual side effects of loop iterations. - deed, we face a paradoxical situation where, on the one hand, a typical program spends most of its execution time iterating or recursing on a few lines of codes, and, on the other hand, current optimization frameworks are clumsy when trying to capture the effects of each incarnation of these few lines—frameworks we inherited from designs made decades ago. The reasons are manyfold, but one of them stands out: The same concepts have been used, on the one hand, to represent and manipulate programs internally in compilers and, on the other hand, to allow us humans to reason about optimizations. Unfortunately, these two uses have different aims and constraints. An example of such a situation is given by control-?ow graphs of basic blocks, which have been - tremely useful in practice as an internal representation of programs, but which are not always adequate or convenient to formally think about programs and specify their transformations. In some cases, de?nitions based on control-?ow graphs can be overly restrictive. Dominance, studied in Chapter 4, is a good example</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming Languages, Compilers, Interpreters</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming Techniques</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programming languages (Electronic computers)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer programming</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Datenfluss</subfield><subfield code="0">(DE-588)4191571-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmtransformation</subfield><subfield code="0">(DE-588)4263654-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmanalyse</subfield><subfield code="0">(DE-588)4175841-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Algorithmische Programmiersprache</subfield><subfield code="0">(DE-588)4141876-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Paralleles Programm</subfield><subfield code="0">(DE-588)4552796-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Algorithmische Programmiersprache</subfield><subfield code="0">(DE-588)4141876-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Paralleles Programm</subfield><subfield code="0">(DE-588)4552796-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Datenfluss</subfield><subfield code="0">(DE-588)4191571-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Programmtransformation</subfield><subfield code="0">(DE-588)4263654-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Programmanalyse</subfield><subfield code="0">(DE-588)4175841-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">9781441929815</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">9780387953915</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">9781475778779</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://doi.org/10.1007/b97654</subfield><subfield code="x">Verlag</subfield><subfield code="z">URL des Eerstveröffentlichers</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-2-SCS</subfield></datafield><datafield tag="940" ind1="1" ind2=" "><subfield code="q">ZDB-2-SCS_2000/2004</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-032471386</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://doi.org/10.1007/b97654</subfield><subfield code="l">DE-706</subfield><subfield code="p">ZDB-2-SCS</subfield><subfield code="q">ZDB-2-SCS_2000/2004</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield></record></collection> |
id | DE-604.BV047064274 |
illustrated | Not Illustrated |
indexdate | 2024-12-20T19:08:44Z |
institution | BVB |
isbn | 9780387224619 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-032471386 |
oclc_num | 1227479367 |
open_access_boolean | |
owner | DE-706 |
owner_facet | DE-706 |
physical | 1 Online-Ressource (XVIII, 238 p) |
psigel | ZDB-2-SCS ZDB-2-SCS_2000/2004 ZDB-2-SCS ZDB-2-SCS_2000/2004 |
publishDate | 2003 |
publishDateSearch | 2003 |
publishDateSort | 2003 |
publisher | Springer New York |
record_format | marc |
spelling | Collard, Jean-Francois Verfasser aut Reasoning About Program Transformations Imperative Programming and Flow of Data by Jean-Francois Collard 1st ed. 2003 New York, NY Springer New York 2003 1 Online-Ressource (XVIII, 238 p) txt rdacontent c rdamedia cr rdacarrier Overview The motivation of this text lies in what we believe is the inadequacy of current frameworks to reason about the ?ow of data in imperative programs. This inadequacy clearly shows up when dealing with the individual side effects of loop iterations. - deed, we face a paradoxical situation where, on the one hand, a typical program spends most of its execution time iterating or recursing on a few lines of codes, and, on the other hand, current optimization frameworks are clumsy when trying to capture the effects of each incarnation of these few lines—frameworks we inherited from designs made decades ago. The reasons are manyfold, but one of them stands out: The same concepts have been used, on the one hand, to represent and manipulate programs internally in compilers and, on the other hand, to allow us humans to reason about optimizations. Unfortunately, these two uses have different aims and constraints. An example of such a situation is given by control-?ow graphs of basic blocks, which have been - tremely useful in practice as an internal representation of programs, but which are not always adequate or convenient to formally think about programs and specify their transformations. In some cases, de?nitions based on control-?ow graphs can be overly restrictive. Dominance, studied in Chapter 4, is a good example Programming Languages, Compilers, Interpreters Programming Techniques Programming languages (Electronic computers) Computer programming Datenfluss (DE-588)4191571-9 gnd rswk-swf Programmtransformation (DE-588)4263654-1 gnd rswk-swf Programmanalyse (DE-588)4175841-9 gnd rswk-swf Algorithmische Programmiersprache (DE-588)4141876-1 gnd rswk-swf Paralleles Programm (DE-588)4552796-9 gnd rswk-swf Algorithmische Programmiersprache (DE-588)4141876-1 s Paralleles Programm (DE-588)4552796-9 s Datenfluss (DE-588)4191571-9 s DE-604 Programmtransformation (DE-588)4263654-1 s Programmanalyse (DE-588)4175841-9 s Erscheint auch als Druck-Ausgabe 9781441929815 Erscheint auch als Druck-Ausgabe 9780387953915 Erscheint auch als Druck-Ausgabe 9781475778779 https://doi.org/10.1007/b97654 Verlag URL des Eerstveröffentlichers Volltext |
spellingShingle | Collard, Jean-Francois Reasoning About Program Transformations Imperative Programming and Flow of Data Programming Languages, Compilers, Interpreters Programming Techniques Programming languages (Electronic computers) Computer programming Datenfluss (DE-588)4191571-9 gnd Programmtransformation (DE-588)4263654-1 gnd Programmanalyse (DE-588)4175841-9 gnd Algorithmische Programmiersprache (DE-588)4141876-1 gnd Paralleles Programm (DE-588)4552796-9 gnd |
subject_GND | (DE-588)4191571-9 (DE-588)4263654-1 (DE-588)4175841-9 (DE-588)4141876-1 (DE-588)4552796-9 |
title | Reasoning About Program Transformations Imperative Programming and Flow of Data |
title_auth | Reasoning About Program Transformations Imperative Programming and Flow of Data |
title_exact_search | Reasoning About Program Transformations Imperative Programming and Flow of Data |
title_full | Reasoning About Program Transformations Imperative Programming and Flow of Data by Jean-Francois Collard |
title_fullStr | Reasoning About Program Transformations Imperative Programming and Flow of Data by Jean-Francois Collard |
title_full_unstemmed | Reasoning About Program Transformations Imperative Programming and Flow of Data by Jean-Francois Collard |
title_short | Reasoning About Program Transformations |
title_sort | reasoning about program transformations imperative programming and flow of data |
title_sub | Imperative Programming and Flow of Data |
topic | Programming Languages, Compilers, Interpreters Programming Techniques Programming languages (Electronic computers) Computer programming Datenfluss (DE-588)4191571-9 gnd Programmtransformation (DE-588)4263654-1 gnd Programmanalyse (DE-588)4175841-9 gnd Algorithmische Programmiersprache (DE-588)4141876-1 gnd Paralleles Programm (DE-588)4552796-9 gnd |
topic_facet | Programming Languages, Compilers, Interpreters Programming Techniques Programming languages (Electronic computers) Computer programming Datenfluss Programmtransformation Programmanalyse Algorithmische Programmiersprache Paralleles Programm |
url | https://doi.org/10.1007/b97654 |
work_keys_str_mv | AT collardjeanfrancois reasoningaboutprogramtransformationsimperativeprogrammingandflowofdata |