Cargando…

The evolution of programs

-Ecclesiastes 12:12 Programs are invariably subjected to many rorms or transrormation. After an initial version of a program has been designed and developed, it undergoes debugging and certification. In addition, most long-lived pro­ grams have a liCe-cycle that includes modifications to meet amende...

Descripción completa

Detalles Bibliográficos
Autor principal: Dershowitz, Nachum
Lenguaje:eng
Publicado: Springer 1983
Materias:
Acceso en línea:https://dx.doi.org/10.1007/978-1-4612-5621-2
http://cds.cern.ch/record/2006146
_version_ 1780946255080325120
author Dershowitz, Nachum
author_facet Dershowitz, Nachum
author_sort Dershowitz, Nachum
collection CERN
description -Ecclesiastes 12:12 Programs are invariably subjected to many rorms or transrormation. After an initial version of a program has been designed and developed, it undergoes debugging and certification. In addition, most long-lived pro­ grams have a liCe-cycle that includes modifications to meet amended specifications and extensions for expanded capabilities. Such evolution­ ary aspects of programming are the topic of this monograph. We present rormal methods for manipulating programs and illustrate their applica­ tion 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 pro­ gram 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.
id cern-2006146
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 1983
publisher Springer
record_format invenio
spelling cern-20061462021-04-21T20:23:52Zdoi:10.1007/978-1-4612-5621-2http://cds.cern.ch/record/2006146engDershowitz, NachumThe evolution of programsMathematical Physics and Mathematics-Ecclesiastes 12:12 Programs are invariably subjected to many rorms or transrormation. After an initial version of a program has been designed and developed, it undergoes debugging and certification. In addition, most long-lived pro­ grams have a liCe-cycle that includes modifications to meet amended specifications and extensions for expanded capabilities. Such evolution­ ary aspects of programming are the topic of this monograph. We present rormal methods for manipulating programs and illustrate their applica­ tion 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 pro­ gram 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.Springeroai:cds.cern.ch:20061461983
spellingShingle Mathematical Physics and Mathematics
Dershowitz, Nachum
The evolution of programs
title The evolution of programs
title_full The evolution of programs
title_fullStr The evolution of programs
title_full_unstemmed The evolution of programs
title_short The evolution of programs
title_sort evolution of programs
topic Mathematical Physics and Mathematics
url https://dx.doi.org/10.1007/978-1-4612-5621-2
http://cds.cern.ch/record/2006146
work_keys_str_mv AT dershowitznachum theevolutionofprograms
AT dershowitznachum evolutionofprograms