A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
The parallel execution of DO loops
Communications of the ACM
BLISS: a language for systems programming
Communications of the ACM
Correctness-preserving program transformations
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Improving and refining programs by program manipulation
ACM '76 Proceedings of the 1976 annual conference
Symbolic evaluation of programs: a look at loop analysis
SYMSAC '76 Proceedings of the third ACM symposium on Symbolic and algebraic computation
The Paralyzer: Ivtran's Parallelism Analyzer and Synthesizer
Proceedings of the conference on Programming languages and compilers for parallel and vector machines
Program optimization - theory and practice
Proceedings of the conference on Programming languages and compilers for parallel and vector machines
Hints on programming language design.
Hints on programming language design.
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
AFIPS '71 (Fall) Proceedings of the November 16-18, 1971, fall joint computer conference
Property extraction in well-founded property sets
IEEE Transactions on Software Engineering
Program transformations in a denotational setting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program abstraction and instantiation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
Mechanical translation of set theoretic problem specifications into efficient RAM code-A case study
Journal of Symbolic Computation
Incremental data-flow analysis algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
GENESIS: An Extensible Database Management System
IEEE Transactions on Software Engineering
Crystal: from functional description to efficient parallel code
C3P Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 1
Proceedings of the 1989 ACM/IEEE conference on Supercomputing
A Language for Specifying Program Transformations
IEEE Transactions on Software Engineering
An approach to ordering optimizing transformations
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Experiences with data dependence abstractions
ICS '91 Proceedings of the 5th international conference on Supercomputing
Analysis and transformation in the ParaScope editor
ICS '91 Proceedings of the 5th international conference on Supercomputing
Parallel-program transformation using a metalanguage
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Scanning polyhedra with DO loops
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
A program integration algorithm that accommodates semantics-preserving transformations
ACM Transactions on Software Engineering and Methodology (TOSEM)
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Controlling application grain size on a network of workstations
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
From VHDL to efficient and first-time-right designs: a formal approach
ACM Transactions on Design Automation of Electronic Systems (TODAES)
A specification invariant technique for operation cost minimisation in flow-graphs
ISSS '94 Proceedings of the 7th international symposium on High-level synthesis
Compiler-directed data prefetching in multiprocessors with memory hierarchies
ICS '90 Proceedings of the 4th international conference on Supercomputing
Journal of VLSI Signal Processing Systems - Special issue on systematic trade-off analysis in signal processing systems design
Polygon rendering on a stream architecture
HWWS '00 Proceedings of the ACM SIGGRAPH/EUROGRAPHICS workshop on Graphics hardware
Accurately Selecting Block Size at Runtime in Pipelined Parallel Programs
International Journal of Parallel Programming
Program Transformation Systems
ACM Computing Surveys (CSUR)
Automatic Program Improvement: Variable Usage Transformations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Grammar-Based Definition of Metaprogramming Systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program developments: formal explanations of implementations
Communications of the ACM
Syntactic source to source transforms and program manipulation
Communications of the ACM
Data and memory optimization techniques for embedded systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Monoids for rapid data flow analysis
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Transformational programming: applications to algorithms and systems
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental data flow analysis
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partitioning and Labeling of Loops by Unimodular Transformations
IEEE Transactions on Parallel and Distributed Systems
A Partitioning Programming Environment for a Novel Parallel Architecture
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
A Note on Two Simple Transformations for Improving the Efficiency of an ILP System
ILP '00 Proceedings of the 10th International Conference on Inductive Logic Programming
Transformation-Based Diagnosis of Student Programs for Programming Tutoring Systems
IEEE Transactions on Software Engineering
A Specification Invariant Technique for Regularity Improvement between Flow-Graph Clusters
EDTC '96 Proceedings of the 1996 European conference on Design and Test
Two-level Partitioning of Image Processing Algorithms for the Parallel Map-oriented Machine
CODES '96 Proceedings of the 4th International Workshop on Hardware/Software Co-Design
Performance Analysis in CoDe-X Partitioning for Structural Programmable Accelerators
CODES '97 Proceedings of the 5th International Workshop on Hardware/Software Co-Design
A hierarchical basis for reordering transformations
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On proving the correctness of optimizing transformations in a digital design automation system
DAC '81 Proceedings of the 18th Design Automation Conference
Program refinement by transformation
ICSE '81 Proceedings of the 5th international conference on Software engineering
ICSE '81 Proceedings of the 5th international conference on Software engineering
An interactive tool for program manipulation
ICSE '81 Proceedings of the 5th international conference on Software engineering
On compiling embedded languages in LISP
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
A system for program refinement
ICSE '79 Proceedings of the 4th international conference on Software engineering
An interactive FORTRAN structuring aid
ICSE '79 Proceedings of the 4th international conference on Software engineering
On the necessary evolution towards improvement specialization in software production teams
SIGCPR '77 Proceedings of the fifteenth annual SIGCPR conference
The optimization of user programs for an Algebraic Manipulation System
SYMSAC '81 Proceedings of the fourth ACM symposium on Symbolic and algebraic computation
A simple optimizer for FP-like languages
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Program manipulation via an efficient production system
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Self-redefinition as a program manipulation strategy
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
An interactive high-level debugger for control-flow optimized programs (Summary)
SIGSOFT '83 Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging
Hardware/Software Co-Design for Data-Driven Xputer-based Accelerators
VLSID '97 Proceedings of the Tenth International Conference on VLSI Design: VLSI in Multimedia Applications
Efficient support for pipelining in software distributed shared memory systems
Real-time system security
Query transformations for improving the efficiency of ilp systems
The Journal of Machine Learning Research
A data driven system for syntactic transformations
ACM SIGPLAN Notices
ACM Transactions on Software Engineering and Methodology (TOSEM)
Configware and morphware going mainstream
Journal of Systems Architecture: the EUROMICRO Journal - Special issue: Reconfigurable systems
The digital divide of computing
Proceedings of the 1st conference on Computing frontiers
Experiences with optimizing two stream-based applications for cluster execution
Journal of Parallel and Distributed Computing
SPRINT: a tool to generate concurrent transaction-level models from sequential code
EURASIP Journal on Applied Signal Processing
An Abstract Model of Behavior for Hardware Descriptions
IEEE Transactions on Computers
Compiling for vector-thread architectures
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
Automatic diagnosis of student programs in programming learning environments
IJCAI'99 Proceedings of the 16th international joint conference on Artificial intelligence - Volume 2
Embedded Systems Design
Compiling lambda-expressions using continuations and factorizations
Computer Languages
Hierarchical overlapped tiling
Proceedings of the Tenth International Symposium on Code Generation and Optimization
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.04 |
The use of source-to-source program transformations has proved valuable in improving program performance. The concept of program manipulation is elucidated by describing its role in both conventional optimization and high level modification of conditional, looping, and procedure structures. An example program fragment written in an Algol-like language is greatly improved by transformations enabled by a user-provided assertion about a data array. A compilation model based on the use of source-to-source program transformations is used to provide a framework for discussing issues of code generation, compilation of high level languages such as APL, and eliminating overhead commonly associated with modular structured programming. Application of the compilation model to several different languages is discussed.