Program Transformation and Programming Environments


Book Description

Proceedings of the NATO Advanced Research Workshop on Program Transformation and Programming Environments




Program Transformation and Programming Environments


Book Description




Specification and Transformation of Programs


Book Description

"Specification and transformation of programs" is short for a methodology of software development where, from a formal specification of a problem to be solved, programs correctly solving that problem are constructed by stepwise application of formal, semantics-preserving transformation rules. The approach considers programming as a formal activity. Consequently, it requires some mathematical maturity and, above all, the will to try something new. A somewhat experienced programmer or a third- or fourth-year student in computer science should be able to master most of this material - at least, this is the level I have aimed at. This book is primarily intended as a general introductory textbook on transformational methodology. As with any methodology, reading and understanding is necessary but not sufficient. Therefore, most of the chapters contain a set of exercises for practising as homework. Solutions to these exercises exist and can, in principle, be obtained at nominal cost from the author upon request on appropriate letterhead. In addition, the book also can be seen as a comprehensive account of the particular transformational methodology developed within the Munich CIP project.




Specification and Transformation of Programs


Book Description

"Specification and transformation of programs" is short for a methodology of software development where, from a formal specification of a problem to be solved, programs correctly solving that problem are constructed by stepwise application of formal, semantics-preserving transformation rules. The approach considers programming as a formal activity. Consequently, it requires some mathematical maturity and, above all, the will to try something new. A somewhat experienced programmer or a third- or fourth-year student in computer science should be able to master most of this material - at least, this is the level I have aimed at. This book is primarily intended as a general introductory textbook on transformational methodology. As with any methodology, reading and understanding is necessary but not sufficient. Therefore, most of the chapters contain a set of exercises for practising as homework. Solutions to these exercises exist and can, in principle, be obtained at nominal cost from the author upon request on appropriate letterhead. In addition, the book also can be seen as a comprehensive account of the particular transformational methodology developed within the Munich CIP project.




Automatic Program Development


Book Description

This work, a tribute to renowned researcher Robert Paige, is a collection of revised papers published in his honor in the Higher-Order and Symbolic Computation Journal in 2003 and 2005. Among them there are two key papers: a retrospective view of his research lines, and a proposal for future studies in the area of the automatic program derivation. The book also includes some papers by members of the IFIP Working Group 2.1 of which Bob was an active member.




Logic-Based Program Synthesis and Transformation


Book Description

This volume contains the proceedings of the ninth international workshop on logic-based program synthesis and transformation (LOPSTR’99) which was held in Venice (Italy), September 22-24, 1999. LOPSTRistheannualworkshopandforumforresearchersinthelogic-based program development stream of computational logic. The main focus used to be on synthesis and transformation of logic programs, but the workshop is open to contributions on logic-based program development in any paradigm. Previous workshops were held in Manchester, UK (1991, 1992), Louvain-la-Neuve, B- gium (1993), Pisa, Italy (1994), Arnhem, The Netherlands (1995), Stockholm, Sweden (1996), Leuven, Belgium (1997), and Manchester, UK (1998). LOPSTR is a real workshop in the sense that it is a friendly and lively forum for presenting recent and current research as well as discussing future trends. Formal proceedings of the workshop are produced only after the workshop and contain only those papers selected by the program committee after a second refereeing process. The program committee of LOPSTR’99 accepted 20 extended abstracts for presentation at the workshop; then selected 14 papers for inclusion in the po- workshop proceedings. Selected papers cover all the main streams of LOPSTR’s topics: synthesis, specialization, transformation, analysis, and veri?cation. Ve- ?cation, transformation, and specialization methods are applied to functional, constraint, logic, and imperative programming.




Conference Record of POPL '96


Book Description




Compiler Design


Book Description

While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined - ideally there exist complete precise descriptions of the source and target languages. Additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available. The book deals with the optimization phase of compilers. In this phase, programs are transformed in order to increase their efficiency. To preserve the semantics of the programs in these transformations, the compiler has to meet the associated applicability conditions. These are checked using static analysis of the programs. In this book the authors systematically describe the analysis and transformation of imperative and functional programs. In addition to a detailed description of important efficiency-improving transformations, the book offers a concise introduction to the necessary concepts and methods, namely to operational semantics, lattices, and fixed-point algorithms. This book is intended for students of computer science. The book is supported throughout with examples, exercises and program fragments.