Formal Program Construction by Transformations-Computer-Aided, Intuition-Guided Programming
IEEE Transactions on Software Engineering
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program Transformation Systems
ACM Computing Surveys (CSUR)
Finite Differencing of Computable Expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Viewing A program Transformation System At Work
ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming
Transformational Derivation of an Improved Alias Analysis Algorithm
Higher-Order and Symbolic Computation
Finding application errors and security flaws using PQL: a program query language
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Relational queries over program traces
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Incrementalization across object abstraction
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Core role-based access control: efficient implementations by transformations
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Requirement enforcement by transformation automata
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
ASTLOG: a language for examining abstract syntax trees
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Stratego/XT 0.17. A language and toolset for program transformation
Science of Computer Programming
Efficient runtime invariant checking: a framework and case study
WODA '08 Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
Generating incremental implementations of object-set queries
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
A survey of strategies in rule-based program transformation systems
Journal of Symbolic Computation
Alias analysis for optimization of dynamic languages
Proceedings of the 6th symposium on Dynamic languages
Composing transformations for instrumentation and optimization
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
From clarity to efficiency for distributed algorithms
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
High-Level executable specifications of distributed algorithms
SSS'12 Proceedings of the 14th international conference on Stabilization, Safety, and Security of Distributed Systems
Hi-index | 0.00 |
This paper describes a language and framework that allow coordinated transformations driven by invariants to be specified declaratively, as invariant rules, and applied automatically. The framework supports incremental maintenance of invariants for program design and optimization, as well as general transformations for instrumentation, refactoring, and other purposes. This paper also describes our implementations for transforming Python and C programs and experiments with successful applications of the systems in generating efficient implementations from clear and modular specifications, in instrumenting programs for runtime verification, profiling, and debugging, and in code refactoring.