Results 1 -
3 of
3
Systematic Design of Program Transformation Frameworks by Abstract Interpretation
, 2002
"... We introduce a general uniform language-independent framework for designing online and offline source-to-source program transformations by abstract interpretation of program semantics. Iterative source-to-source program transformations are designed constructively by composition of source-to-semantic ..."
Abstract
-
Cited by 45 (5 self)
- Add to MetaCart
We introduce a general uniform language-independent framework for designing online and offline source-to-source program transformations by abstract interpretation of program semantics. Iterative source-to-source program transformations are designed constructively by composition of source-to-semantics, semantics-totransformed semantics and semantics-to-source abstractions applied to fixpoint trace semantics. The correctness of the transformations is expressed through observational and performance abstractions. The framework is illustrated on three examples: constant propagation, program specialization by online and offline partial evaluation and static program monitoring.
Separate Polyvariant Binding Time Reconstruction
- CRI Report A/261, Ecole des Mines
, 1994
"... Binding time analysis aims at determining which identifiers can be bound to their values at compile time. This binding time information is of utmost importance when performing partial evaluation or constant folding on programs. Existing binding time analyses are global in that they require complete ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Binding time analysis aims at determining which identifiers can be bound to their values at compile time. This binding time information is of utmost importance when performing partial evaluation or constant folding on programs. Existing binding time analyses are global in that they require complete program texts and descriptions of which of their inputs are available at compile time. As a consequence, such analyses cannot be used in programming languages that support modules or separate compilation. Libraries have to be analyzed every time they are used in some program. This is particularly limiting when considering programming in-the-large; any modification of an application results in the reprocessing of all the modules. This paper presents a new static analysis for higher-order typed functional languages that relies on a type and e#ect system to obtain polyvariant and separate binding time information. By allowing function types to be parametrized over the binding times of their arg...
Program Specialization for Efficient Monitored Execution
, 2001
"... Monitored execution is a proven tool to enforce safety properties on ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Monitored execution is a proven tool to enforce safety properties on

