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: A program transformation is introduced that simply ignores synchronization, and a success semantics is introduced, which is equivalent to the standard semantics thus justifying the use of suspension analysis to generate sound approximations for suspension-free programs.
Abstract: Because of synchronization based on blocking ask, some of the most important techniques for data flow analysis of (sequential) constraint logic programs (clp) are no longer applicable to cc languages. In particular, the generalized approach to the semantics, intended to factorize the (standard) semantics so as to make explicit the domain-dependent features (i.e. operators and semantic objects which may be influenced by abstraction) becomes useless for relevant applications. A possible solution to this problem is based on a more abstract (non-standard) semantics: the success semantics, which models non suspended computations only. With a program transformation (NoSynch) that simply ignores synchronization, we obtain a clp-like program which allows us to apply standard techniques for data flow analysis. For suspension-free programs the success semantics is equivalent to the standard semantics thus justifying the use of suspension analysis to generate sound approximations. A second transformation (Angel) is introduced, applying a different abstraction of synchronization in possibly suspending programs and resulting in a framework which is adequate to suspension analysis. Applicability and accuracy of these solutions are investigated.

23 citations

Journal ArticleDOI
TL;DR: This work describes the design and use of a fast, programmable tool that can perform syntactically oriented text-processing tasks for use in program understanding and transformation and takes a “traditional” compiler approach to the problem.

23 citations

Journal ArticleDOI
01 Aug 1993
TL;DR: A model enabling one to reason about various techniques for program optimization, in particular speedup and correctness is developed, and several methods to increase the amount of sharing are discussed.
Abstract: The main purpose of the thesis is to develop a model enabling one to reason about various techniques for program optimization, in particular wrt.\ speedup and correctness. Moreover, several methods to increase the amount of sharing are discussed, and a new one (to be termed ''ultimate sharing'') is treated in detail. Concerning speedup, a main point is to factor out the reasons why a program transformation may yield more than a constant speedup. Concerning correctness, the interesting part is preservation of termination properties. This issue is mainly addressed for a logic language, where previous results from the literature are generalized -- but also for a functional language some (more limited) results are presented.

23 citations

01 Jan 2010
TL;DR: This dissertation shows that retrofitting security does not need to be a massive reengineering effort, nor does it needs to be ad hoc, and security solutions can be added through systematic, general purpose security-oriented program transformations.
Abstract: Security experts generally believe that, “security cannot be added on, it must be designed from the beginning.” This dissertation shows that retrofitting security does not need to be a massive reengineering effort, nor does it need to be ad hoc. Security solutions can be added through systematic, general purpose security-oriented program transformations. We describe a catalog of security-oriented program transformations; so far the catalog contains thirty seven transformations. These security-oriented program transformations improve the traditional approaches of security engineering and keep software secure in the face of new security threats. Security-oriented program transformations are not silver bullets; using them requires skill and knowledge of the program being transformed. They are instead power tools that make it easier to add security to existing systems replacing the point solution of a typical patch with a more systematic removal of a vulnerability. When appropriate tools are built and the program transformations are easy enough to apply, then they will allow a software developer to add ‘security on demand’.

23 citations

Journal ArticleDOI
TL;DR: It is shown that the several stages of the indirect technique are themselves special cases of the direct one, thus unifying the separate approaches, and removal of auxiliary variables is formalised incidentally.

23 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