The synthesizer generator: a system for constructing language-based editors
The synthesizer generator: a system for constructing language-based editors
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Software Change Impact Analysis
Software Change Impact Analysis
A rule-based language for programming software updates
Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming
Impact Analysis - Towards a Framework for Comparison
ICSM '93 Proceedings of the Conference on Software Maintenance
Programs Are Abstract Data Types
Proceedings of the 16th IEEE international conference on Automated software engineering
Accomplishments and research challenges in meta-programming
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
Monadification of functional programs
Science of Computer Programming - Special issue on program transformation
Aspectual Caml: an aspect-oriented functional language
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Semantic patches considered helpful
ACM SIGOPS Operating Systems Review
An update calculus for expressing type-safe program updates
Science of Computer Programming
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Journal of Visual Languages and Computing
Hi-index | 0.00 |
Many software maintenance problems are caused by using text editors to change programs. A more systematic and reliable way of performing program updates is to express changes with an update language. In particular, updates should preserve the syntax- and typecorrectness of the transformed object programs. We describe an update calculus that can be used to update lambdacalculus programs. We develop a type system for the update language that infers the possible type changes that can be caused by an update program. We demonstrate that type-safe update programs that fulfill certain structural constraints preserve the type-correctness of lambda terms.