This book constitutes the refereed proceedings of the 5th International Workshop on Logic Program Synthesis and Transformation, LOPSTR'95, held in Utrecht, The Netherlands in September 1995. The 19 papers included were selected from 40 workshop submissions; they offer a unique up-to-date account of the use of formal synthesis and transformation techniques for computer-aided development of logic programs. Among the topics addressed are deductive and inductive program synthesis, synthesis models based on constructive type theory, program specification, program analysis, theorem proving, and applications to various types of programs.
This volume constitutes the combined proceedings of the 4th International Workshops on Logic Program Synthesis and Transformation (LOPSTR '94) and on Meta-Programming (META '94), held jointly in Pisa, Italy in June 1994. This book includes thoroughly revised versions of the best papers presented at both workshops. The main topics addressed by the META papers are language extensions in support of meta-logic, semantics of meta-logic, implementation of meta-logic features, performance of meta-logic, and several applicational aspects. The LOPSTR papers are devoted to unfolding/folding, partial deduction, proofs as programs, inductive logic programming, automated program verification, specification and programming methodologies.
This book constitutes the strictly refereed post-workshop proceedings of the Sixth International Workshop on Logic Program Synthesis and Transformation, LOPSTR'96, held on board a ship sailing from Stockholm to Helsinki, in August 1996. The 17 revised full papers were carefully selected from a total of initially 27 submissions. The topics covered range over the areas of synthesis of programs from specifications, verification, transformation, specialization, and analysis of programs, and the use of program schemata in program development.
As the complexity of software increases, researchers and practicioners continue to seek better techniques for engineering the construction of evolution of software. Partial evaluation is an attractive technology for modern software construction since it provides automatic tools for software specialization and is based on rigorous semantic foundations. This book is based on a school held at DIKU Copenhagen, Denmark in summer 1998 during which leading researchers summarized the state of the art in partial evaluation. The lectures presented survey the foundations of partial evaluation in a clear and rigorous manner and practically introduce several existing partial evaluators with numerous examples. The second part of the book is devoted to more sophisticated theoretical aspects, advances systems and applications, and highlights open problems and challenges. The book is ideally suited for advanced courses and for self study.
This volume contains the papers from the Seventh International Workshop on Logic Program Synthesis and Transformation, LOPSTR '97, that took place in Leuven, Belgium, on July 10–12, 1997, 'back to back' with the Fourteenth International Conference on Logic Programming, ICLP '97. Both ICLP and LOPSTR were organised by the K.U. Leuven Department of Computer Science. LOPSTR '97 was sponsored by Compulog Net and by the Flanders Research Network on Declarative Methods in Computer Science. LOPSTR '97 had 39 participants from 13 countries. There were two invited talks by Wolfgang Bibel (Darmstadt) on 'A multi level approach to program synthesis', and by Henning Christiansen (Roskilde) on 'Implicit program synthesis by a reversible metainterpreter'. Extended versions of both talks appear in this volume. There were 19 technical papers accepted for presentation at LOPSTR '97, out of 33 submissions. Of these, 15 appear in extended versions in this volume. Their topics range over the fields of program synthesis, program transformation, program analysis, tabling, metaprogramming, and inductive logic programming.
Logic program synthesis and transformation are topics of central importance to the software industry. The demand for software can not be met by the current supply, in terms of volume, complexity, or reliability. The most promising solution seems to be the increased automation of software production: programmer productivity would improve, and correctness could be ensured by the application of mathematical methods. Because of their mathematical foundations, logic programs lend themselves particularly well to machine-assisted development techniques, and therefore to automation. This volume contains the proceedings of the second International Workshop on Logic Program Synthesis and Transformation (LOPSTR 92), held at the University of Manchester, 2-3 July 1992. The LOPSTR workshops are the only international meetings devoted to these two important areas. A variety of new techniques were described at the workshop, all of which promise to revolutionize the software industry once they become standard practise. These include techniques for the transformation of an inefficient program into an equivalent, efficient one, and the synthesis of a program from a formal specification of its required behaviour. Among the topics covered in this volume are: optimal transformation of logic programs; logic program synthesis via proof planning; deductive synthesis of programs for query answering; efficient compilation of lazy narrowing into Prolog; synthesis of narrowing programs; Logimix: a self-applicable partial evaluator for Prolog; proof nets; automatic termination analysis. Logic Program Synthesis and Transformation describes the latest advances in machine-assisted development of logic programs. It will provide essential reading for researchers and postgraduate students concerned with these two important areas.
Topics covered: Theoretical Foundations. Higher-Order Logics. Non-Monotonic Reasoning. Programming Methodology. Programming Environments. Extensions to Logic Programming. Constraint Satisfaction. Meta-Programming. Language Design and Constructs. Implementation of Logic Programming Languages. Compilation Techniques. Architectures. Parallelism. Reasoning about Programs. Deductive Databases. Applications. 13-16 June 1995, Tokyo, Japan ICLP, which is sponsored by the Association for Logic Programming, is one of two major annual international conferences reporting recent research results in logic programming. Logic programming originates from the discovery that a subset of predicate logic could be given a procedural interpretation which was first embodied in the programming language, Prolog. The unique features of logic programming make it appealing for numerous applications in artificial intelligence, computer-aided design and verification, databases, and operations research, and for exploring parallel and concurrent computing. The last two decades have witnessed substantial developments in this field from its foundation to implementation, applications, and the exploration of new language designs. Topics covered: Theoretical Foundations. Higher-Order Logics. Non-Monotonic Reasoning. Programming Methodology. Programming Environments. Extensions to Logic Programming. Constraint Satisfaction. Meta-Programming. Language Design and Constructs. Implementation of Logic Programming Languages. Compilation Techniques. Architectures. Parallelism. Reasoning about Programs. Deductive Databases. Applications. Logic Programming series, Research Reports and Notes
This volume contains extended versions of papers presented at the Third International Workshop on Logic Program Synthesis and Transformation (LOPSTR 93) held in Louvain-la-Neuve in July 1993. Much of the success of the workshop is due to Yves Deville who served as Organizer and Chair. Many people believe that machine support for the development and evolution of software will play a critical role in future software engineering environments. Machine support requires the formalization of the artifacts and processes that arise during the software lifecycle. Logic languages are unique in providing a uniform declarative notation for precisely describing application domains, software requirements, and for prescribing behavior via logic programs. Program synthesis and transfonnation techniques formalize the process of developing correct and efficient programs from requirement specifications. The natural intersection of these two fields of research has been the focus of the LOPSTR workshops. The papers in this volume address many aspects of software develop ment including: deductive synthesis, inductive synthesis, transforma tions for optimizing programs and exploiting parallelism, program analysis techniques (particularly via abstract interpretation), meta programming languages and tool support, and various extensions to Prolog-like languages, admitting non-Horn clauses, functions, and constraints. Despite the progress represented in this volume, the transition from laboratory to practice is fraught with difficulties.