Lazy Evaluation: From natural semantics to a machine-checked compiler transformation

Lazy Evaluation: From natural semantics to a machine-checked compiler transformation
Title Lazy Evaluation: From natural semantics to a machine-checked compiler transformation PDF eBook
Author Breitner, Joachim
Publisher KIT Scientific Publishing
Total Pages 256
Release 2016-09-20
Genre
ISBN 3731505460

Download Lazy Evaluation: From natural semantics to a machine-checked compiler transformation Book in PDF, Epub and Kindle

Lazy Evaluation

Lazy Evaluation
Title Lazy Evaluation PDF eBook
Author Joachim Breitner
Publisher
Total Pages 250
Release 2020-10-09
Genre Computers
ISBN 9781013279782

Download Lazy Evaluation Book in PDF, Epub and Kindle

In order to solve a long-standing problem with list fusion, a new compiler transformation, "Call Arity" is developed and implemented in the Haskell compiler GHC. It is formally proven to not degrade program performance; the proof is machine-checked using the interactive theorem prover Isabelle. To that end, a formalization of Launchbury's Natural Semantics for Lazy Evaluation is modelled in Isabelle, including a correctness and adequacy proof. This work was published by Saint Philip Street Press pursuant to a Creative Commons license permitting commercial use. All rights not granted by the work's license are retained by the author or authors.

Systematic Approaches to Advanced Information Flow Analysis – and Applications to Software Security

Systematic Approaches to Advanced Information Flow Analysis – and Applications to Software Security
Title Systematic Approaches to Advanced Information Flow Analysis – and Applications to Software Security PDF eBook
Author Mohr, Martin
Publisher KIT Scientific Publishing
Total Pages 464
Release 2023-06-14
Genre
ISBN 3731512750

Download Systematic Approaches to Advanced Information Flow Analysis – and Applications to Software Security Book in PDF, Epub and Kindle

I report on applications of slicing and program dependence graphs (PDGs) to software security. Moreover, I propose a framework that generalizes both data-flow analysis on control-flow graphs and slicing on PDGs. This framework can be used to systematically derive data-flow-like analyses on PDGs that go beyond slicing. I demonstrate that data-flow analysis can be systematically applied to PDGs and show the practicability of my approach.

Principled Software Development

Principled Software Development
Title Principled Software Development PDF eBook
Author Peter Müller
Publisher Springer
Total Pages 323
Release 2018-10-23
Genre Computers
ISBN 3319980475

Download Principled Software Development Book in PDF, Epub and Kindle

This book presents a collection of research papers that address the challenge of how to develop software in a principled way that, in particular, enables reasoning. The individual papers approach this challenge from various perspectives including programming languages, program verification, and the systematic variation of software. Topics covered include programming abstractions for concurrent and distributed software, specification and verification techniques for imperative programs, and development techniques for software product lines. With this book the editors and authors wish to acknowledge – on the occasion of his 60th birthday – the work of Arnd Poetzsch-Heffter, who has made major contributions to software technology throughout his career. It features articles on Arnd’s broad research interests including, among others, the implementation of programming languages, formal semantics, specification and verification of object-oriented and concurrent programs, programming language design, distributed systems, software modeling, and software product lines. All contributing authors are leading experts in programming languages and software engineering who have collaborated with Arnd in the course of his career. Overall, the book offers a collection of high-quality articles, presenting original research results, major case studies, and inspiring visions. Some of the work included here was presented at a symposium in honor of Arnd Poetzsch-Heffter, held in Kaiserslautern, Germany, in November 2018.

Logic Based Program Synthesis and Transformation

Logic Based Program Synthesis and Transformation
Title Logic Based Program Synthesis and Transformation PDF eBook
Author M. Leuschel
Publisher Springer Science & Business Media
Total Pages 290
Release 2003-06-18
Genre Computers
ISBN 3540404384

Download Logic Based Program Synthesis and Transformation Book in PDF, Epub and Kindle

This book constitutes the thoroughly refereed post-proceedings of the 12th International Workshop on Logic Based Program Synthesis and Transformation, LOPSTR 2002, held in Madrid, Spain in September 2002. The 15 revised full papers presented together with 7 abstracts were carefully selected during two rounds of reviewing and revision from 40 submissions. The papers are organized in topical sections on debugging and types, tabling and constraints, abstract interpretation, program refinement, verification, partial evaluation, and rewriting and object-oriented development.

Model Driven Engineering Languages and Systems

Model Driven Engineering Languages and Systems
Title Model Driven Engineering Languages and Systems PDF eBook
Author Robert B. France
Publisher Springer
Total Pages 847
Release 2012-09-19
Genre Computers
ISBN 3642336663

Download Model Driven Engineering Languages and Systems Book in PDF, Epub and Kindle

This book constitutes the refereed proceedings of the 15th International Conference on Model Driven Engineering Languages and Systems, MODELS 2012, held in Innsbruck, Austria, in September/October 2012. The 50 papers presented in this volume were carefully reviewed and selected from a total of 181 submissions. They are organized in topical sections named: metamodels and domain specific modeling; models at runtime; model management; modeling methods and tools, consistency analysis, software product lines; foundations of modeling; static analysis techniques; model testing and simulation; model transformation; model matching, tracing and synchronization; modeling practices and experience; and model analysis.

The Formal Semantics of Programming Languages

The Formal Semantics of Programming Languages
Title The Formal Semantics of Programming Languages PDF eBook
Author Glynn Winskel
Publisher MIT Press
Total Pages 388
Release 1993-02-05
Genre Computers
ISBN 9780262731034

Download The Formal Semantics of Programming Languages Book in PDF, Epub and Kindle

The Formal Semantics of Programming Languages provides the basic mathematical techniques necessary for those who are beginning a study of the semantics and logics of programming languages. These techniques will allow students to invent, formalize, and justify rules with which to reason about a variety of programming languages. Although the treatment is elementary, several of the topics covered are drawn from recent research, including the vital area of concurency. The book contains many exercises ranging from simple to miniprojects.Starting with basic set theory, structural operational semantics is introduced as a way to define the meaning of programming languages along with associated proof techniques. Denotational and axiomatic semantics are illustrated on a simple language of while-programs, and fall proofs are given of the equivalence of the operational and denotational semantics and soundness and relative completeness of the axiomatic semantics. A proof of Godel's incompleteness theorem, which emphasizes the impossibility of achieving a fully complete axiomatic semantics, is included. It is supported by an appendix providing an introduction to the theory of computability based on while-programs. Following a presentation of domain theory, the semantics and methods of proof for several functional languages are treated. The simplest language is that of recursion equations with both call-by-value and call-by-name evaluation. This work is extended to lan guages with higher and recursive types, including a treatment of the eager and lazy lambda-calculi. Throughout, the relationship between denotational and operational semantics is stressed, and the proofs of the correspondence between the operation and denotational semantics are provided. The treatment of recursive types - one of the more advanced parts of the book - relies on the use of information systems to represent domains. The book concludes with a chapter on parallel programming languages, accompanied by a discussion of methods for specifying and verifying nondeterministic and parallel programs.