The Evolution of Programs:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Boston, MA
Birkhäuser Boston
1983
|
Schriftenreihe: | Progress in Computer Science No.5
5 |
Schlagworte: | |
Online-Zugang: | Volltext |
Beschreibung: | -Ecclesiastes 12:12 Programs are invariably subjected to many rorms or transformation. After an initial version of a program has been designed and developed, it undergoes debugging and certification. In addition, most long-lived programs have a life-cycle that includes modifications to meet amended specifications and extensions for expanded capabilities. Such evolutionary aspects of programming are the topic of this monograph. We present formal methods for manipulating programs and illustrate their application with numerous examples. Such methods could be incorporated in semi-automated programming environments, where they would serve to ease the burden on the programmer. We begin by describing a method whereby a given program that achieves one goal can be modified to achieve a different goal or a program that computes wrong results can be debugged to achieve the 2 Preface intended results. The abstraction of a set of cognate programs to obtain a program schema, and the instantiation of abstract schemata to solve concrete problems, are approached from the same perspective. In addition, we describe synthesis rules for generating code from specifications and annotation rules for making assertions about code. The synthesis rules may be used when a program is first being developed, or when, in the course of modifying a program, the need arises to rewrite a program segment. Annotation rules may be used for the purpose of determining what an incorrect program really does before attempting to debug it or how a correct program works before attempting to modify it |
Beschreibung: | 1 Online-Ressource (V, 359 p) |
ISBN: | 9781461256212 9780817631710 |
DOI: | 10.1007/978-1-4612-5621-2 |
Internformat
MARC
LEADER | 00000nmm a2200000zcb4500 | ||
---|---|---|---|
001 | BV042420410 | ||
003 | DE-604 | ||
005 | 20170918 | ||
007 | cr|uuu---uuuuu | ||
008 | 150317s1983 |||| o||u| ||||||eng d | ||
020 | |a 9781461256212 |c Online |9 978-1-4612-5621-2 | ||
020 | |a 9780817631710 |c Print |9 978-0-8176-3171-0 | ||
024 | 7 | |a 10.1007/978-1-4612-5621-2 |2 doi | |
035 | |a (OCoLC)864024214 | ||
035 | |a (DE-599)BVBBV042420410 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-384 |a DE-703 |a DE-91 |a DE-634 | ||
082 | 0 | |a 004 |2 23 | |
084 | |a MAT 000 |2 stub | ||
100 | 1 | |a Dershowitz, Nachum |d 1951- |e Verfasser |0 (DE-588)128838213 |4 aut | |
245 | 1 | 0 | |a The Evolution of Programs |c by Nachum Dershowitz |
264 | 1 | |a Boston, MA |b Birkhäuser Boston |c 1983 | |
300 | |a 1 Online-Ressource (V, 359 p) | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
490 | 1 | |a Progress in Computer Science No.5 |v 5 | |
500 | |a -Ecclesiastes 12:12 Programs are invariably subjected to many rorms or transformation. After an initial version of a program has been designed and developed, it undergoes debugging and certification. In addition, most long-lived programs have a life-cycle that includes modifications to meet amended specifications and extensions for expanded capabilities. Such evolutionary aspects of programming are the topic of this monograph. We present formal methods for manipulating programs and illustrate their application with numerous examples. Such methods could be incorporated in semi-automated programming environments, where they would serve to ease the burden on the programmer. We begin by describing a method whereby a given program that achieves one goal can be modified to achieve a different goal or a program that computes wrong results can be debugged to achieve the 2 Preface intended results. The abstraction of a set of cognate programs to obtain a program schema, and the instantiation of abstract schemata to solve concrete problems, are approached from the same perspective. In addition, we describe synthesis rules for generating code from specifications and annotation rules for making assertions about code. The synthesis rules may be used when a program is first being developed, or when, in the course of modifying a program, the need arises to rewrite a program segment. Annotation rules may be used for the purpose of determining what an incorrect program really does before attempting to debug it or how a correct program works before attempting to modify it | ||
650 | 4 | |a Computer science | |
650 | 4 | |a Science / History | |
650 | 4 | |a Information theory | |
650 | 4 | |a Computer Science | |
650 | 4 | |a Computer Science, general | |
650 | 4 | |a History of Science | |
650 | 4 | |a History of Computing | |
650 | 4 | |a Mathematics of Computing | |
650 | 4 | |a Theory of Computation | |
650 | 4 | |a Geschichte | |
650 | 4 | |a Informatik | |
650 | 4 | |a Naturwissenschaft | |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwarewartung |0 (DE-588)4197459-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Softwarewartung |0 (DE-588)4197459-1 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
689 | 1 | 0 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 1 | |8 2\p |5 DE-604 | |
830 | 0 | |a Progress in Computer Science No.5 |v 5 |w (DE-604)BV000018774 |9 5 | |
856 | 4 | 0 | |u https://doi.org/10.1007/978-1-4612-5621-2 |x Verlag |3 Volltext |
912 | |a ZDB-2-SMA |a ZDB-2-BAE | ||
940 | 1 | |q ZDB-2-SMA_Archive | |
999 | |a oai:aleph.bib-bvb.de:BVB01-027855827 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804153092289069056 |
---|---|
any_adam_object | |
author | Dershowitz, Nachum 1951- |
author_GND | (DE-588)128838213 |
author_facet | Dershowitz, Nachum 1951- |
author_role | aut |
author_sort | Dershowitz, Nachum 1951- |
author_variant | n d nd |
building | Verbundindex |
bvnumber | BV042420410 |
classification_tum | MAT 000 |
collection | ZDB-2-SMA ZDB-2-BAE |
ctrlnum | (OCoLC)864024214 (DE-599)BVBBV042420410 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik Mathematik |
doi_str_mv | 10.1007/978-1-4612-5621-2 |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03708nmm a2200613zcb4500</leader><controlfield tag="001">BV042420410</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20170918 </controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">150317s1983 |||| o||u| ||||||eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781461256212</subfield><subfield code="c">Online</subfield><subfield code="9">978-1-4612-5621-2</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780817631710</subfield><subfield code="c">Print</subfield><subfield code="9">978-0-8176-3171-0</subfield></datafield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/978-1-4612-5621-2</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)864024214</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV042420410</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-384</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-91</subfield><subfield code="a">DE-634</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">MAT 000</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Dershowitz, Nachum</subfield><subfield code="d">1951-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)128838213</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">The Evolution of Programs</subfield><subfield code="c">by Nachum Dershowitz</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston, MA</subfield><subfield code="b">Birkhäuser Boston</subfield><subfield code="c">1983</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (V, 359 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="490" ind1="1" ind2=" "><subfield code="a">Progress in Computer Science No.5</subfield><subfield code="v">5</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">-Ecclesiastes 12:12 Programs are invariably subjected to many rorms or transformation. After an initial version of a program has been designed and developed, it undergoes debugging and certification. In addition, most long-lived programs have a life-cycle that includes modifications to meet amended specifications and extensions for expanded capabilities. Such evolutionary aspects of programming are the topic of this monograph. We present formal methods for manipulating programs and illustrate their application with numerous examples. Such methods could be incorporated in semi-automated programming environments, where they would serve to ease the burden on the programmer. We begin by describing a method whereby a given program that achieves one goal can be modified to achieve a different goal or a program that computes wrong results can be debugged to achieve the 2 Preface intended results. The abstraction of a set of cognate programs to obtain a program schema, and the instantiation of abstract schemata to solve concrete problems, are approached from the same perspective. In addition, we describe synthesis rules for generating code from specifications and annotation rules for making assertions about code. The synthesis rules may be used when a program is first being developed, or when, in the course of modifying a program, the need arises to rewrite a program segment. Annotation rules may be used for the purpose of determining what an incorrect program really does before attempting to debug it or how a correct program works before attempting to modify it</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer science</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Science / History</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Information theory</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer Science</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer Science, general</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">History of Science</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">History of Computing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Mathematics of Computing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Theory of Computation</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Geschichte</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Informatik</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Naturwissenschaft</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwarewartung</subfield><subfield code="0">(DE-588)4197459-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Softwarewartung</subfield><subfield code="0">(DE-588)4197459-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Progress in Computer Science No.5</subfield><subfield code="v">5</subfield><subfield code="w">(DE-604)BV000018774</subfield><subfield code="9">5</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://doi.org/10.1007/978-1-4612-5621-2</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-2-SMA</subfield><subfield code="a">ZDB-2-BAE</subfield></datafield><datafield tag="940" ind1="1" ind2=" "><subfield code="q">ZDB-2-SMA_Archive</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-027855827</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV042420410 |
illustrated | Not Illustrated |
indexdate | 2024-07-10T01:21:06Z |
institution | BVB |
isbn | 9781461256212 9780817631710 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-027855827 |
oclc_num | 864024214 |
open_access_boolean | |
owner | DE-384 DE-703 DE-91 DE-BY-TUM DE-634 |
owner_facet | DE-384 DE-703 DE-91 DE-BY-TUM DE-634 |
physical | 1 Online-Ressource (V, 359 p) |
psigel | ZDB-2-SMA ZDB-2-BAE ZDB-2-SMA_Archive |
publishDate | 1983 |
publishDateSearch | 1983 |
publishDateSort | 1983 |
publisher | Birkhäuser Boston |
record_format | marc |
series | Progress in Computer Science No.5 |
series2 | Progress in Computer Science No.5 |
spelling | Dershowitz, Nachum 1951- Verfasser (DE-588)128838213 aut The Evolution of Programs by Nachum Dershowitz Boston, MA Birkhäuser Boston 1983 1 Online-Ressource (V, 359 p) txt rdacontent c rdamedia cr rdacarrier Progress in Computer Science No.5 5 -Ecclesiastes 12:12 Programs are invariably subjected to many rorms or transformation. After an initial version of a program has been designed and developed, it undergoes debugging and certification. In addition, most long-lived programs have a life-cycle that includes modifications to meet amended specifications and extensions for expanded capabilities. Such evolutionary aspects of programming are the topic of this monograph. We present formal methods for manipulating programs and illustrate their application with numerous examples. Such methods could be incorporated in semi-automated programming environments, where they would serve to ease the burden on the programmer. We begin by describing a method whereby a given program that achieves one goal can be modified to achieve a different goal or a program that computes wrong results can be debugged to achieve the 2 Preface intended results. The abstraction of a set of cognate programs to obtain a program schema, and the instantiation of abstract schemata to solve concrete problems, are approached from the same perspective. In addition, we describe synthesis rules for generating code from specifications and annotation rules for making assertions about code. The synthesis rules may be used when a program is first being developed, or when, in the course of modifying a program, the need arises to rewrite a program segment. Annotation rules may be used for the purpose of determining what an incorrect program really does before attempting to debug it or how a correct program works before attempting to modify it Computer science Science / History Information theory Computer Science Computer Science, general History of Science History of Computing Mathematics of Computing Theory of Computation Geschichte Informatik Naturwissenschaft Programmierung (DE-588)4076370-5 gnd rswk-swf Softwarewartung (DE-588)4197459-1 gnd rswk-swf Softwarewartung (DE-588)4197459-1 s 1\p DE-604 Programmierung (DE-588)4076370-5 s 2\p DE-604 Progress in Computer Science No.5 5 (DE-604)BV000018774 5 https://doi.org/10.1007/978-1-4612-5621-2 Verlag Volltext 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Dershowitz, Nachum 1951- The Evolution of Programs Progress in Computer Science No.5 Computer science Science / History Information theory Computer Science Computer Science, general History of Science History of Computing Mathematics of Computing Theory of Computation Geschichte Informatik Naturwissenschaft Programmierung (DE-588)4076370-5 gnd Softwarewartung (DE-588)4197459-1 gnd |
subject_GND | (DE-588)4076370-5 (DE-588)4197459-1 |
title | The Evolution of Programs |
title_auth | The Evolution of Programs |
title_exact_search | The Evolution of Programs |
title_full | The Evolution of Programs by Nachum Dershowitz |
title_fullStr | The Evolution of Programs by Nachum Dershowitz |
title_full_unstemmed | The Evolution of Programs by Nachum Dershowitz |
title_short | The Evolution of Programs |
title_sort | the evolution of programs |
topic | Computer science Science / History Information theory Computer Science Computer Science, general History of Science History of Computing Mathematics of Computing Theory of Computation Geschichte Informatik Naturwissenschaft Programmierung (DE-588)4076370-5 gnd Softwarewartung (DE-588)4197459-1 gnd |
topic_facet | Computer science Science / History Information theory Computer Science Computer Science, general History of Science History of Computing Mathematics of Computing Theory of Computation Geschichte Informatik Naturwissenschaft Programmierung Softwarewartung |
url | https://doi.org/10.1007/978-1-4612-5621-2 |
volume_link | (DE-604)BV000018774 |
work_keys_str_mv | AT dershowitznachum theevolutionofprograms |