Conditional rewrite rules: Confluence and termination
Journal of Computer and System Sciences
A generator for language-specific debugging systems
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
The syntax definition formalism SDF—reference manual—
ACM SIGPLAN Notices
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Occurrences in debugger specifications
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Handbook of logic in computer science (vol. 2)
Computing in Systems Described by Equations
Computing in Systems Described by Equations
Interprocedural Dynamic Slicing
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
STACS '87 Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science
OPTVIEW: a new approach for examining optimized code
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A slicing-based approach for locating type errors
ACM Transactions on Software Engineering and Methodology (TOSEM)
Annals of Mathematics and Artificial Intelligence
Term rewriting with traversal functions
ACM Transactions on Software Engineering and Methodology (TOSEM)
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Information and Computation
A slicing-based approach for locating type errors
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Code Generation by Model Transformation
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
Mixing source and bytecode: a case for compilation by normalization
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Combining Aspect-Oriented and Strategic Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Information and Computation
A survey of strategies in rule-based program transformation systems
Journal of Symbolic Computation
Domain-Specific Languages for Composable Editor Plugins
Electronic Notes in Theoretical Computer Science (ENTCS)
Patching product line programs
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
The spoofax language workbench: rules for declarative specification of languages and IDEs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
PIL: a platform independent language for retargetable DSLs
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Mappings make data processing go 'round
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Term rewriting meets aspect-oriented programming
Processes, Terms and Cycles
Renovation of the Asf+Sdf meta-environment: current state of affairs
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
A case study of a slicing-based approach for locating type errors
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
A generic architecture for data flow analysis to support reverse engineering
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
An algorithm for layout preservation in refactoring transformations
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Traceability visualization in model transformations with tracevis
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Hi-index | 0.00 |
We are interested in generating interactive programming environments from formal language specifications and use term rewriting to execute these specifications. Functions defined in a specification operate on the abstract syntax tree of programs and the initial term for the rewriting process will consist of an application of some function (e.g., a type checker, evaluator or translator) to the syntax tree of a program. During the term rewriting process, pieces of the program such as identifiers, expressions, or statements, recur in intermediate terms. We want to formalize these recurrences and use them, for example, for associating positional information with messages in error reports, visualizing program execution, and constructing language-specific debuggers. Origins are relations between subterms of intermediate terms and subterms of the initial term. Origin tracking is a method for incrementally computing origins during rewriting. We give a formal definition of origins, and present a method for implementing origin tracking.