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 published on a yearly basis
Papers
More filters
••
26 Jul 1978TL;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
••
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
••
02 Dec 1999TL;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
••
26 Aug 2004TL;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
••
08 Sep 1997TL;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