Shortcuts
Top of page (Alt+0)
Page content (Alt+9)
Page menu (Alt+8)
Your browser does not support javascript, some WebOpac functionallity will not be available.
.
Default
.
PageMenu
-
Main Menu
-
Simple Search
.
Advanced Search
.
Journal Search
.
Refine Search Results
.
Preferences
.
Search Menu
Simple Search
.
Advanced Search
.
New Items Search
.
Journal Search
.
Refine Search Results
.
Bottom Menu
Help
Italian
.
English
.
German
.
New Item Menu
New Items Search
.
New Items List
.
View Basket
.
Links
SISSA Library
.
ICTP library
.
Italian National web catalog (SBN)
.
Trieste University web catalog
.
Udine University web catalog
.
© LIBERO v6.4.1sp220816
Page content
You are here
:
>
Search Results
Catalogue Card Display
Catalogue Card Display
RAK
Title: The Evolution of Programs ([EBook] /) / by Nachum Dershowitz. Dewey Class: 004 Author: Dershowitz, Nachum. Publication: Boston, MA : : Birkhäuser Boston : : Imprint: Birkhäuser,, 1983. Other name(s): SpringerLink (Online service) Physical Details: V, 359 p. : online resource. Series: Progress in Computer Science No.5 ;; 5 ISBN: 9781461256212 System details note: Online access to this digital book is restricted to subscription institutions through IP address (only for SISSA internal users) Summary Note: -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.: Contents note: 1. Introduction -- 2. General Overview -- 2.1. Introduction -- 2.2. The Problem -- 2.3. Annotation -- 2.4. Debugging -- 2.5. Modification -- 2.6. Abstraction -- 2.7. Instantiation -- 2.8. Synthesis -- 2.9. Discussion -- 3. Program Modification and Debugging -- 3.1. Introduction -- 3.2. Overview -- 3.3. Examples -- 3.4. Discussion -- 4. Program Abstraction and Instantiation -- 4.1. Introduction -- 4.2. Overview -- 4.3. Examples -- 4.4. Discussion -- 5. Program Synthesis and Extension -- 5.1. Introduction -- 5.2. Overview -- 5.3. Examples -- 5.4. Discussion -- 6. Program Annotation and Analysis -- 6.1. Introduction -- 6.2. Overview -- 6.3. Examples -- 6.4. Discussion -- 7. General Discussion -- Appendix 1: Global Transformations -- Appendix 2: Program Schemata -- Appendix 3: Synthesis Rules -- Appendix 4: Annotation Rules -- 4.1. Assignment Rules -- 4.1.1. Range Rules -- 4.1.2. Set Assignment Rules -- 4.1.3. Counter Relation Rules -- 4.1.4. Basic Relation Rules -- 4.1.5. Assorted Relation Rules -- 4.2. Control Rules -- 4.2.1. Control Axioms -- 4.2.2. Assignment Control Rules -- 4.2.3. Conditional Control Rules -- 4.2.4. Loop Control Rules -- 4.2.5. Value Rules -- 4.3. Heuristic Rules -- 4.3.1. Control Heuristics -- 4.3.2. Dangerous Heuristics -- Appendix 5: Implementation -- 5.1. Introduction -- 5.2. Modification -- 5.3. Synthesis -- 5.4. Annotation -- References -- Name Index. ------------------------------ *** There are no holdings for this record *** -----------------------------------------------
Quick Search
Search for