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
26 Jul 1978
TL;DR: Transformation rules can be given as axioms — thus determining (parts of) the semantics of the language — or they can be verified with respect to a particular definition of the semantics, which is taken here as a guide-line for a systematic survey of transformation rules.
Abstract: There are essentially two ways to attack the problem of the "correctness" of program transformations: transformation rules can be given as axioms — thus determining (parts of) the semantics of the language — or they can be verified with respect to a particular definition of the semantics. This classification is taken here as a guide-line for a systematic survey of transformation rules.

24 citations

Journal ArticleDOI
TL;DR: A different reference theory that is based on a program transformation that given any program transforms it into a strict one and the usual notion of program completion is proposed, which is a reasonable reference theory to discuss program semantics and completeness results.
Abstract: The paper presents a new approach to the problem of completeness of the SLDNF-resolution. We propose a different reference theory that we call strict completion. This new concept of completion (comp*(P)) is based on a program transformation that given any program transforms it into a strict one (with the same computational behaviour) and the usual notion of program completion. We consider it a reasonable reference theory to discuss program semantics and completeness results. The standard 2-valued logic is used. The new comp*(P) is always consistent and the completeness of all allowed programs and goals w.r.t. comp*(P) is proved.

24 citations

Book ChapterDOI
02 Dec 1999
TL;DR: This paper analyses and characterize classes of normal logic programs that have the property that every program in the class has a unique two-valued supported model by means of operators on three-valued logics and shows that the class of Φ*-accessible programs is computationally adequate.
Abstract: Several important classes of normal logic programs, including the classes of acyclic, acceptable, and locally hierarchical programs, have the property that every program in the class has a unique two-valued supported model. In this paper, we call such classes unique supported model classes. We analyse and characterize these classes by means of operators on three-valued logics. Our studies will motivate the definition of a larger unique supported model class which we call the class of Φ*-accessible programs. Finally, we show that the class of Φ*-accessible programs is computationally adequate in that every partial recursive function can be implemented by such a program.

24 citations

Book ChapterDOI
Mads Sig Ager1
26 Aug 2004
TL;DR: This work describes how to construct correct abstract machines from the class of L-attributed natural semantics and formalizes it as an extraction algorithm and proves that the algorithm produces abstract machines that are equivalent to the original natural semantics.
Abstract: We describe how to construct correct abstract machines from the class of L-attributed natural semantics introduced by Ibraheem and Schmidt at HOOTS 1997. The construction produces stack-based abstract machines where the stack contains evaluation contexts. It is defined directly on the natural semantics rules. We formalize it as an extraction algorithm and we prove that the algorithm produces abstract machines that are equivalent to the original natural semantics. We illustrate the algorithm by extracting abstract machines from natural semantics for call-by-value and call-by-name evaluation of lambda terms.

24 citations

Book ChapterDOI
08 Sep 1997
TL;DR: This talk shows that this technique, augmented by a preliminary abstract interpretation, can yield, among many other transformations, safe, efficient execution of programs in an unsafe language, and a change in program style, from one list representation to another.
Abstract: Earlier work has shown that partial evaluation of a self-interpreter with respect to an input program can be used to effect program transformation. This talk shows that this technique, augmented by a preliminary abstract interpretation, can yield, among many other transformations: • Safe, efficient execution of programs in an unsafe language, and • A change in program style, from one list representation to another

24 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