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
Proceedings ArticleDOI
31 Mar 2012
TL;DR: This work presents a method for automatically parallelizing "inherently sequential" programs, which handles arbitrarily nested loops, and identifies situations where the computation performed by the loop body is equivalent to a matrix vector product over a semi-ring.
Abstract: Most automatic parallelizers are based on detection of independent computations, and most of them cannot do anything if there is a true dependence between computations. However, this can be surmounted for programs that perform prefix computations (scans). We present a method for automatically parallelizing such "inherently sequential" programs. Our method, which handles arbitrarily nested loops, identifies situations where the computation performed by the loop body is equivalent to a matrix vector product over a semi-ring. We also deal with mutually dependent variables in the loop. Our method is implemented in a polyhedral program transformation and code generation system and generates OpenMP code. We also present strategies to improve the performance of the generated code, an analytical performance model for the expected speedup, as well as a method to choose the parallelization parameters optimally. We show experimentally that the scan parallelizations performed by our system are effective, yielding linear (iso-efficient) speedup in situations where no other parallelism is available.

13 citations

Proceedings ArticleDOI
01 Aug 2017
TL;DR: It is shown that an information flow analysis with fixed labels can be both flow- and path-sensitive, and it allows sound control of information flow in the presence of mutable variables without resorting to run-time mechanisms.
Abstract: This paper investigates a flow- and path-sensitive static information flow analysis. Compared with security type systems with fixed labels, it has been shown that flow-sensitive type systems accept more secure programs. We show that an information flow analysis with fixed labels can be both flow- and path-sensitive. The novel analysis has two major components: 1) a general-purpose program transformation that removes false dataflow dependencies in a program that confuse a fixed-label type system, and 2) a fixed-label type system that allows security types to depend on path conditions. We formally prove that the proposed analysis enforces a rigorous security property: noninterference. Moreover, we show that the analysis is strictly more precise than a classic flow-sensitive type system, and it allows sound control of information flow in the presence of mutable variables without resorting to run-time mechanisms.

13 citations

Patent
19 Apr 1995
TL;DR: In this article, a parallelization process for complex-topology applications is based on an understanding of topology and includes two separate parts: i) an automatic, topology-based data distribution method and ii) a program transformation method.
Abstract: A parallelization process for complex-topology applications is based on an understanding of topology and includes two separate parts: i) an automatic, topology-based data distribution method and ii) a program transformation method. Together these methods eliminate the need for user determined data distribution specification in data layout languages such as High Performance Fortran. The topology-based data distribution method uses both problem and machine topology to determine a data-to-processor mapping for composite grid applications. The program transformation method incorporates statements in the user program to read and implement the data layout determined by the distribution method and to eliminate the need for user development and support of subroutine clones for data distribution.

13 citations

Book ChapterDOI
02 Oct 2005
TL;DR: A type inferencer is presented to approximate the nondeterminism behavior via nonstandard types and show its correctness w.r.t. the operational semantics of functional logic programs.
Abstract: Information about the nondeterminism behavior of a functional logic program is important for various reasons. For instance, a nondeterministic choice in I/O operations results in a run-time error. Thus, it is desirable to ensure at compile time that a given program is not going to crash in this way. Furthermore, knowledge about nondeterminism can be exploited to optimize programs. In particular, if functional logic programs are compiled to target languages without builtin support for nondeterministic computations, the transformation can be much simpler if it is known that the source program is deterministic. In this paper we present a nondeterminism analysis of functional logic programs in form of a type/effect system. We present a type inferencer to approximate the nondeterminism behavior via nonstandard types and show its correctness w.r.t. the operational semantics of functional logic programs. The type inference is based on a new compact representation of sets of types and effects.

13 citations

Book ChapterDOI
24 Oct 2005
TL;DR: In this article, a strategy based on graph transformations is introduced to automate the derivation of the navigational model of the OOWS method from early requirements specifications, by following an MDA-based development process.
Abstract: Model Driven Architecture (MDA) is being adopted as a new development strategy. MDA is based on both the definition of models at different levels of abstraction and the application of consecutive transformations in order to obtain code from these models. However, little methodological support is provided to both define and apply model-to-model transformations. In this work, we introduce a strategy based on graph transformations that allow us to automate the derivation of the navigational model of the OOWS method from early requirements specifications, by following an MDA-based development process. In order to define and apply the graph transformations the Attributed Graph Grammar tool is used. In addition, due to the OOWS PIM-to-Code transformation capabilities, we show how this strategy allows us to obtain prototypes of web applications from early requirements specifications.

13 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