scispace - formally typeset
Proceedings ArticleDOI

Set constraints for destructive array update optimization

TLDR
It is proved that any sound liveness analysis induces a correct program transformation, and set constraints for an interprocedural update optimization that runs in polynomial time are presented.
Abstract
Destructive array update optimization is critical for writing scientific codes in functional languages. We present set constraints for an interprocedural update optimization that runs in polynomial time. This is a multi pass optimization, involving interprocedural flow analyses for aliasing and liveness. We characterize the soundness of these analyses using small step operational semantics. We have also proved that any sound liveness analysis induces a correct program transformation.

read more

Citations
More filters
BookDOI

Theoretical Aspects of Computer Software

TL;DR: A central theme of this paper is the combination of a logical notion of freshness with inductive and coinductive definitions of properties.

Simple Relational Correctness Proofs for Static Analyses and Program Transformations (Revised, Long Version)

Nick Benton
TL;DR: It is shown how some classical static analyses for imperative programs, and the optimizing transformations which they enable, may be expressed and proved correct using elementary logical and denotationaltechniques.
Proceedings ArticleDOI

Small bisimulations for reasoning about higher-order imperative programs

TL;DR: This work introduces a new notion of bisimulation for showing contextual equivalence of expressions in an untyped lambda-calculus with an explicit store, and in which all expressed values, including higher-order values, are storable.
Proceedings ArticleDOI

From recursion to iteration: what are the optimizations?

TL;DR: This paper describes a powerful and systematic method, based on incrementalization, for transforming general recursion into iteration: identify an input increment, derive an incremental version under theinput increment, and form an iterative computation using the incremental version.
Proceedings ArticleDOI

Constraint systems for useless variable elimination

TL;DR: This work reformulates Shivers' analysis as a set of constraints, and proves that any solution to the constraints is sound: that two computations that differ only on variables marked as useless give the same answer up to useless variables, and hence the sameanswer when the answer is a constant.
References
More filters
Book

Compilers: Principles, Techniques, and Tools

TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
Proceedings ArticleDOI

Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints

TL;DR: In this paper, the abstract interpretation of programs is used to describe computations in another universe of abstract objects, so that the results of abstract execution give some information on the actual computations.

Foundations of Actor Semantics

TL;DR: This thesis extends and unifies the work of Carl Hewitt, Irene Greif, Henry Baker, and Giuseppe Attardi, who developed the mathematical content of the actor message-passing model, and may be proved for the semantics of an actor-based language.
Proceedings ArticleDOI

A flexible approach to interprocedural data flow analysis and programs with recursive data structures

TL;DR: A new approach to data flow analysis of procedural programs and programs with recursive data structures is described, which depends on simulation of the interpreter for the subject programming language using a retrieval function to approximate a program's data structures.
Proceedings ArticleDOI

Data flow analysis is model checking of abstract interpretations

TL;DR: This expository paper simplifies and clarifies Steffen's depiction of data flow analysis (d.f.a.) as model checking: by employing abstract interpretation (a.i.) to generate program traces and by utilizing Kozen's modal mu-calculus to express trace properties, it is expressed in simplest possible terms that a d.
Related Papers (5)