scispace - formally typeset
Search or ask a question
Topic

Program transformation

About: Program transformation is a research topic. Over the lifetime, 2468 publications have been published within this topic receiving 73415 citations.


Papers
More filters
Journal ArticleDOI
TL;DR: By expressing functional expressions in variable-free form, algebraic methods are used, based on the functional algebra of the language FP, to transform a certain class of nonlinear functions into linear form, and conditions under which these are equivalent to a linear function are identified.

15 citations

Proceedings ArticleDOI
19 Sep 2012
TL;DR: Tor, a well-defined hook into Prolog disjunction, provides the ability to modify the search method that explores the alternative execution branches, and is light-weight thanks to its library approach and efficient because it is based on program transformation.
Abstract: Horn Clause Programs have a natural depth-first procedural semantics. However, for many programs this procedural semantics is ineffective. In order to compute useful solutions, one needs the ability to modify the search method that explores the alternative execution branches.Tor, a well-defined hook into Prolog disjunction, provides this ability. It is light-weight thanks to its library approach and efficient because it is based on program transformation. Tor is general enough to mimic search-modifying predicates like ECLiPSe's search/6. Moreover, Tor supports modular composition of search methods and other hooks. Our library is already provided and used as an add-on to SWI-Prolog.

15 citations

Book ChapterDOI
01 Mar 1991
TL;DR: A basis for program transformation using term rewriting tools is presented, which must provide tools to prove inductive properties; to verify that enrichment produces neither junk nor confusion; and to check for ground confluence and termination.
Abstract: We present a basis for program transformation using term rewriting tools. A specification is expressed hierarchically by successive enrichments as a signature and a set of equations. A term can be computed by rewriting. Transformations come from applying a partial unfailing completion procedure to the original set of equations augmented by inductive theorems and a definition of a new function symbol following diverse heuristics. Moreover, the system must provide tools to prove inductive properties; to verify that enrichment produces neither junk nor confusion; and to check for ground confluence and termination. These properties are related to the correctness of the transformation.

15 citations

Journal ArticleDOI
TL;DR: In this article, the generalized Charnes-Cooper transformation was used to reduce complex convex-concave fractional programming problems to non-fractional complex programs.
Abstract: We extend the Charnes-Cooper transformation to complex fractional programs involving continuous complex functions and analytic functions. Such problems are shown to be equivalent to nonfractional complex programming problems. This technique is employed also to reduce complex linear fractional programs to complex linear programs. More generally, it can be shown that complex convex-concave fractional programming problems are equivalent to complex convex nonfractional programs using the generalized Charnes-Cooper transformation.

15 citations

Proceedings ArticleDOI
TL;DR: A novel program analysis is presented to identify parts of the program where flattening would only introduce overhead, without appropriate gain, and empirical evidence is presented that avoiding vectorisation in these cases leads to more efficient programs than if they had applied vectorisation and then relied on array fusion to eliminate intermediates from the resulting code.
Abstract: Flattening nested parallelism is a vectorising code transform that converts irregular nested parallelism into flat data parallelism. Although the result has good asymptotic performance, flattening thoroughly restructures the code. Many intermediate data structures and traversals are introduced, which may or may not be eliminated by subsequent optimisation. We present a novel program analysis to identify parts of the program where flattening would only introduce overhead, without appropriate gain. We present empirical evidence that avoiding vectorisation in these cases leads to more efficient programs than if we had applied vectorisation and then relied on array fusion to eliminate intermediates from the resulting code.

15 citations


Network Information
Related Topics (5)
Model checking
16.9K papers, 451.6K citations
92% related
Compiler
26.3K papers, 578.5K citations
88% related
Programming paradigm
18.7K papers, 467.9K citations
87% related
Executable
24K papers, 391.1K citations
86% related
Component-based software engineering
24.2K papers, 461.9K citations
86% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20234
202218
202126
202042
201956
201836