% Bibliography downloaded from https://researchr.org/downloadbibtex/bibliography/refactoring @inproceedings{Fowler00, title = {Refactoring}, author = {Martin Fowler}, year = {2000}, doi = {10.1109/TOOLS.2000.10059}, url = {http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.10059}, tags = {refactoring}, researchr = {https://researchr.org/publication/Fowler00}, cites = {0}, citedby = {0}, pages = {437}, booktitle = {TOOLS 2000: 34th International Conference on Technology of Object-Oriented Languages and Systems, 30 July - 3 August 2000, Santa Barbara, CA, USA}, editor = {Qizoyan Li and Donald Firesmith and Richard Riehle and Bertrand Meyer}, publisher = {IEEE Computer Society}, isbn = {0-7695-0774-3}, } @inproceedings{Fowler02:0, title = {Refactoring}, author = {Martin Fowler}, year = {2002}, doi = {10.1145/581339.581453}, url = {http://doi.acm.org/10.1145/581339.581453}, tags = {refactoring}, researchr = {https://researchr.org/publication/Fowler02%3A0}, cites = {0}, citedby = {0}, pages = {701}, booktitle = {Proceedings of the 22rd International Conference on Software Engineering, ICSE 2002, 19-25 May 2002, Orlando, Florida, USA}, publisher = {ACM}, } @inproceedings{OlmosV05, title = {Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules}, author = {Karina Olmos and Eelco Visser}, year = {2005}, doi = {10.1007/978-3-540-31985-6_14}, url = {https://doi.org/10.1007/978-3-540-31985-6_14}, tags = {programming languages, model-to-model transformation, optimization, rule-based, intermediate representation, program analysis, meta programming, data-flow language, graph transformation, meta-model, dynamic rewrite rules, modeling language, modeling, variable binding, Stratego/XT, model refactoring, refactoring, transformation language, language modeling, composition, dynamic rules, points-to analysis, domain analysis, dependent dynamic rewrite rules, analysis, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, rule-based refactoring, compiler, model transformation, programming, program optimization, Meta-Environment, rewriting, data-flow analysis, systematic-approach, rewriting strategies, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/OlmosV05}, cites = {0}, citedby = {0}, pages = {204-220}, booktitle = {Compiler Construction, 14th International Conference, CC 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, UK, April 4-8, 2005, Proceedings}, editor = {Rastislav Bodík}, volume = {3443}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-25411-0}, } @inproceedings{HemelVV08, title = {{WebWorkFlow}: An Object-Oriented Workflow Modeling Language for Web Applications}, author = {Zef Hemel and Ruben Verhaaf and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-87875-9_8}, url = {http://dx.doi.org/10.1007/978-3-540-87875-9_8}, tags = {workflow patterns, model-to-model transformation, interaction design, WebDSL, transformation engineering, completeness, pattern language, meta-model, modeling language, modeling, language engineering, transformation language, language modeling, web engineering, language design, model-driven development, source-to-source, model-driven engineering, object-role modeling, model transformation, web applications, DSL, abstraction, Meta-Environment, workflow, process modeling, WebWorkFlow, meta-objects, transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelVV08}, cites = {0}, citedby = {6}, pages = {113-127}, booktitle = {Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings}, editor = {Krzysztof Czarnecki and Ileana Ober and Jean-Michel Bruel and Axel Uhl and Markus Völter}, volume = {5301}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-87874-2}, } @phdthesis{Opdyke1992, title = {Refactoring Object-Oriented Frameworks}, author = {William F. Opdyke}, year = {1992}, tags = {object-oriented programming, reusable components, meta programming, application framework, meta-model, model refactoring, refactoring, constraints, reuse, object-role modeling, information models, subject-oriented programming, Meta-Environment, design, feature-oriented programming, meta-objects}, researchr = {https://researchr.org/publication/Opdyke1992}, cites = {0}, citedby = {0}, school = {University of Illinois}, address = {Urbana-Champaign, IL, USA}, advisor = {Ralph E. Johnson}, } @article{JohannV00, title = {Warm fusion in {Stratego}: A case study in generation of program transformation systems}, author = {Patricia Johann and Eelco Visser}, year = {2000}, doi = {10.1023/A:1018956702672}, url = {http://dx.doi.org/10.1023/A:1018956702672}, tags = {programming languages, optimization, rule-based, data-flow language, generic programming, case study, graph transformation, Stratego/XT, traversal, deforestation, transformation language, functional programming, language design, Haskell, data-flow programming, little language, data-flow, graph-rewriting, rules, programming paradigms, code generation, warm fusion, transformation system, programming, program optimization, higher-order transformations, rewriting, design, extensible language, rewriting strategies, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/JohannV00}, cites = {1}, citedby = {0}, journal = {Annals of Mathematics and Artificial Intelligence}, volume = {29}, number = {1-4}, pages = {1-34}, } @article{Visser01-WRS, title = {A Survey of Strategies in Program Transformation Systems}, author = {Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00270-1}, url = {https://doi.org/10.1016/S1571-0661(04)00270-1}, tags = {programming languages, optimization, rule-based, transformation engineering, graph transformation, reverse engineering, refactoring, language engineering, transformation language, software language engineering, language design, strategies, graph-rewriting, survey, software engineering, rules, transformation system, rule-based refactoring, compiler, programming, program optimization, rewriting, design, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser01-WRS}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {57}, pages = {109-143}, } @inproceedings{Visser07, title = {{WebDSL}: {A} Case Study in Domain-Specific Language Engineering}, author = {Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-88643-3_7}, url = {http://dx.doi.org/10.1007/978-3-540-88643-3_7}, tags = {WebDSL, reusable components, DSL engineering, web application development, data-flow language, pattern language, case study, software components, SDF, meta-model, abstract syntax, modeling language, Stratego/XT, language engineering, software language engineering, language modeling, software component, web engineering, language design, reuse, model-driven development, data-flow, survey, software engineering, model-driven engineering, web applications, DSL, Meta-Environment, incremental, design, process modeling, systematic-approach, ASF+SDF, language, Stratego, domain-specific language}, researchr = {https://researchr.org/publication/Visser07}, cites = {0}, citedby = {9}, pages = {291-373}, booktitle = {Generative and Transformational Techniques in Software Engineering II, International Summer School, {GTTSE} 2007}, editor = {Ralf Lämmel and Joost Visser and João Saraiva}, volume = {5235}, series = {Lecture Notes in Computer Science}, address = {Braga, Portugal}, publisher = {Springer}, isbn = {978-3-540-88642-6}, } @article{Visser01-DR, title = {Scoped Dynamic Rewrite Rules}, author = {Eelco Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)00298-1}, url = {https://doi.org/10.1016/S1571-0661(04)00298-1}, tags = {programming languages, rule-based, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, graph-rewriting, rules, context-aware, access control, rewriting, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser01-DR}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {59}, number = {4}, pages = {375-396}, } @inproceedings{OlmosV03, title = {Turning Dynamic Typing into Static Typing by Program Specialization in a Compiler Front-end for {Octave}}, author = {Karina Olmos and Eelco Visser}, year = {2003}, doi = {10.1109/SCAM.2003.1238040}, url = {https://doi.org/10.1109/SCAM.2003.1238040}, tags = {programming languages, type inference, dynamic typing, interpreter, Stratego/XT, transformation language, Octave, language design, type system, type checking, transformation system, compiler, higher-order transformations, program specialization, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/OlmosV03}, cites = {0}, citedby = {0}, pages = {141-150}, booktitle = {3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands}, publisher = {IEEE Computer Society}, isbn = {0-7695-2005-7}, } @inproceedings{FischerV03, title = {Adding Concrete Syntax to a {Prolog}-Based Program Synthesis System (Extended Abstract)}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25938-1_5}, url = {https://doi.org/10.1007/978-3-540-25938-1_5}, tags = {programming languages, model-to-model transformation, object-oriented programming, concrete object syntax, Prolog, rule-based, meta programming, AutoBayes, meta-model, abstract syntax, Stratego/XT, transformation language, source-to-source, transformation system, model transformation, programming, subject-oriented programming, Meta-Environment, systematic-approach, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/FischerV03}, cites = {0}, citedby = {0}, pages = {56-58}, booktitle = {Logic Based Program Synthesis and Transformation, 13th International Symposium LOPSTR 2003, Uppsala, Sweden, August 25-27, 2003, Revised Selected Papers}, editor = {Maurice Bruynooghe}, volume = {3018}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22174-3}, } @article{KallebergV08, title = {Fusing a Transformation Language with an Open Compiler}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2008}, doi = {10.1016/j.entcs.2008.03.042}, url = {http://dx.doi.org/10.1016/j.entcs.2008.03.042}, tags = {programming languages, model-to-model transformation, object-oriented programming, rule-based, Java, program analysis, Eclipse, completeness, data-flow language, graph transformation, interpreter, abstract syntax, Stratego/XT, transformation language, term rewriting, functional programming, Eclipse Java Compiler, points-to analysis, domain analysis, analysis, type system, reuse, data-flow programming, data-flow, source-to-source, graph-rewriting, logic programming, transformation system, compiler, model transformation, open compiler, subject-oriented programming, context-aware, logic, Spoofax, rewriting logic, rewriting, data-flow analysis, parsing, feature-oriented programming, open-source, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/KallebergV08}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {203}, number = {2}, pages = {21-36}, } @inproceedings{LuttikV97, title = {Specification of Rewriting Strategies}, author = {Bas Luttik and Eelco Visser}, year = {1997}, month = {November}, tags = {control systems, rule-based, case study, SDF, graph transformation, traversal, transformation language, term rewriting, composition, traversal combinators, graph-rewriting, rules, transformation system, rewriting, rewriting strategies, ASF+SDF, transformation, Stratego}, researchr = {https://researchr.org/publication/LuttikV97}, cites = {0}, citedby = {0}, booktitle = {2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997)}, editor = {M. P. A. Sellink}, series = {Electronic Workshops in Computing}, address = {Berlin}, publisher = {Springer-Verlag}, } @inproceedings{BravenboerKVV06, title = {{Stratego/XT 0.16}: components for transformation systems}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2006}, doi = {10.1145/1111542.1111558}, url = {http://doi.acm.org/10.1145/1111542.1111558}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV06}, cites = {0}, citedby = {0}, pages = {95-99}, booktitle = {Proceedings of the 2006 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2006, Charleston, South Carolina, USA, January 9-10, 2006}, editor = {John Hatcliff and Frank Tip}, publisher = {ACM}, isbn = {1-59593-196-1}, } @inproceedings{FischerV04-dagstuhl, title = {Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax}, author = {Bernd Fischer and Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_14}, url = {https://doi.org/10.1007/978-3-540-25935-0_14}, tags = {programming languages, object-oriented programming, concrete object syntax, Prolog, rule-based, program analysis, meta programming, data-flow language, generic programming, program synthesis, AutoBayes, SDF, meta-model, XML, abstract syntax, XML Schema, Stratego/XT, analysis, constraints, data-flow programming, data-flow, migration, code generation, language embedding, programming, subject-oriented programming, Meta-Environment, data-flow analysis, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, Stratego}, researchr = {https://researchr.org/publication/FischerV04-dagstuhl}, cites = {0}, citedby = {0}, pages = {239-253}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @inproceedings{BravenboerVVV05, title = {Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax}, author = {Martin Bravenboer and Rob Vermaas and Jurgen J. Vinju and Eelco Visser}, year = {2005}, doi = {10.1007/11561347_12}, url = {http://dx.doi.org/10.1007/11561347_12}, tags = {programming languages, AspectJ, object-oriented programming, concrete object syntax, rule-based, Java, syntax definition, meta programming, SDF, meta-model, disambiguation, type system, reuse, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerVVV05}, cites = {0}, citedby = {2}, pages = {157-172}, booktitle = {Generative Programming and Component Engineering, 4th International Conference, GPCE 2005}, editor = {Robert Glück and Michael R. Lowry}, volume = {3676}, series = {Lecture Notes in Computer Science}, address = {Tallinn, Estonia}, publisher = {Springer}, isbn = {3-540-29138-5}, } @article{DolstraV02, title = {Building Interpreters with Rewriting Strategies}, author = {Eelco Dolstra and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80427-4}, url = {https://doi.org/10.1016/S1571-0661(04)80427-4}, tags = {laziness, programming languages, optimization, semantics, rule-based, pattern language, dynamic rewrite rules, interpreter, Stratego/XT, dynamic rules, parallel programming, reuse, graph-rewriting, rules, pattern matching, programming, program optimization, rewriting, systematic-approach, rewriting strategies, interpreters, Stratego}, researchr = {https://researchr.org/publication/DolstraV02}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {65}, number = {3}, pages = {57-76}, } @inproceedings{GroenewegenV08, title = {Declarative Access Control for {WebDSL}: Combining Language Integration and Separation of Concerns}, author = {Danny M. Groenewegen and Eelco Visser}, year = {2008}, doi = {10.1109/ICWE.2008.15}, url = {http://dx.doi.org/10.1109/ICWE.2008.15}, tags = {WebDSL, semantics, rule-based, separation of concerns, transformation language, action semantics, language design, weaving, rules, web applications, DSL, abstraction, access control policies, access control, aspect weaving, design, role-based access control, systematic-approach, transformation, domain-specific language}, researchr = {https://researchr.org/publication/GroenewegenV08}, cites = {26}, citedby = {7}, pages = {175-188}, booktitle = {Proceedings of the Eighth International Conference on Web Engineering, ICWE 2008, 14-18 July 2008, Yorktown Heights, New York, USA}, editor = {Daniel Schwabe and Francisco Curbera and Paul Dantzig}, publisher = {IEEE}, isbn = {978-0-7695-3261-5}, } @article{BravenboerDOV06, title = {Program Transformation with Scoped Dynamic Rewrite Rules}, author = {Martin Bravenboer and Arthur van Dam and Karina Olmos and Eelco Visser}, year = {2006}, url = {https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06}, tags = {programming languages, semantics, rule-based, formal semantics, graph transformation, dynamic rewrite rules, Stratego/XT, transformation language, term rewriting, language design, graph-rewriting, rules, operational semantics, context-aware, access control, rewriting, design, role-based access control, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerDOV06}, cites = {0}, citedby = {4}, journal = {Fundamenta Informaticae}, volume = {69}, number = {1-2}, pages = {123-178}, } @inproceedings{Visser05-SCAM, title = {Transformations for Abstractions}, author = {Eelco Visser}, year = {2005}, month = {October}, doi = {10.1109/SCAM.2005.26}, url = {http://dx.doi.org/10.1109/SCAM.2005.26}, tags = {programming languages, meta programming, case study, Stratego/XT, transformation language, extensible languages, programming, abstraction, Meta-Environment, extensible language, interpreters, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser05-SCAM}, cites = {0}, citedby = {1}, booktitle = {5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2005), 30 September - 1 October 2005, Budapest, Hungary}, publisher = {IEEE Computer Society}, isbn = {0-7695-2292-0}, } @article{BravenboerKVV08, title = {{Stratego/XT 0.17}. {A} language and toolset for program transformation}, author = {Martin Bravenboer and Karl Trygve Kalleberg and Rob Vermaas and Eelco Visser}, year = {2008}, doi = {10.1016/j.scico.2007.11.003}, url = {http://dx.doi.org/10.1016/j.scico.2007.11.003}, tags = {control systems, programming languages, object-oriented programming, concrete object syntax, reusable components, rule-based, completeness, meta programming, pattern language, graph transformation, Stratego/XT, transformation language, reuse, graph-rewriting, rules, transformation system, DSL, programming, subject-oriented programming, context-aware, abstraction, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/BravenboerKVV08}, cites = {0}, citedby = {7}, journal = {Science of Computer Programming}, volume = {72}, number = {1-2}, pages = {52-70}, } @inproceedings{Visser01, title = {Stratego: A Language for Program Transformation Based on Rewriting Strategies}, author = {Eelco Visser}, year = {2001}, doi = {10.1007/3-540-45127-7_27}, url = {https://doi.org/10.1007/3-540-45127-7_27}, tags = {control systems, programming languages, optimization, object-oriented programming, rule-based, transformation engineering, pattern language, generic programming, graph transformation, Stratego/XT, traversal, refactoring, language engineering, transformation language, software language engineering, term rewriting, reuse, termination, graph-rewriting, software engineering, rules, programming paradigms, migration, transformation system, rule-based refactoring, compiler, subject-oriented programming, program optimization, higher-order transformations, rewriting, rewriting strategies, feature-oriented programming, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser01}, cites = {0}, citedby = {1}, pages = {357-362}, booktitle = {Rewriting Techniques and Applications, 12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22-24, 2001, Proceedings}, editor = {Aart Middeldorp}, volume = {2051}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-42117-3}, } @article{VisserB98, title = {A core language for rewriting}, author = {Eelco Visser and Zine-El-Abidine Benaissa}, year = {1998}, doi = {10.1016/S1571-0661(05)80027-1}, url = {http://dx.doi.org/10.1016/S1571-0661(05)80027-1}, tags = {rule-based, SDF, graph transformation, traversal, transformation language, term rewriting, graph-rewriting, rules, transformation system, abstraction, rewriting, rewriting strategies, ASF+SDF, transformation}, researchr = {https://researchr.org/publication/VisserB98}, cites = {0}, citedby = {1}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {15}, pages = {422-441}, } @article{Wadler90:0, title = {Deforestation: Transforming Programs to Eliminate Trees}, author = {Philip Wadler}, year = {1990}, researchr = {https://researchr.org/publication/Wadler90%3A0}, cites = {0}, citedby = {0}, journal = {Theoretical Computer Science}, volume = {73}, number = {2}, pages = {231-248}, } @inproceedings{KatsBV08, title = {Mixing source and bytecode: a case for compilation by normalization}, author = {Lennart C. L. Kats and Martin Bravenboer and Eelco Visser}, year = {2008}, doi = {10.1145/1449764.1449772}, url = {http://doi.acm.org/10.1145/1449764.1449772}, tags = {compilation by normalization, rule-based, Java, synchronization, translation, meta-model, modeling language, Stratego/XT, language modeling, composition, constraints, source-to-source, C++, Dryad, security, compiler, Meta-Environment, extensible language, systematic-approach, open-source, Stratego, JavaFront, domain-specific language}, researchr = {https://researchr.org/publication/KatsBV08}, cites = {44}, citedby = {3}, pages = {91-108}, booktitle = {Proceedings of the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-23, 2008, Nashville, TN, USA}, editor = {Gail E. Harris}, publisher = {ACM}, isbn = {978-1-60558-215-3}, } @inproceedings{VisserBT98, title = {Building Program Optimizers with Rewriting Strategies}, author = {Eelco Visser and Zine-El-Abidine Benaissa and Andrew P. Tolmach}, year = {1998}, doi = {10.1145/289423.289425}, url = {http://doi.acm.org/10.1145/289423.289425}, tags = {programming languages, optimization, semantics, rule-based, meta programming, graph transformation, variable binding, Stratego/XT, transformation language, term rewriting, composition, graph-rewriting, rules, C++, program optimization, Meta-Environment, higher-order transformations, rewriting, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/VisserBT98}, cites = {0}, citedby = {5}, pages = {13-26}, booktitle = {Proceedings of the third ACM SIGPLAN international conference on Functional programming}, editor = {Matthias Felleisen and Paul Hudak and Christian Queinnec}, address = {Baltimore, Maryland, United States}, publisher = {ACM}, } @inproceedings{Visser02, title = {Meta-programming with Concrete Object Syntax}, author = {Eelco Visser}, year = {2002}, doi = {10.1007/3-540-45821-2_19}, url = {https://doi.org/10.1007/3-540-45821-2_19}, tags = {programming languages, model-to-model transformation, object-oriented programming, concrete object syntax, syntax definition, meta programming, case study, SDF, meta-model, abstract syntax, Stratego/XT, transformation language, source-to-source, model transformation, programming, subject-oriented programming, Meta-Environment, parsing, scannerless parsing, systematic-approach, ASF+SDF, feature-oriented programming, concrete syntax, meta-objects, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser02}, cites = {23}, citedby = {6}, pages = {299-315}, booktitle = {Generative Programming and Component Engineering, ACM SIGPLAN/SIGSOFT Conference, GPCE 2002, Pittsburgh, PA, USA, October 6-8, 2002, Proceedings}, editor = {Don S. Batory and Charles Consel and Walid Taha}, volume = {2487}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-44284-7}, } @inproceedings{HemelKV08, title = {Code Generation by Model Transformation}, author = {Zef Hemel and Lennart C. L. Kats and Eelco Visser}, year = {2008}, doi = {10.1007/978-3-540-69927-9_13}, url = {http://dx.doi.org/10.1007/978-3-540-69927-9_13}, tags = {programming languages, model-to-model transformation, object-oriented programming, WebDSL, concrete object syntax, rule-based, transformation engineering, syntax definition, meta programming, data-flow language, pattern language, case study, graph transformation, meta-model, modeling language, modeling, language engineering, transformation language, software language engineering, language modeling, web engineering, data-flow programming, model-driven development, data-flow, source-to-source, graph-rewriting, software engineering, rules, model-driven engineering, C++, programming paradigms, code generation, object-role modeling, aspect oriented programming, model transformation, web applications, DSL, subject-oriented programming, Meta-Environment, rewriting, rewriting strategies, feature-oriented programming, concrete syntax, open-source, meta-objects, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/HemelKV08}, cites = {0}, citedby = {3}, pages = {183-198}, booktitle = {Theory and Practice of Model Transformations, First International Conference, ICMT 2008, Zürich, Switzerland, July 1-2, 2008, Proceedings}, editor = {Antonio Vallecillo and Jeffrey G. Gray and Alfonso Pierantonio}, volume = {5063}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69926-2}, } @inproceedings{Visser03, title = {Program Transformation with {Stratego/XT}: Rules, Strategies, Tools, and Systems in {Stratego/XT 0.9}}, author = {Eelco Visser}, year = {2003}, doi = {10.1007/978-3-540-25935-0_13}, url = {https://doi.org/10.1007/978-3-540-25935-0_13}, tags = {control systems, programming languages, rule-based, graph transformation, Stratego/XT, transformation language, composition, graph-rewriting, rules, programming paradigms, transformation system, abstraction, rewriting, parsing, rewriting strategies, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/Visser03}, cites = {0}, citedby = {4}, pages = {216-238}, booktitle = {Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers}, editor = {Christian Lengauer and Don S. Batory and Charles Consel and Martin Odersky}, volume = {3016}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-22119-0}, } @article{JongeVV01, title = {{XT}: a bundle of program transformation tools}, author = {Merijn de Jonge and Eelco Visser and Joost Visser}, year = {2001}, doi = {10.1016/S1571-0661(04)80921-6}, url = {http://dx.doi.org/10.1016/S1571-0661(04)80921-6}, tags = {model-to-model transformation, rule-based, Stratego/XT, model-driven development, source-to-source, transformation system, model transformation, programming, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/JongeVV01}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {44}, number = {2}, pages = {79-86}, } @article{Visser05, title = {A survey of strategies in rule-based program transformation systems}, author = {Eelco Visser}, year = {2005}, doi = {10.1016/j.jsc.2004.12.011}, url = {http://dx.doi.org/10.1016/j.jsc.2004.12.011}, tags = {programming languages, transformation strategy, tree parsing, rule-based, attribute grammars, tree traversal, data-flow language, pattern language, generic programming, congruence operators, transformation strategies, graph transformation, traversal, transformation language, term rewriting, generic traversal strategies, tree pattern matching, data-flow programming, program transformation system, data-flow, graph-rewriting, survey, rules, pattern matching, strategy annotations, strategy combinators, transformation system, program representation, programming, context-aware, rule-based program transformation, context-sensitive transformation, higher-order transformations, rewriting, parsing, systematic-approach, rewriting strategies, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Visser05}, cites = {1}, citedby = {1}, journal = {Journal of Symbolic Computation}, volume = {40}, number = {1}, pages = {831-873}, } @article{KallebergV06, title = {Combining Aspect-Oriented and Strategic Programming}, author = {Karl Trygve Kalleberg and Eelco Visser}, year = {2006}, doi = {10.1016/j.entcs.2005.06.035}, url = {http://dx.doi.org/10.1016/j.entcs.2005.06.035}, tags = {programming languages, object-oriented programming, rule-based, transformation aspects, data-flow language, graph transformation, exceptions, Stratego/XT, transformation language, term rewriting, type system, data-flow programming, data-flow, graph-rewriting, rules, programming paradigms, type checking, strategic programming, debugging, transformation system, Strategic term rewriting, aspect oriented programming, programming, subject-oriented programming, rewriting, feature-oriented programming, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/KallebergV06}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {147}, number = {1}, pages = {5-30}, } @article{OlmosV02, title = {Strategies for Source-to-Source Constant Progagation}, author = {Karina Olmos and Eelco Visser}, year = {2002}, doi = {10.1016/S1571-0661(04)80605-4}, url = {https://doi.org/10.1016/S1571-0661(04)80605-4}, tags = {control systems, model-to-model transformation, optimization, rule-based, graph transformation, dynamic rewrite rules, abstract syntax, Stratego/XT, data-flow programming, data-flow, source-to-source, graph-rewriting, rules, transformation system, model transformation, program optimization, rewriting, constant propagation, rewriting strategies, open-source, transformation, Stratego, program transformation}, researchr = {https://researchr.org/publication/OlmosV02}, cites = {0}, citedby = {0}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {70}, number = {6}, pages = {156-175}, } @inproceedings{BravenboerV07, title = {Designing Syntax Embeddings and Assimilations for Language Libraries}, author = {Martin Bravenboer and Eelco Visser}, year = {2007}, doi = {10.1007/978-3-540-69073-3_5}, url = {http://dx.doi.org/10.1007/978-3-540-69073-3_5}, tags = {syntax embedding, syntax definition, assimilation, transformation language, architecture, language design, DSL, language libraries, design, transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerV07}, cites = {24}, citedby = {1}, pages = {34-46}, booktitle = {Models in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers}, editor = {Holger Giese}, volume = {5002}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-540-69069-6}, } @inproceedings{Fowler02, title = {Refactoring: Improving the Design of Existing Code}, author = {Martin Fowler}, year = {2002}, url = {http://link.springer.de/link/service/series/0558/bibs/2418/24180256.htm}, tags = {refactoring, design}, researchr = {https://researchr.org/publication/Fowler02}, cites = {0}, citedby = {0}, pages = {256}, booktitle = {Extreme Programming and Agile Methods - XP/Agile Universe 2002, Second XP Universe and First Agile Universe Conference}, editor = {Don Wells and Laurie A. Williams}, volume = {2418}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-44024-0}, } @inproceedings{KatsSV09, title = {Decorated Attribute Grammars: Attribute Evaluation Meets Strategic Programming}, author = {Lennart C. L. Kats and Anthony M. Sloane and Eelco Visser}, year = {2009}, doi = {10.1007/978-3-642-00722-4_11}, url = {http://dx.doi.org/10.1007/978-3-642-00722-4_11}, tags = {programming languages, rule-based, attribute grammars, program analysis, etaps, data-flow language, pattern language, generic programming, Stratego/XT, traversal, analysis, data-flow programming, data-flow, graph-rewriting, rules, C++, strategic programming, programming, rewriting, data-flow analysis, Aster, grammar, Stratego}, researchr = {https://researchr.org/publication/KatsSV09}, cites = {36}, citedby = {1}, pages = {142-157}, booktitle = {Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings}, editor = {Oege de Moor and Michael I. Schwartzbach}, volume = {5501}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {978-3-642-00721-7}, } @inproceedings{BravenboerGV06, title = {{MetaBorg} in Action: Examples of Domain-Specific Language Embedding and Assimilation Using {Stratego/XT}}, author = {Martin Bravenboer and René de Groot and Eelco Visser}, year = {2006}, doi = {10.1007/11877028_10}, url = {http://dx.doi.org/10.1007/11877028_10}, tags = {generative programming, programming languages, rule-based, transformation engineering, Java, generic programming, assimilation, graph transformation, Stratego/XT, language engineering, domain-specific language embedding, transformation language, composition, MetaBorg, language design, graph-rewriting, transformation system, language embedding, DSL, programming, abstraction, language composition, rewriting, transformation, Stratego, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/BravenboerGV06}, cites = {0}, citedby = {3}, pages = {297-311}, booktitle = {Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers}, editor = {Ralf Lämmel and João Saraiva and Joost Visser}, volume = {4143}, series = {Lecture Notes in Computer Science}, publisher = {Springer}, isbn = {3-540-45778-X}, } @inproceedings{BravenboerDV07, title = {Preventing injection attacks with syntax embeddings}, author = {Martin Bravenboer and Eelco Dolstra and Eelco Visser}, year = {2007}, doi = {10.1145/1289971.1289975}, url = {http://doi.acm.org/10.1145/1289971.1289975}, tags = {programming languages, syntax embedding, Java, preventing injection attacks, generic programming, injection attack, SDF, XML, embedded software, XML Schema, SQL, security, language embedding, DSL, programming, systematic-approach, ASF+SDF, grammar, query language}, researchr = {https://researchr.org/publication/BravenboerDV07}, cites = {0}, citedby = {4}, pages = {3-12}, booktitle = {Generative Programming and Component Engineering, 6th International Conference, GPCE 2007}, editor = {Charles Consel and Julia L. Lawall}, address = {Salzburg, Austria}, publisher = {ACM}, isbn = {978-1-59593-855-8}, }