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
Book ChapterDOI
TL;DR: This paper presents a transformation system that permits folding in the presence of recursion, disjunction, as well as negation, and shows that the transformations are correct with respect to various semantics of negation including the well-founded model and stable model semantics.
Abstract: Unfold/fold transformation systems for logic programs have been extensively investigated. Existing unfold/fold transformation systems for normal logic programs allow only Tamaki-Sato style folding using clauses from a previous program in the transformation sequence: i.e., they fold using a single, non-recursive clause. In this paper we present a transformation system that permits folding in the presence of recursion, disjunction, as well as negation. We show that the transformations are correct with respect to various semantics of negation including the well-founded model and stable model semantics.

14 citations

Journal ArticleDOI
TL;DR: A practical approach based upon the definition of a restricted extension of the UML known as the Normal Object Form (NOF) to provide a set of UML modeling concepts which are "semantically close" to those found in object-oriented programming languages.
Abstract: The value of graphical modeling within the analysis and design activities of object-oriented development is predicated on the assumption that the resulting models can be mapped correctly, optimally and efficiently into executable (normally textual) code In practice, however, because of the large potential mismatch in abstraction levels, the mapping of graphical models into code is often one of the weakest and most error prone links in the chain of development steps This paper describes a practical approach for addressing this problem based upon the definition of a restricted extension of the UML known as the Normal Object Form (NOF) The basic purpose of the NOF is to provide a set of UML modeling concepts which are "semantically close" to those found in object-oriented programming languages Highly abstract UML models can then be mapped into corresponding executable code by means of a series of semantically small refinement (intra-UML) and translation (extra-UML) translation steps, rather than in one large (often ad hoc) step This not only increases the chances of a correct and optimal mapping, but also significantly improves the traceability of UML constructs to and from code constructs, with all the associated advantages for maintenance and reuse

14 citations

Proceedings ArticleDOI
17 Sep 2006
TL;DR: The architecture and working flow of the approach are proposed, and the mappings between WSL and PSL in MDA provide an engaging combination of traditional program transformation and modern model transformation, which shows that the proposed approach is feasible and promising in its domain.
Abstract: The paper proposes a unified formal model driven approach to software evolution based on both program transformation and model transformation of legacy systems. A formal model definition ensures a consistent interpretation of the legacy system and provides a theoretical foundation for dependable software evolution. The theoretical foundation is based on the construction of a wide spectrum language for reengineering, known as WSL, which enjoys a sound formal semantics. The architecture and working flow of the approach are proposed, and the mappings between WSL and PSL in MDA provide an engaging combination of traditional program transformation and modern model transformation, which shows that the proposed approach is feasible and promising in its domain. A prototype tool is developed to test the approach and a case study is used for experiments with the proposed approach and the prototype tool. Conclusion is drawn based on analysis and further research directions are also discussed.

14 citations

Journal ArticleDOI
TL;DR: A set of program transformations which are applied automatically to convert abstract functional specifications of numerical algorithms into efficient implementations tailored to the AMT DAP array processor are presented.

14 citations

Journal Article
TL;DR: This paper proposes an approach to implementing program transformations that makes use of a first-order typeful program representation formed in Dependent ML, where the type of an object program as well as the types of the free variables in the object program can be reflected in thetype of the representation of the object programs.
Abstract: The notion of program transformation is ubiquitous in programming language studies on interpreters, compilers, partial evaluators, etc. In order to implement a program transformation, we need to choose a representation in the meta language, that is, the programming language in which we construct programs, for representing object programs, that is, the programs in the object language on which the program transformation is to be performed. In practice, most representations chosen for typed object programs are typeless in the sense that the type of an object program cannot be reflected in the type of its representation. This is unsatisfactory as such typeless representations make it impossible to capture in the type system of the meta language various invariants in a program transformation that are related to the types of object programs. In this paper, we propose an approach to implementing program transformations that makes use of a first-order typeful program representation, where the type of an object program as well as the types of the free variables in the object program can be reflected in the type of the representation of the object program. We introduce some programming techniques needed to handle this typeful program representation, and then present an implementation of a CPS transform function where the relation between the type of an object program and that of its CPS transform is captured in the type system of DML. In a broader context, we claim to have taken a solid step along the line of research on constructing certifying compilers.

14 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