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 Article
TL;DR: In this paper, the authors propose a technique called certificate translation, which extends program transformations by offering the means to turn certificates of functional correctness for programs in high-level languages into certificates for executable code.
Abstract: Certifying compilation provides a means to ensure that untrusted mobile code satisfies its functional specification. A certifying compiler generates code as well as a machine-checkable certificate, i.e. a formal proof that establishes adherence of the code to specified properties. While certificates for safety properties can be built fully automatically, certificates for more expressive and complex properties often require the use of interactive code verification. We propose a technique to provide code consumers with the benefits of interactive source code verification. Our technique, certificate translation, extends program transformations by offering the means to turn certificates of functional correctness for programs in high-level languages into certificates for executable code. The article outlines the principles of certificate translation, using specifications written in first order logic. This translation is instantiated for standard compiler optimizations in the context of an intermediate RTL Language.

46 citations

Book ChapterDOI
17 Jun 2005
TL;DR: A metamodel for mapping specification and its implementation as a plug-in for Eclipse is proposed and a tool to edit mappings between UML and Web Services is applied to achieve transformations from UML into Web Services.
Abstract: In this paper, we present in the first part our proposition for mapping specification and generation of transformation definition in the context of Model Driven Architecture (MDA). In the second part, we present the application of our proposition to Web Services platform. We propose a metamodel for mapping specification and its implementation as a plug-in for Eclipse. Once mappings are specified between two metamodels (e.g. UML and WSDL), transformation definitions are generated automatically using transformation languages such as Atlas Transformation Language (ATL). We have applied this tool to edit mappings between UML and Web Services. Then, we have used this mapping to generate ATL code to achieve transformations from UML into Web Services.

46 citations

Book ChapterDOI
08 Nov 2006
TL;DR: An elementary semantics is given to an effect system, tracking read and write effects by using relations over a standard extensional semantics for the original language.
Abstract: We give an elementary semantics to an effect system, tracking read and write effects by using relations over a standard extensional semantics for the original language The semantics establishes the soundness of both the analysis and its use in effect-based program transformations

46 citations

Journal ArticleDOI
TL;DR: This article proposes a framework within which properties of the SSA form and φ-placement algorithms are derived, based on a new relation called merge which captures succinctly the structure of a program's control flow graph that is relevant to its SSAform.
Abstract: The Static Single Assignment (SSA) form is a program representation used in many optimizing compilers. The key step in converting a program to SSA form is called φ-placement. Many algorithms for φ-placement have been proposed in the literature, but the relationships between these algorithms are not well understood.In this article, we propose a framework within which we systematically derive (i) properties of the SSA form and (ii) φ-placement algorithms. This framework is based on a new relation called merge which captures succinctly the structure of a program's control flow graph that is relevant to its SSA form. The φ-placement algorithms we derive include most of the ones described in the literature, as well as several new ones. We also evaluate experimentally the performance of some of these algorithms on the SPEC92 benchmarks.Some of the algorithms described here are optimal for a single variable. However, their repeated application is not necessarily optimal for multiple variables. We conclude the article by describing such an optimal algorithm, based on the transitive reduction of the merge relation, for multi-variable φ-placement in structured programs. The problem for general programs remains open.

46 citations

Book ChapterDOI
12 Sep 1998
TL;DR: A program that is easy to understand often fails to be efficient, while a more efficient solution often compromises clarity.
Abstract: When writing a program, especially in a high level language such as Haskell, the programmer is faced with a tension between abstraction and efficiency. A program that is easy to understand often fails to be efficient, while a more efficient solution often compromises clarity.

46 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