Results 1 
6 of
6
Partial Evaluation for HigherOrder Languages with State
, 1996
"... We have designed and implemented an offline partial evaluator for a higherorder language with firstclass references. Its distinguishing feature over other partial evaluators is its ability to perform assignments to local and global references at specialization time for a higherorder language. The ..."
Abstract

Cited by 26 (7 self)
 Add to MetaCart
We have designed and implemented an offline partial evaluator for a higherorder language with firstclass references. Its distinguishing feature over other partial evaluators is its ability to perform assignments to local and global references at specialization time for a higherorder language. The partial evaluator consists of a regionbased monovariant bindingtime analysis and a specializer in essentially continuationpassing storepassing style, thus generalizing typebased bindingtime analysis and continuationbased partial evaluation. The partial evaluator yields good results for realistic problems such as objectoriented programming, unification, and specializer generation. Keywords: higherorder programming, program transformation, partial evaluation, state Categories: D.1.1 Applicative (Functional) Programming, D.1.2 Automatic Programming, D.3.1 Formal Definitions and Theory, Semantics, D.3.2 Language Classifications, Applicative languages, D.3.4 Processors, I.2.2 Automatic...
BindingTime Analysis in Partial Evaluation: One Size Does Not Fit All
, 2000
"... Existing partial evaluators usually fix the strategy for bindingtime analysis. But a single strategy cannot fulfill all goals without leading to compromises regarding precision, termination, and code explosion in partial evaluators. Our goal is to improve the usability of partial evaluator systems ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Existing partial evaluators usually fix the strategy for bindingtime analysis. But a single strategy cannot fulfill all goals without leading to compromises regarding precision, termination, and code explosion in partial evaluators. Our goal is to improve the usability of partial evaluator systems by developing an adaptive approach that can accommodate a variety of different strategies ranging from maximally polyvariant to entirely uniform analysis, and thereby make offline specialization more practical in a realistic setting. The core of the analysis has been implemented in FSpec, an offline partial evaluator for a subset of Fortran 77.
A Loop Optimization Technique Based on QuasiInvariance
 Proceedings of IFIP Conference on Software: Theory and Practice (16 th World Computer Congress 2000
, 2000
"... This paper introduces a novel technique called loop quasiinvariance code motion. It is a generalization of standard loopinvariance code motion, but based on loop quasiinvariance analysis. Loop quasiinvariance is similar to standard loopinvariance but allows for a finite number of iterations befor ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
This paper introduces a novel technique called loop quasiinvariance code motion. It is a generalization of standard loopinvariance code motion, but based on loop quasiinvariance analysis. Loop quasiinvariance is similar to standard loopinvariance but allows for a finite number of iterations before computations in a loop become invariant. In this paper we define the notion of loop quasiinvariance, present an algorithm for statically computing the optimal unfolding length in Whileprograms and give a transformation method. Our method can increase the accuracy of program analyses and improve the efficiency of programs by making loops smaller and faster. Our technique is wellsuited as supporting transformation in compilers, partial evaluators, and other program transformers
Semantic Analyzer of ModulaPrograms
"... properties for the analysis of equality relations are presented by means of contextfree grammars of a special type. This presentation allows to perform all operations over semantic properties in an almostlinear average time ? This work was supported by the Russian Foundation for Basic Researche ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
properties for the analysis of equality relations are presented by means of contextfree grammars of a special type. This presentation allows to perform all operations over semantic properties in an almostlinear average time ? This work was supported by the Russian Foundation for Basic Researches under Grant # 970100724 and the International Soros Science Educational Program under Grant A971521. c fl SpringerVerlag Berlin Heidelberg 1997. Printed in Germany. Lecture Notes in Computer Science, volume 1302, pages 361363. Proceedings of Fourth International Static Analysis Symposium, 1997. 361 with respect to a grammar size (number of rules). The abstract semantic domain does not satisfy the chain condition, and therefore it requires a widening operator, whose construction is given in [5]. A coarse upper bound on time for the algorithm is O(n 2 G 2 max ), where n is the size of the program, and Gmax is the maximum of the sizes of the grammars appearing in the course...
A Technique for Variable Dependence Driven Loop Peeling
, 2002
"... Loops in programs are the source of many optimizations leading to performance improvements, particularly on modern highperformance architectures as well as vector and multithreaded systems. Among the optimization techniques, loop peeling is an important technique that can be used to paralleliz ..."
Abstract
 Add to MetaCart
Loops in programs are the source of many optimizations leading to performance improvements, particularly on modern highperformance architectures as well as vector and multithreaded systems. Among the optimization techniques, loop peeling is an important technique that can be used to parallelize computations.
Analysis of Equality Relationships for Imperative Programs
, 2008
"... In this article, we discuss a flow–sensitive analysis of equality relationships for imperative programs. We describe its semantic domains, general purpose operations over abstract computational states (term evaluation and identification, semantic completion, widening operator, etc.) and semantic tra ..."
Abstract
 Add to MetaCart
In this article, we discuss a flow–sensitive analysis of equality relationships for imperative programs. We describe its semantic domains, general purpose operations over abstract computational states (term evaluation and identification, semantic completion, widening operator, etc.) and semantic transformers corresponding to program constructs. We summarize our experiences from the last few years concerning this analysis and give attention to applications of analysis of automatically generated code. Among other illustrating examples, we consider a program for which the analysis diverges without a widening operator and results of analyzing residual programs produced by some automatic partial evaluator. An example of analysis of a program generated by this evaluator is given.