publications: - title: "Strategic polymorphism requires just two combinators!" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2002" doi: "http://arxiv.org/abs/cs.PL/0212048" abstract: "In previous work, we introduced the notion of functional strategies: first-class generic functions that can traverse terms of any type while mixing uniform and type-specific behaviour. Functional strategies transpose the notion of term rewriting strategies (with coverage of traversal) to the functional programming paradigm. Meanwhile, a number of Haskell-based models and combinator suites were proposed to support generic programming with functional strategies. In the present paper, we provide a compact and matured reconstruction of functional strategies. We capture strategic polymorphism by just two primitive combinators. This is done without commitment to a specific functional language. We analyse the design space for implementational models of functional strategies. For completeness, we also provide an operational reference model for implementing functional strategies (in Haskell). We demonstrate the generality of our approach by reconstructing representative fragments of the Strafunski library for functional strategies." links: doi: "http://arxiv.org/abs/cs.PL/0212048" tags: - "programming languages" - "rule-based" - "completeness" - "meta programming" - "generic programming" - "meta-model" - "modeling language" - "modeling" - "traversal" - "term rewriting" - "language modeling" - "functional programming" - "language design" - "Haskell" - "graph-rewriting" - "programming paradigms" - "strategic programming" - "Strategic term rewriting" - "programming" - "Meta-Environment" - "rewriting" - "design" - "coverage" - "systematic-approach" - "rewriting strategies" - "domain-specific language" researchr: "https://researchr.org/publication/cs-PL-0212048" cites: 0 citedby: 0 journal: "corr" volume: "cs.PL/0212048" kind: "article" key: "cs-PL-0212048" - title: "Foreword" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://www.elsevier.com/gej-ng/31/29/23/117/52/show/Products/notes/index.htt#001" links: doi: "http://www.elsevier.com/gej-ng/31/29/23/117/52/show/Products/notes/index.htt#001" researchr: "https://researchr.org/publication/BrandL02" cites: 0 citedby: 0 journal: "ENTCS" volume: "65" number: "3" pages: "144-145" kind: "article" key: "BrandL02" - title: "Scrap your boilerplate: a practical design pattern for generic programming" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Simon L. Peyton Jones" link: "http://research.microsoft.com/en-us/people/simonpj/" year: "2003" doi: "http://doi.acm.org/10.1145/604174.604179" links: doi: "http://doi.acm.org/10.1145/604174.604179" tags: - "generic programming" - "programming" - "design" researchr: "https://researchr.org/publication/LammelJ03" cites: 0 citedby: 0 pages: "26-37" booktitle: "tldi" kind: "inproceedings" key: "LammelJ03" - title: "Design patterns for functional strategic programming" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2002" doi: "http://doi.acm.org/10.1145/570186.570187" abstract: "We believe that design patterns can be an effective means of consolidating and communicating program construction expertise for functional programming, just as they have proven to be in object-oriented programming. The emergence of combinator libraries that develop a specific domain or programming idiom has intensified, rather than reduced, the need for design patterns. In previous work, we introduced the fundamentals and a supporting combinator library for functional strategic programming. This is an idiom for (general purpose) generic programming based on the notion of a functional strategy: a first-class generic function that can not only be applied to terms of any type, but which also allows generic traversal into subterms and can be customised with type-specific behaviour. This paper seeks to provide practising functional programmers with pragmatic guidance in crafting their own generic programs using functional strategies. To this end, we propose a novel description format for functional design patterns, and we initiate a catalogue of strategy design patterns. These design patterns aim at consolidating strategic programming expertise in accessible form." links: doi: "http://doi.acm.org/10.1145/570186.570187" tags: - "object-oriented programming" - "rule-based" - "meta programming" - "generic programming" - "traversal" - "functional programming" - "Haskell" - "strategic programming" - "programming" - "subject-oriented programming" - "Meta-Environment" - "design" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/LammelV02%3A0" cites: 0 citedby: 0 pages: "1-14" booktitle: "RULE" kind: "inproceedings" key: "LammelV02:0" - title: "What does aspect-oriented programming mean to Cobol?" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Kris De Schutter" link: "https://researchr.org/alias/kris-de-schutter" year: "2005" doi: "http://doi.acm.org/10.1145/1052898.1052907" links: doi: "http://doi.acm.org/10.1145/1052898.1052907" tags: - "object-oriented programming" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "Cobol" - "feature-oriented programming" researchr: "https://researchr.org/publication/LammelS05" cites: 0 citedby: 0 pages: "99-110" booktitle: "AOSD" kind: "inproceedings" key: "LammelS05" - title: "Evolution of Language Interpreters" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.032" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.032" tags: - "interpreter" researchr: "https://researchr.org/publication/Lammel05a" cites: 0 citedby: 0 journal: "ENTCS" volume: "127" number: "3" pages: "49-54" kind: "article" key: "Lammel05a" - title: "Grammar Adaptation" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2001" doi: "http://link.springer.de/link/service/series/0558/bibs/2021/20210550.htm" abstract: "We employ transformations for the adaptation of grammars. Grammars need to be adapted in grammar development, grammar maintenance, grammar reengineering, and grammar recovery. Starting from a few fundamental transformation primitives and combinators, we derive an operator suite for grammar adaptation. Three groups of operators are identified, namely operators for refactoring, construction and destruction. While refactoring is semantics-preserving in the narrow sense, transformations for construction and destruction require the consideration of relaxed notions of semantics preservation based on other grammar relations than equality of generated languages. The consideration of semantics and accompanying preservation properties is slightly complicated by the fact that we cannot insist on reduced grammars." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2021/20210550.htm" tags: - "semantics" - "rule-based" - "refactoring" - "transformation language" - "maintenance" - "rule-based refactoring" - "transformation" - "grammar" researchr: "https://researchr.org/publication/Lammel01%3A0" cites: 0 citedby: 1 pages: "550-570" booktitle: "FM" kind: "inproceedings" key: "Lammel01:0" - title: "Mappings Make Data Processing Go Round" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Erik Meijer" link: "https://researchr.org/alias/erik-meijer" year: "2006" doi: "http://dx.doi.org/10.1007/11877028_6" links: doi: "http://dx.doi.org/10.1007/11877028_6" tags: - "data-flow" researchr: "https://researchr.org/publication/LammelM06" cites: 0 citedby: 0 pages: "169-218" booktitle: "GTTSE" kind: "inproceedings" key: "LammelM06" - title: "Transformation of SDF syntax definitions in the ASF+SDF Meta-Environment" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" year: "2001" doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#004" abstract: "We describe FST - a Framework for SDF Transformation. FST supports the adaptation (in a broad sense) of grammars based on the syntax definition formalism SDF. The executable specification of FST is based on the ASF+SDF Meta-Environment. Grammar transformations form an important concept of grammar reengineering, implementation, recovery and others. Tool support for grammar transformations is essential to automate the corresponding processes. We have chosen SDF as target language for grammar transformations because it is an expressive syntax definition formalism which does not just cover BNF and extended BNF but also constructs for modularisation and disambiguation. The algebraic specification of the framework is immediately operational in the ASF+SDF Meta-Environment." links: doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#004" tags: - "model-to-model transformation" - "rule-based" - "syntax definition" - "SDF" - "meta-model" - "transformation language" - "disambiguation" - "process algebra" - "software evolution" - "source-to-source" - "algebraic specification" - "model transformation" - " algebra" - "Meta-Environment" - "grammarware" - "ASF+SDF" - "language evolution" - "meta-objects" - "transformation" - "grammar" researchr: "https://researchr.org/publication/LammelW01" cites: 0 citedby: 0 journal: "ENTCS" volume: "44" number: "2" pages: "9-33" kind: "article" key: "LammelW01" - title: "An Isabelle/HOL-based model of stratego-like traversal strategies" author: - name: "Markus Kaiser" link: "https://researchr.org/alias/markus-kaiser" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2009" doi: "http://doi.acm.org/10.1145/1599410.1599423" links: doi: "http://doi.acm.org/10.1145/1599410.1599423" tags: - "rule-based" - "traversal" - "Stratego" researchr: "https://researchr.org/publication/KaiserL09" cites: 0 citedby: 0 pages: "93-104" booktitle: "ppdp" kind: "inproceedings" key: "KaiserL09" - title: "Semantics-directed implementation of method-call interception" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Christian Stenzel" link: "https://researchr.org/alias/christian-stenzel" year: "2004" doi: "http://dx.doi.org/10.1049/ip-sen:20040080" links: doi: "http://dx.doi.org/10.1049/ip-sen:20040080" tags: - "semantics" researchr: "https://researchr.org/publication/LammelS04" cites: 0 citedby: 0 journal: "iee" volume: "151" number: "2" pages: "109-128" kind: "article" key: "LammelS04" - title: "Reverse Engineering Grammar Relationships" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2010" doi: "http://pi.informatik.uni-siegen.de/stt/30_2/01_Fachgruppenberichte/WSR2010/01-laemmel-zaytsev.pdf" links: doi: "http://pi.informatik.uni-siegen.de/stt/30_2/01_Fachgruppenberichte/WSR2010/01-laemmel-zaytsev.pdf" tags: - "reverse engineering" - "grammar" researchr: "https://researchr.org/publication/ammelZaytsev2010" cites: 0 citedby: 0 kind: "inproceedings" key: "ammelZaytsev2010" - title: "Techniques for Developing a Product Line of Product Line Tools: A Comparative Study" author: - name: "Lucinéia Turnes" link: "https://researchr.org/alias/lucin%C3%A9ia-turnes" - name: "Rodrigo Bonifácio" link: "https://researchr.org/alias/rodrigo-bonif%C3%A1cio" - name: "Vander Alves" link: "https://researchr.org/alias/vander-alves" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2011" doi: "http://doi.ieeecomputersociety.org/10.1109/SBCARS.2011.13" links: doi: "http://doi.ieeecomputersociety.org/10.1109/SBCARS.2011.13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sbcars/TurnesBAL11" researchr: "https://researchr.org/publication/TurnesBAL11" cites: 0 citedby: 0 pages: "11-20" booktitle: "sbcars" kind: "inproceedings" key: "TurnesBAL11" - title: "Empirical Language Analysis in Software Linguistics" author: - name: "Jean-Marie Favre" link: "https://researchr.org/alias/jean-marie-favre" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ekaterina Pek" link: "https://researchr.org/alias/ekaterina-pek" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_21" links: doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_21" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/FavreGLP10" tags: - "empirical" - "analysis" researchr: "https://researchr.org/publication/FavreGLP10" cites: 0 citedby: 0 pages: "316-326" booktitle: "SLE" kind: "inproceedings" key: "FavreGLP10" - title: "Scrap your boilerplate: prologically!" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2009" doi: "http://doi.acm.org/10.1145/1599410.1599412" links: doi: "http://doi.acm.org/10.1145/1599410.1599412" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ppdp/Lammel09" researchr: "https://researchr.org/publication/Lammel09" cites: 0 citedby: 0 pages: "7-12" booktitle: "ppdp" kind: "inproceedings" key: "Lammel09" - title: "Programming errors in traversal programs over structured data" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" - name: "Markus Kaiser" link: "https://researchr.org/alias/markus-kaiser" year: "2013" doi: "http://dx.doi.org/10.1016/j.scico.2011.11.006" links: doi: "http://dx.doi.org/10.1016/j.scico.2011.11.006" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/scp/LammelTK13" researchr: "https://researchr.org/publication/LammelTK13" cites: 0 citedby: 0 journal: "SCP" volume: "78" number: "10" pages: "1770-1808" kind: "article" key: "LammelTK13" - title: "A Unified Format for Language Documents" author: - name: "Vadim Zaytsev" link: "http://grammarware.net" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2010" month: "October" abstract: "We have analyzed a substantial number of language documentation artifacts, including language standards, language specifications, language reference manuals, as well as internal documents of standardization bodies. We have reverse-engineered their intended internal structure, and compared the results. The Language Document Format (LDF), was developed to specifically support the documentation domain. We have also integrated LDF into an engineering discipline for language documents including tool support, for example, for rendering language documents, extracting grammars and samples, and migrating existing documents into LDF. The definition of LDF, tool support for LDF, and LDF applications are freely available through SourceForge." links: "official abstract": "http://softlang.uni-koblenz.de/ldf/" "pdf": "http://grammarware.net/text/2010/ldf.pdf" tags: - "reverse engineering" - "language engineering" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/LDF2010" cites: 0 citedby: 0 booktitle: "Pre-proceedings of the Third International Conference on Software Language Engineering (SLE 2010)" kind: "inproceedings" key: "LDF2010" - title: "Semi-automatic grammar recovery" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" year: "2001" tags: - "grammar" researchr: "https://researchr.org/publication/LammelV01%3A0" cites: 0 citedby: 0 journal: "SPE" volume: "31" number: "15" pages: "1395-1438" kind: "article" key: "LammelV01:0" - title: "Prological Language Processing" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Günter Riedewald" link: "http://www.informatik.uni-rostock.de/psuet/griedew.html" year: "2001" doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#010" abstract: "We describe a Prolog-based approach to the development of language processors (such as preprocessors, frontends, evaluators, tools for software modification and analysis). The design of the corresponding environment Laptob for prological language processing is outlined. Language processor definitions in Laptob are basically Prolog programs. The programs might contain grammars, that is, we consider logic grammars. The programs can be typed, and they can be higher-order. The adaptation and composition of the logic programs themselves is supported by meta-programming. The environment offers tool support for efficient scanning, testing, and application development based on a make-system. We report on recent and ongoing applications of the Prolog-based approach." links: doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#010" tags: - "programming languages" - "Prolog" - "rule-based" - "program analysis" - "meta programming" - "meta-model" - "composition" - "testing" - "analysis" - "language design" - "type system" - "model-driven development" - "logic programming" - "programming" - "logic" - "Meta-Environment" - "design" - "systematic-approach" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/LammelR01" cites: 0 citedby: 0 journal: "ENTCS" volume: "44" number: "2" pages: "132-156" kind: "article" key: "LammelR01" - title: "A Framework for Datatype Transformation" author: - name: "Jan Kort" link: "http://www.english.uva.nl/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2003" doi: "http://www1.elsevier.com/gej-ng/31/29/23/133/52/show/Products/notes/index.htt#002" links: doi: "http://www1.elsevier.com/gej-ng/31/29/23/133/52/show/Products/notes/index.htt#002" tags: - "transformation" researchr: "https://researchr.org/publication/KortL03%3A0" cites: 0 citedby: 0 journal: "ENTCS" volume: "82" number: "3" pages: "463-482" kind: "article" key: "KortL03:0" - title: "A Unified Format for Language Documents" author: - name: "Vadim Zaytsev" link: "http://grammarware.net" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_13" links: doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/ZaytsevL10" researchr: "https://researchr.org/publication/ZaytsevL10" cites: 0 citedby: 0 pages: "206-225" booktitle: "SLE" kind: "inproceedings" key: "ZaytsevL10" - title: "An Introduction to Grammar Convergence" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00255-7_17" abstract: "Grammar convergence is a lightweight verification method for establishing and maintaining the correspondence between grammar knowledge ingrained in all kinds of software artifacts, e.g., object models, XML schemas, parser descriptions, or language documents. The central idea is to extract grammars from diverse software artifacts, and to transform the grammars until they become syntactically identical. The present paper introduces and illustrates the basics of grammar convergence. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00255-7_17" "authors' website": "http://tr.im/grcon" tags: - "model-to-model transformation" - "grammar transformation" - "meta-model" - "XML" - "modeling language" - "XML Schema" - "transformation language" - "language modeling" - "grammar convergence" - "source-to-source" - "object-role modeling" - "model transformation" - "Meta-Environment" - "parsing" - "meta-objects" - "transformation" - "grammar" researchr: "https://researchr.org/publication/Convergence2009" cites: 0 citedby: 0 pages: "246-260" booktitle: "IFM" kind: "inproceedings" key: "Convergence2009" - title: "Programmable Rewriting Strategies in Haskell: -- White Paper --" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2004.11.021" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.11.021" tags: - "Haskell" - "graph-rewriting" - "rewriting" - "rewriting strategies" researchr: "https://researchr.org/publication/Lammel05" cites: 0 citedby: 0 journal: "ENTCS" volume: "124" number: "2" pages: "101-112" kind: "article" key: "Lammel05" - title: "Scrap Your Boilerplate" author: - name: "Simon L. Peyton Jones" link: "http://research.microsoft.com/en-us/people/simonpj/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2895&spage=357" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2895&spage=357" researchr: "https://researchr.org/publication/JonesL03" cites: 0 citedby: 0 pages: "357" booktitle: "aplas" kind: "inproceedings" key: "JonesL03" - title: "Hurdles in Multi-language Refactoring of Hibernate Applications" author: - name: "Hagen Schink" link: "https://researchr.org/alias/hagen-schink" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" - name: "Gunter Saake" link: "https://researchr.org/alias/gunter-saake" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2011" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icsoft/SchinkKSL11" researchr: "https://researchr.org/publication/SchinkKSL11" cites: 0 citedby: 0 pages: "129-134" booktitle: "ICSOFT" kind: "inproceedings" key: "SchinkKSL11" - title: "Understanding privacy policies - A study in empirical analysis of language usage" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ekaterina Pek" link: "https://researchr.org/alias/ekaterina-pek" year: "2013" doi: "http://dx.doi.org/10.1007/s10664-012-9204-1" links: doi: "http://dx.doi.org/10.1007/s10664-012-9204-1" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/ese/LammelP13" researchr: "https://researchr.org/publication/LammelP13" cites: 0 citedby: 0 journal: "ese" volume: "18" number: "2" pages: "310-374" kind: "article" key: "LammelP13" - title: "Large-scale, AST-based API-usage analysis of open-source Java projects" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ekaterina Pek" link: "https://researchr.org/alias/ekaterina-pek" - name: "Jürgen Starek" link: "https://researchr.org/alias/j%C3%BCrgen-starek" year: "2011" doi: "http://doi.acm.org/10.1145/1982185.1982471" links: doi: "http://doi.acm.org/10.1145/1982185.1982471" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sac/LammelPS11" tags: - "Java" - "points-to analysis" - "analysis" - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/LammelPS11" cites: 0 citedby: 0 pages: "1317-1324" booktitle: "SAC" kind: "inproceedings" key: "LammelPS11" - title: "Recovering Grammar Relationships for the Java Language Specification" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2011" month: "March" doi: "10.1007/s11219-010-9116-5" abstract: "Grammar convergence is a method that helps in discovering relationships between different grammars of the same language or different language versions. The key element of the method is the operational, transformation-based representation of those relationships. Given input grammars for convergence, they are transformed until they are structurally equal. The transformations are composed from primitive operators; properties of these operators and the composed chains provide quantitative and qualitative insight into the relationships between the grammars at hand. We describe a refined method for grammar convergence, and we use it in a major study, where we recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformation chains that capture all accidental or intended differences between the JLS grammars. This method is mechanized and driven by nominal and structural differences between pairs of grammars that are subject to asymmetric, binary convergence steps. We present the underlying operator suite for grammar transformation in detail, and we illustrate the suite with many examples of transformations on the JLS grammars. We also describe the extraction effort, which was needed to make the JLS grammars amenable to automated processing. We include substantial metadata about the convergence process for the JLS so that the effort becomes reproducible and transparent. " links: "official": "http://userpages.uni-koblenz.de/~laemmel/jls/" "pdf": "http://grammarware.net/text/2011/jls-sqj.pdf" tags: - "rule-based" - "Java" - "transformation language" - "transformation" - "grammar" researchr: "https://researchr.org/publication/JLS-SQJ2011" cites: 0 citedby: 0 journal: "sqj" volume: "19" number: "2" pages: "333-378" kind: "article" key: "JLS-SQJ2011" - title: "LINQ to XSD" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2007" doi: "http://www.plan-x-2007.org/plan-x-2007.pdf" links: doi: "http://www.plan-x-2007.org/plan-x-2007.pdf" researchr: "https://researchr.org/publication/Lammel07%3A0" cites: 0 citedby: 0 pages: "95-96" booktitle: "planX" kind: "inproceedings" key: "Lammel07:0" - title: "The Essence of Strategic Programming. An inquiry into trans-paradigmatic genericity" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2002" abstract: "Strategic programming is an idiom for generic programming where the concept of a strategy plays a central role. A strategy is a generic, dataprocessing action. Strategies are first-class citizens as witnessed by a combinator style. Two important characteristics of strategies are that they can traverse into compound data, and that they can be customized by type-specific actions. We provide a general definition of strategic programming, and we demonstrate how this idiom can be realized inside several programming language paradigms." researchr: "https://researchr.org/publication/LaemmelVV02" cites: 0 citedby: 0 kind: "misc" key: "LaemmelVV02" - title: "Large-scale, AST-based API-usage analysis of open-source Java projects" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ekaterina Pek" link: "http://www.uni-koblenz.de/~pek/" - name: "Jürgen Starek" link: "https://researchr.org/alias/j%C3%BCrgen-starek" year: "2011" abstract: "Research on API migration and language conversion relies on empirical data about API usage for the benefit of validating mapping rules for API migration in terms of prioritization, applicability, generality, and correctness. We describe an approach to large-scale API-usage analysis of open-source Java projects, which we also instantiate for the SourceForge open-source repository in a certain way. Our approach covers checkout, building, tagging with metadata, fact extraction, analysis, and synthesis with a large degree of automation. Fact extraction relies on resolved (type-checked) ASTs. We describe a few specific forms of API-usage analysis; they are motivated by API migration. These forms are concerned with analysing API footprint (such as the number of distinct APIs used in a project), API coverage (such as the percentage of methods of an API used in a corpus), and framework-like vs. class-library-like usage. " tags: - "empirical" - "data validation" - "rule-based" - "Java" - "data-flow language" - "tagging" - "points-to analysis" - "analysis" - "data-flow" - "source-to-source" - "rules" - "migration" - "data-flow analysis" - "coverage" - "systematic-approach" - "open-source" researchr: "https://researchr.org/publication/LaemmelPS11" cites: 0 citedby: 0 booktitle: "SAC '11: Proceedings of the 26th ACM Symposium on Applied Computing" kind: "inproceedings" key: "LaemmelPS11" - title: "Software extension and integration with type classes" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" year: "2006" doi: "http://doi.acm.org/10.1145/1173706.1173732" links: doi: "http://doi.acm.org/10.1145/1173706.1173732" researchr: "https://researchr.org/publication/LammelO06" cites: 0 citedby: 0 pages: "161-170" booktitle: "GPCE" kind: "inproceedings" key: "LammelO06" - title: "Adapting of Functional Object Programs" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Günter Riedewald" link: "http://www.informatik.uni-rostock.de/psuet/griedew.html" - name: "Wolfgang Lohmann" link: "http://www.informatik.uni-rostock.de/~wlohmann/" year: "1999" tags: - "object-oriented programming" - "meta programming" - "functional programming" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/LammelRL99" cites: 0 citedby: 0 pages: "306-307" booktitle: "ECOOPW" kind: "inproceedings" key: "LammelRL99" - title: "Typed Generic Traversal With Term Rewriting Strategies" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://arxiv.org/abs/cs.PL/0205018" links: doi: "http://arxiv.org/abs/cs.PL/0205018" tags: - "traversal" - "term rewriting" - "graph-rewriting" - "rewriting" - "rewriting strategies" researchr: "https://researchr.org/publication/cs-PL-0205018" cites: 0 citedby: 0 journal: "corr" volume: "cs.PL/0205018" kind: "article" key: "cs-PL-0205018" - title: "Recovering Grammar Relationships for the Java Language Specification" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2009" doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2009.29" abstract: " We describe a completed effort to recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformations that capture all accidental or intended differences between the JLS grammars. This process is mechanized and it is driven by simple measures of nominal or structural differences between any pair of grammars involved. Our work suggests a form of consistency management for the JLS in particular, and language specifications in general. " links: doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2009.29" successor: "https://researchr.org/publication/JLS-CoRR2010" tags: - "Java" - "completeness" - "transformation language" - "grammar convergence" - "consistency" - "grammar recovery" - "transformation" - "grammar" researchr: "https://researchr.org/publication/JLS-SCAM2009" cites: 0 citedby: 0 pages: "178-186" booktitle: "SCAM" kind: "inproceedings" key: "JLS-SCAM2009" - title: "A Framework for Datatype Transformation" author: - name: "Jan Kort" link: "http://www.english.uva.nl/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://arxiv.org/abs/cs.PL/0204018" links: doi: "http://arxiv.org/abs/cs.PL/0204018" tags: - "transformation" researchr: "https://researchr.org/publication/cs-PL-0204018" cites: 0 citedby: 0 journal: "corr" volume: "cs.PL/0204018" kind: "article" key: "cs-PL-0204018" - title: "The Sketch of a Polymorphic Symphony" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://arxiv.org/abs/cs.PL/0204013" links: doi: "http://arxiv.org/abs/cs.PL/0204013" researchr: "https://researchr.org/publication/cs-PL-0204013" cites: 0 citedby: 0 journal: "corr" volume: "cs.PL/0204013" kind: "article" key: "cs-PL-0204013" - title: "Toward an engineering discipline for grammarware" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" year: "2005" doi: "http://doi.acm.org/10.1145/1072997.1073000" links: doi: "http://doi.acm.org/10.1145/1072997.1073000" researchr: "https://researchr.org/publication/KlintLV05" cites: 2 citedby: 1 journal: "TOSEM" volume: "14" number: "3" pages: "331-380" kind: "article" key: "KlintLV05" - title: "Typed generic traversal with term rewriting strategies" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2003" doi: "http://dx.doi.org/10.1016/S1567-8326(02)00028-0" links: doi: "http://dx.doi.org/10.1016/S1567-8326(02)00028-0" tags: - "traversal" - "term rewriting" - "graph-rewriting" - "rewriting" - "rewriting strategies" researchr: "https://researchr.org/publication/Lammel03" cites: 0 citedby: 1 journal: "jlp" volume: "54" number: "1-2" pages: "1-64" kind: "article" key: "Lammel03" - title: "Towards generic refactoring" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://doi.acm.org/10.1145/570186.570188" links: doi: "http://doi.acm.org/10.1145/570186.570188" tags: - "refactoring" researchr: "https://researchr.org/publication/Lammel02%3A0" cites: 0 citedby: 0 pages: "15-28" booktitle: "RULE" kind: "inproceedings" key: "Lammel02:0" - title: "Language Support for Megamodel Renarration" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2013" doi: "http://ceur-ws.org/Vol-1089/5.pdf" links: doi: "http://ceur-ws.org/Vol-1089/5.pdf" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/models/LaemmelZ13" researchr: "https://researchr.org/publication/LaemmelZ13" cites: 0 citedby: 0 pages: "36-45" booktitle: "MoDELS" kind: "inproceedings" key: "LaemmelZ13" - title: "Vivisection of a Non-Executable, Domain-Specific Language - Understanding (the Usage of) the P3P Language" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ekaterina Pek" link: "http://www.uni-koblenz.de/~pek/" year: "2010" doi: "http://dx.doi.org/10.1109/ICPC.2010.45" abstract: "P3P is the policy language with which websites declare the intended use of data that is collected about users of the site. We have systematically collected P3P-based privacy policies from websites listed in the Google directory, and analysed the resulting corpus with regard to different levels of validity, size or complexity metrics, different cloning levels, coverage of language constructs, and the use of the language’s extension mechanism. In this manner, we have found interesting characteristics of P3P in the wild. For instance, cloning is exceptionally common in this domain, and encountered language extensions exceed the base language in terms of grammar complexity. Overall, this effort helps understanding the de-facto usage of the non-executable, domain-specific language P3P. Some elements of our methodology may be useful for other software languages as well. " links: doi: "http://dx.doi.org/10.1109/ICPC.2010.45" tags: - "rule-based" - "data-flow language" - "data-flow" - "Google" - "coverage" - "systematic-approach" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/LaemmelP10" cites: 0 citedby: 0 booktitle: "ICPC '10: Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension" kind: "inproceedings" key: "LaemmelP10" - title: "Guest editors introduction" author: - name: "René L. Krikhaar" link: "https://researchr.org/alias/ren%C3%A9-l.-krikhaar" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2009" doi: "http://dx.doi.org/10.1016/j.scico.2009.02.008" links: doi: "http://dx.doi.org/10.1016/j.scico.2009.02.008" researchr: "https://researchr.org/publication/KrikhaarL09" cites: 0 citedby: 0 journal: "SCP" volume: "74" number: "7" pages: "397-398" kind: "article" key: "KrikhaarL09" - title: "Design Patterns for Functional Strategic Programming" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2002" doi: "http://arxiv.org/abs/cs.PL/0204015" abstract: "In previous work, we introduced the fundamentals and a supporting combinator library for strategic programming. This an idiom for generic programming based on the notion of a functional strategy: a first-class generic function that cannot only be applied to terms of any type, but which also allows generic traversal into subterms and can be customized with type-specific behaviour. This paper seeks to provide practicing functional programmers with pragmatic guidance in crafting their own strategic programs. We present the fundamentals and the support from a user's perspective, and we initiate a catalogue of strategy design patterns. These design patterns aim at consolidating strategic programming expertise in accessible form." links: doi: "http://arxiv.org/abs/cs.PL/0204015" tags: - "rule-based" - "generic programming" - "traversal" - "functional programming" - "Haskell" - "strategic programming" - "programming" - "design" researchr: "https://researchr.org/publication/cs-PL-0204015" cites: 0 citedby: 0 journal: "corr" volume: "cs.PL/0204015" kind: "article" key: "cs-PL-0204015" - title: "Reverse Engineering in Industry" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2013" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2013.6671276" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2013.6671276" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/wcre/Lammel13" researchr: "https://researchr.org/publication/Lammel13" cites: 0 citedby: 0 pages: "21" booktitle: "WCRE" kind: "inproceedings" key: "Lammel13" - title: "Programming with Patterns" author: - name: "Peter Forbrig" link: "http://wwwswt.informatik.uni-rostock.de/Mitarbeiter/forbrig.html" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2000" doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.868968" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TOOLS.2000.868968" tags: - "programming" researchr: "https://researchr.org/publication/ForbrigL00" cites: 0 citedby: 0 pages: "159-170" booktitle: "TOOLS" kind: "inproceedings" key: "ForbrigL00" - title: "Three-Tiered Specification of Micro-architectures" author: - name: "Vangalur S. Alagar" link: "https://researchr.org/alias/vangalur-s.-alagar" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2495/24950092.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2495/24950092.htm" tags: - "architecture" researchr: "https://researchr.org/publication/AlagarL02" cites: 0 citedby: 0 pages: "92-97" booktitle: "icfem" kind: "inproceedings" key: "AlagarL02" - title: "Dealing with Large Bananas" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "Jan Kort" link: "http://www.english.uva.nl/" year: "2000" doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.936" abstract: "Many problems call for a mixture of generic and specific programming techniques. We propose a polytypic programming approach based on generalised (monadic) folds where a separation is made between basic fold algebras that model generic behaviour and updates on these algebras that model specific behaviour. We identify particular basic algebras as well as some algebra combinators, and we show how these facilitate structured programming with updatable fold algebras. This blend of genericity and specificity allows programming with folds to scale up to applications involving large systems of mutually recursive datatypes. Finally, we address the possibility of providing generic definitions for the functions, algebras, and combinators that we propose." links: doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.936" tags: - "rule-based" - "meta programming" - "generic programming" - "meta-model" - "polytypic programming" - " algebra" - "programming" - "Meta-Environment" - "polytypic" - "systematic-approach" researchr: "https://researchr.org/publication/Lmmel00dealingwith" cites: 0 citedby: 0 booktitle: "Proceedings of WGP' 00" kind: "inproceedings" key: "Lmmel00dealingwith" - title: "Reverse Engineering Grammar Relationships" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2010" doi: "http://pi.informatik.uni-siegen.de/stt/30_2/01_Fachgruppenberichte/WSR2010/01-laemmel-zaytsev.pdf" links: doi: "http://pi.informatik.uni-siegen.de/stt/30_2/01_Fachgruppenberichte/WSR2010/01-laemmel-zaytsev.pdf" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/stt/LammelZ10" researchr: "https://researchr.org/publication/LammelZ10" cites: 0 citedby: 0 journal: "stt" volume: "30" number: "2" kind: "article" key: "LammelZ10" - title: "Reflective Designs -- An Overview" author: - name: "Robert Hirschfeld" link: "http://www.hpi.uni-potsdam.de/personen/professoren/hirschfeld.html" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.033" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.033" researchr: "https://researchr.org/publication/HirschfeldL05" cites: 0 citedby: 0 journal: "ENTCS" volume: "127" number: "3" pages: "55-58" kind: "article" key: "HirschfeldL05" - title: "A Programming Language for Design Patterns" author: - name: "Stefan Bünnig" link: "https://researchr.org/alias/stefan-b%C3%BCnnig" - name: "Peter Forbrig" link: "http://wwwswt.informatik.uni-rostock.de/Mitarbeiter/forbrig.html" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Normen Seemann" link: "https://researchr.org/alias/normen-seemann" year: "1999" tags: - "programming languages" - "pattern language" - "language design" - "programming" - "design" researchr: "https://researchr.org/publication/BunnigFLS99" cites: 0 citedby: 0 pages: "400-409" booktitle: "gi" kind: "inproceedings" key: "BunnigFLS99" - title: "Controllable Combinatorial Coverage in Grammar-Based Testing" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Wolfram Schulte" link: "http://research.microsoft.com/en-us/people/schulte/" year: "2006" doi: "http://dx.doi.org/10.1007/11754008_2" abstract: "Given a grammar (or other sorts of meta-data), one can trivially derive combinatorially exhaustive test-data sets up to a specified depth. Without further efforts, such test-data sets would be huge at the least and explosive most of the time. Fortunately, scenarios of grammar-based testing tend to admit non-explosive approximations of naive combinatorial coverage. In this paper, we describe the notion of controllable combinatorial coverage and a corresponding algorithm for test-data generation. The approach is based on a suite of control mechanisms to be used for the characterization of test-data sets as well-defined and understandable approximations of full combinatorial coverage. The approach has been implemented in the C#-based test-data generator Geno, which has been successfully used in projects that required differential testing, stress testing and conformance testing of grammar-driven functionality. " links: doi: "http://dx.doi.org/10.1007/11754008_2" tags: - "rule-based" - "test coverage" - "meta-model" - "testing" - "data-flow" - "C++" - "Meta-Environment" - "coverage" - "systematic-approach" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/LammelS06" cites: 0 citedby: 0 pages: "19-38" booktitle: "pts" kind: "inproceedings" key: "LammelS06" - title: "Walk Your Tree Any Way You Want" author: - name: "Anya Helene Bagge" link: "http://www.ii.uib.no/~anya/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-642-38883-5_3" links: doi: "http://dx.doi.org/10.1007/978-3-642-38883-5_3" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icmt/BaggeL13" researchr: "https://researchr.org/publication/BaggeL13" cites: 0 citedby: 0 pages: "33-49" booktitle: "ICMT" kind: "inproceedings" key: "BaggeL13" - title: "Modeling the Linguistic Architecture of Software Products" author: - name: "Jean-Marie Favre" link: "https://researchr.org/alias/jean-marie-favre" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Andrei Varanovich" link: "https://researchr.org/alias/andrei-varanovich" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-33666-9_11" links: doi: "http://dx.doi.org/10.1007/978-3-642-33666-9_11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/models/FavreLV12" researchr: "https://researchr.org/publication/FavreLV12" cites: 0 citedby: 0 pages: "151-167" booktitle: "MoDELS" kind: "inproceedings" key: "FavreLV12" - title: "Evolution Scenarios for Rule-Based Implementations of Language-Based Functionality" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2004.09.039" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.09.039" tags: - "rule-based" - "rules" researchr: "https://researchr.org/publication/Lammel05b" cites: 0 citedby: 0 journal: "ENTCS" volume: "128" number: "1" pages: "61-79" kind: "article" key: "Lammel05b" - title: "Study of an API migration for two XML APIs" author: - name: "Thiago Tonelli Bartolomei" link: "http://gsd.uwaterloo.ca/~ttonelli/" - name: "Krzysztof Czarnecki" link: "http://www.swen.uwaterloo.ca/~kczarnec/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Tijs van der Storm" link: "http://homepages.cwi.nl/~storm/" year: "2010" abstract: "API migration refers to adapting an application such that its dependence on a given API (the source API) is eliminated in favor of depending on an alternative API (the target API) with the source and target APIs serving the same domain. One may attempt to automate API migration by code transformation or wrapping of some sort. API migration is relatively well understood for the special case where source and target APIs are essentially different versions of the same API. API migration is much less understood for the general case where the two APIs have been developed more or less independently of each other. The present paper exercises a simple instance of the general case and develops engineering techniques towards the mastery of API migration. That is, we study wrapper-based migration between two prominent XML APIs for the Java platform. The migration follows an iterative and test-driven approach and allows us to identify, classify, and measure various differences between the studied APIs in a systematic way." tags: - "model-to-model transformation" - "rule-based" - "transformation engineering" - "Java" - "case study" - "APIMigration" - "XML" - "XML Schema" - "language engineering" - "testing model transformations" - "transformation language" - "software language engineering" - "testing" - "source-to-source" - "software engineering" - "model-driven engineering" - "migration" - "model transformation" - "systematic-approach" - "open-source" - "transformation" - "domain-specific language" researchr: "https://researchr.org/publication/XMLApiMigration" cites: 0 citedby: 0 booktitle: "Postproceedings of Software Language Engineering (SLE 2009)" kind: "inproceedings" key: "XMLApiMigration" - title: "Book Review" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2007" doi: "http://dx.doi.org/10.1007/s10849-006-9020-3" links: doi: "http://dx.doi.org/10.1007/s10849-006-9020-3" tags: - "reviewing" researchr: "https://researchr.org/publication/Lammel07%3A2" cites: 0 citedby: 0 journal: "jolli" volume: "16" number: "2" pages: "221-232" kind: "article" key: "Lammel07:2" - title: "Declarative Aspect-Oriented Programming" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "1999" tags: - "object-oriented programming" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/Lammel99" cites: 0 citedby: 0 pages: "131-146" booktitle: "PEPM" kind: "inproceedings" key: "Lammel99" - title: "Strongly typed heterogeneous collections" author: - name: "Oleg Kiselyov" link: "http://okmij.org/ftp/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Keean Schupke" link: "https://researchr.org/alias/keean-schupke" year: "2004" doi: "http://doi.acm.org/10.1145/1017472.1017488" links: doi: "http://doi.acm.org/10.1145/1017472.1017488" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/haskell/KiselyovLS04" researchr: "https://researchr.org/publication/KiselyovLS04" cites: 0 citedby: 0 pages: "96-107" booktitle: "haskell" kind: "inproceedings" key: "KiselyovLS04" - title: "More precise typing of rewrite strategies" author: - name: "Azamatbek Mametjanov" link: "https://researchr.org/alias/azamatbek-mametjanov" - name: "Victor L. Winter" link: "https://researchr.org/alias/victor-l.-winter" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2011" doi: "http://doi.acm.org/10.1145/1988783.1988786" links: doi: "http://doi.acm.org/10.1145/1988783.1988786" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ldta/MametjanovWL11" tags: - "graph-rewriting" - "rewriting" - "rewriting strategies" researchr: "https://researchr.org/publication/MametjanovWL11" cites: 0 citedby: 0 pages: "3" booktitle: "LDTA" kind: "inproceedings" key: "MametjanovWL11" - title: "Generic Refactoring" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2003" doi: "http://pi.informatik.uni-siegen.de/stt/23_2/01_Fachgruppenberichte/wsr2003.pdf" links: doi: "http://pi.informatik.uni-siegen.de/stt/23_2/01_Fachgruppenberichte/wsr2003.pdf" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/stt/Lammel03" researchr: "https://researchr.org/publication/Lammel03-0" cites: 0 citedby: 0 journal: "stt" volume: "23" number: "2" kind: "article" key: "Lammel03-0" - title: "Style normalization for canonical X-to-O mappings" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2007" doi: "http://doi.acm.org/10.1145/1244381.1244387" links: doi: "http://doi.acm.org/10.1145/1244381.1244387" researchr: "https://researchr.org/publication/Lammel07" cites: 0 citedby: 0 pages: "31-40" booktitle: "PEPM" kind: "inproceedings" key: "Lammel07" - title: "The hitchhiker s guide to software languages" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2010" doi: "http://doi.acm.org/10.1145/1868294.1868295" links: doi: "http://doi.acm.org/10.1145/1868294.1868295" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/Lammel10" researchr: "https://researchr.org/publication/Lammel10" cites: 0 citedby: 0 pages: "1-2" booktitle: "GPCE" kind: "inproceedings" key: "Lammel10" - title: "Method and Tool Support for Classifying Software Languages with Wikipedia" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Dominik Mosen" link: "https://researchr.org/alias/dominik-mosen" - name: "Andrei Varanovich" link: "https://researchr.org/alias/andrei-varanovich" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-319-02654-1_14" links: doi: "http://dx.doi.org/10.1007/978-3-319-02654-1_14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/LammelMV13" researchr: "https://researchr.org/publication/LammelMV13" cites: 0 citedby: 0 pages: "249-259" booktitle: "SLE" kind: "inproceedings" key: "LammelMV13" - title: "Grammar Testing" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2001" doi: "http://link.springer.de/link/service/series/0558/bibs/2029/20290201.htm" abstract: "Grammar testing is discussed in the context of grammar engineering (i.e., software engineering for grammars). We propose a gen- eralisation of the known rule coverage for grammars, that is, context-dependent branch coverage. We investigate grammar testing, especially coverage analysis, test set generation, and integration of testing and grammar transformations. Grammar recovery is chosen as a subfield of grammar engineering to illustrate the developed concepts. Grammar recovery is concerned with the derivation of a language’s grammar from some available resource such as a semi-formal language reference." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2029/20290201.htm" tags: - "rule-based" - "transformation engineering" - "test coverage" - "language engineering" - "transformation language" - "software language engineering" - "testing" - "analysis" - "software engineering" - "rules" - "context-aware" - "coverage" - "transformation" - "grammar" researchr: "https://researchr.org/publication/Lammel01" cites: 0 citedby: 0 pages: "201-216" booktitle: "FASE" kind: "inproceedings" key: "Lammel01" - title: "Format Evolution" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Wolfgang Lohmann" link: "http://www.informatik.uni-rostock.de/~wlohmann/" year: "2001" abstract: "A systematic approach to the adaptation of XML documents and their DTDs is developed. The approach facilitates the evolution of XML-based formats. There are two essential ideas. Firstly, changes in the formats of documents are represented as stepwise transformations on the underlying DTDs. Secondly, the corresponding migration of the XML data is largely induced by the DTD transformations. The presentation focuses on concepts of format evolution, namely roles of corresponding transformations, properties of the transformations, and expressiveness to implement the transformations." tags: - "rule-based" - "XML" - "XML Schema" - "data-flow" - "format evolution" - "migration" - "systematic-approach" - "transformation" researchr: "https://researchr.org/publication/Lammel%3ARETIS%3A2001" cites: 0 citedby: 0 booktitle: "Proc. 7th International Conference on Reverse Engineering for Information Systems (RETIS 2001)" kind: "inproceedings" key: "Lammel:RETIS:2001" - title: "Functional Transformation Systems" author: - name: "Jan Kort" link: "http://www.english.uva.nl/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2000" abstract: "We demonstrate how functional programming can be used as a platform for developing integrated transformation systems that are typed, scalable, easy to use, and adaptable. The kernel of such a functional transformation system for a certain language is a transformation framework generated from the language's grammar. The framework provides a fold traversal scheme and adaptable basic traversals. From the grammar a parser and pretty-printer is also generated. There is also support for storage and interchange of intermediate results. A software renovation case study illustrates our approach and its practical value." tags: - "programming languages" - "case study" - "traversal" - "transformation language" - "functional programming" - "Haskell" - "type system" - "transformation system" - "programming" - "parsing" - "systematic-approach" - "transformation" - "grammar" - "program transformation" researchr: "https://researchr.org/publication/KortLV00" cites: 0 citedby: 0 pages: "154-168" booktitle: "wflp" kind: "inproceedings" key: "KortLV00" - title: "The Amsterdam Toolkit for Language Archaeology" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2005.07.004" links: doi: "http://dx.doi.org/10.1016/j.entcs.2005.07.004" tags: - "grammar transformation" - "transformation language" - "transformation" - "grammar" researchr: "https://researchr.org/publication/Lammel05c" cites: 0 citedby: 0 journal: "ENTCS" volume: "137" number: "3" pages: "43-55" kind: "article" key: "Lammel05c" - title: "Revealing the X/O Impedance Mismatch - (Changing Lead into Gold)" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Erik Meijer" link: "https://researchr.org/alias/erik-meijer" year: "2006" doi: "http://dx.doi.org/10.1007/978-3-540-76786-2_6" links: doi: "http://dx.doi.org/10.1007/978-3-540-76786-2_6" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ssdgp/LammelM06" researchr: "https://researchr.org/publication/LammelM06-0" cites: 0 citedby: 0 pages: "285-367" booktitle: "ssdgp" kind: "inproceedings" key: "LammelM06-0" - title: "Incompleteness-aware programming with RDF data" author: - name: "Stefan Scheglmann" link: "https://researchr.org/alias/stefan-scheglmann" - name: "Gerd Gröner" link: "https://researchr.org/alias/gerd-gr%C3%B6ner" - name: "Steffen Staab" link: "https://researchr.org/alias/steffen-staab" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2013" doi: "http://doi.acm.org/10.1145/2429376.2429380" links: doi: "http://doi.acm.org/10.1145/2429376.2429380" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/popl/ScheglmannGSL12" researchr: "https://researchr.org/publication/ScheglmannGSL12" cites: 0 citedby: 0 pages: "11-14" booktitle: "POPL" kind: "inproceedings" key: "ScheglmannGSL12" - title: "Empirical language analysis in software linguistics" author: - name: "Jean-Marie Favre" link: "http://megaplanet.org/jean-marie-favre/" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ekaterina Pek" link: "http://www.uni-koblenz.de/~pek/" year: "2011" abstract: "Software linguistics is the science of software languages. In this short paper, we sketch the general discipline of software linguistics, but our focus is on one part of it: empirical analysis of software languages. Such analysis is concerned with understanding language usage on the grounds of a corpus. In this short paper, we sketch a survey on empirical language analysis, and we argue that the research method of content analysis is needed for a thorough survey." tags: - "empirical" - "analysis" - "survey" - "e-science" researchr: "https://researchr.org/publication/FavreEtAl11" cites: 0 citedby: 0 booktitle: "SLE '10: Post-proceedings of the 2010 3rd International Conference on Software Language Engineering" kind: "inproceedings" key: "FavreEtAl11" - title: "Test case characterisation by regular path expressions" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Jörg Harm" link: "https://researchr.org/alias/j%C3%B6rg-harm" year: "2001" month: "august" doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.4315" abstract: "A signature-parametric (say generic) framework for test case characterisation, and definition of test set coverage criteria is developed. The signature might correspond to a programming language syntax, the format of a data structure, a computational or semantical structure, e.g., for derivations, proof trees, or control-flow graphs. Test set characterisation is based on regular expressions describing paths for terms over the signature at hand. Necessary and convenient properties for test set coverage criteria can be conceived in the framework." links: doi: "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.4315" tags: - "programming languages" - "rule-based" - "syntax definition" - "test coverage" - "data-flow language" - "generic programming" - "testing" - "data-flow programming" - "data-flow" - "graph-rewriting" - "coverage" researchr: "https://researchr.org/publication/LH01-FATES" cites: 0 citedby: 0 pages: "109-124" booktitle: "Proc.\\ Formal Approaches to Testing of Software (FATES'01)" kind: "inproceedings" key: "LH01-FATES" - title: "Typed Combinators for Generic Traversal" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2257/22570137.htm" abstract: "Lacking support for generic traversal, functional programming languages suffer from a scalability problem when applied to large-scale program transformation problems. As a solution, we introduce functional strategies: typeful generic functions that not only can be applied to terms of any type, but which also allow generic traversal into subterms. We show how strategies are modelled inside a functional language, and we present a combinator library including generic traversal combinators. We illustrate our technique of programming with functional strategies by an implementation of the extract method refactoring for Java." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2257/22570137.htm" tags: - "programming languages" - "model-to-model transformation" - "Java" - "meta programming" - "generic programming" - "meta-model" - "modeling language" - "traversal" - "model refactoring" - "refactoring" - "transformation language" - "language modeling" - "functional programming" - "Haskell" - "source-to-source" - "strategic programming" - "model transformation" - "programming" - "Meta-Environment" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/LammelV02" cites: 0 citedby: 0 pages: "137-154" booktitle: "PADL" kind: "inproceedings" key: "LammelV02" - title: "Provable Correctness of Prototype Interpreters in LDL" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Günter Riedewald" link: "http://www.informatik.uni-rostock.de/psuet/griedew.html" year: "1994" tags: - "interpreter" researchr: "https://researchr.org/publication/LammelR94" cites: 0 citedby: 0 pages: "218-232" booktitle: "cc" kind: "inproceedings" key: "LammelR94" - title: "Scrap your boilerplate with XPath-like combinators" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2007" doi: "http://doi.acm.org/10.1145/1190216.1190240" links: doi: "http://doi.acm.org/10.1145/1190216.1190240" tags: - "XPath" researchr: "https://researchr.org/publication/Lammel07%3A1" cites: 0 citedby: 0 pages: "137-142" booktitle: "POPL" kind: "inproceedings" key: "Lammel07:1" - title: "JavaGI : Generalized Interfaces for Java" author: - name: "Stefan Wehr" link: "https://researchr.org/alias/stefan-wehr" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Peter Thiemann" link: "https://researchr.org/alias/peter-thiemann" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-73589-2_17" links: doi: "http://dx.doi.org/10.1007/978-3-540-73589-2_17" tags: - "Java" researchr: "https://researchr.org/publication/WehrLT07" cites: 0 citedby: 0 pages: "347-372" booktitle: "ECOOP" kind: "inproceedings" key: "WehrLT07" - title: "A Strafunski Application Letter" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2003" doi: "http://link.springer.de/link/service/series/0558/bibs/2562/25620357.htm" abstract: "Strafunski is a Haskell-centred software bundle for implementing language processing components—most notably program analyses and transformations. Typical application areas include program optimisation, refactoring, software metrics, software re- and reverse engineering. Strafunski started out as generic programming library complemented by generative tool support to address the concern of generic traversal over typed representations of parse trees in a scalable manner. Meanwhile, Strafunski also encompasses means of integrating external components such as parsers, pretty printers, and graph visualisation tools. In a selection of case studies, we demonstrate that typed functional programming in Haskell, augmented with Strafunski ’s support for generic traversal and external components, is very appropriate for the development of practical language processors. In particular, we discuss using Haskell for Cobol reverse engineering, Java code metrics, and Haskell re-engineering." links: doi: "http://link.springer.de/link/service/series/0558/bibs/2562/25620357.htm" tags: - "generative programming" - "programming languages" - "transformation engineering" - "Java" - "generic programming" - "case study" - "software components" - "graph transformation" - "reverse engineering" - "traversal" - "refactoring" - "language engineering" - "transformation language" - "software language engineering" - "functional programming" - "software component" - "Haskell" - "graph-rewriting" - "software engineering" - "programming" - "rewriting" - "Cobol" - "parsing" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/LammelV03" cites: 0 citedby: 0 pages: "357-375" booktitle: "PADL" kind: "inproceedings" key: "LammelV03" - title: "Comparison of Context-Free Grammars Based on Parsing Generated Test Data" author: - name: "Bernd Fischer 0002" link: "https://researchr.org/alias/bernd-fischer-0002" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-28830-2_18" links: doi: "http://dx.doi.org/10.1007/978-3-642-28830-2_18" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/FischerLZ11" researchr: "https://researchr.org/publication/FischerLZ11" cites: 0 citedby: 0 pages: "324-343" booktitle: "SLE" kind: "inproceedings" key: "FischerLZ11" - title: "Vivisection of a Non-Executable, Domain-Specific Language - Understanding (the Usage of) the P3P Language" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ekaterina Pek" link: "https://researchr.org/alias/ekaterina-pek" year: "2010" doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.45" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.45" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/iwpc/LammelP10" tags: - "domain-specific language" researchr: "https://researchr.org/publication/LammelP10" cites: 0 citedby: 0 pages: "104-113" booktitle: "IWPC" kind: "inproceedings" key: "LammelP10" - title: "Transformations everywhere" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2004" doi: "http://dx.doi.org/10.1016/j.scico.2004.03.001" links: doi: "http://dx.doi.org/10.1016/j.scico.2004.03.001" tags: - "transformation" researchr: "https://researchr.org/publication/Lammel04%3A0" cites: 0 citedby: 0 journal: "SCP" volume: "52" pages: "1-8" kind: "article" key: "Lammel04:0" - title: "05161 Executive Summary - Transformation Techniques in Software Engineering" author: - name: "James R. Cordy" link: "http://research.cs.queensu.ca/~cordy/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Andreas Winter" link: "http://www.uni-koblenz.de/~winter/" year: "2005" doi: "http://drops.dagstuhl.de/opus/volltexte/2006/497" links: doi: "http://drops.dagstuhl.de/opus/volltexte/2006/497" tags: - "transformation engineering" - "software engineering" - "transformation" researchr: "https://researchr.org/publication/CordyLW05" cites: 0 citedby: 0 booktitle: "Dagstuhl" kind: "inproceedings" key: "CordyLW05" - title: "Two-dimensional Approximation Coverage" author: - name: "Jörg Harm" link: "https://researchr.org/alias/j%C3%B6rg-harm" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2000" doi: "http://homepages.cwi.nl/~ralf/inf00/paper.pdf" abstract: "The notion of approximation coverage is developed. It is applicable to first-order declarative programs (e.g., logic programs, constructive algebraic specifications, and attribute grammars) in two dimensions in a natural way. For an attribute grammar, for example, there is a syntactic dimension corresponding to the underlying context-free grammar, and there is also a semantic dimension corresponding to the attributes, conditions, and computations. The coverage notion is based on an abstract interpretation scheme. The paper also develops a generator algorithm for test sets achieving coverage. The coverage notion facilitates testing of declarative programs, and assessment of test sets. The test set generator facilitates automated testing. A language definition based on an attribute grammar specification is used as an illustrative example." links: doi: "http://homepages.cwi.nl/~ralf/inf00/paper.pdf" tags: - "programming languages" - "rule-based" - "attribute grammars" - "test coverage" - "testing" - "algebraic specification" - "logic programming" - " algebra" - "context-aware" - "logic" - "coverage" - "grammar" researchr: "https://researchr.org/publication/HarmL00" cites: 0 citedby: 0 journal: "informaticaSI" volume: "24" number: "3" kind: "article" key: "HarmL00" - title: "A semantical approach to method-call interception" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://doi.acm.org/10.1145/508386.508392" links: doi: "http://doi.acm.org/10.1145/508386.508392" tags: - "systematic-approach" researchr: "https://researchr.org/publication/Lammel02" cites: 0 citedby: 0 pages: "41-55" booktitle: "AOSD" kind: "inproceedings" key: "Lammel02" - title: "Recovering Grammar Relationships for the Java Language Specification" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Vadim Zaytsev" link: "http://grammarware.net" year: "2010" month: "August" abstract: "Grammar convergence is a method that helps discovering relationships between different grammars of the same language or different language versions. The key element of the method is the operational, transformation-based representation of those relationships. Given input grammars for convergence, they are transformed until they are structurally equal. The transformations are composed from primitive operators; properties of these operators and the composed chains provide quantitative and qualitative insight into the relationships between the grammars at hand. We describe a refined method for grammar convergence, and we use it in a major study, where we recover the relationships between all the grammars that occur in the different versions of the Java Language Specification (JLS). The relationships are represented as grammar transformation chains that capture all accidental or intended differences between the JLS grammars. This method is mechanized and driven by nominal and structural differences between pairs of grammars that are subject to asymmetric, binary convergence steps. We present the underlying operator suite for grammar transformation in detail, and we illustrate the suite with many examples of transformations on the JLS grammars. We also describe the extraction effort, which was needed to make the JLS grammars amenable to automated processing. We include substantial metadata about the convergence process for the JLS so that the effort becomes reproducible and transparent." links: successor: "https://researchr.org/publication/JLS-SQJ2011" tags: - "rule-based" - "Java" - "transformation language" - "grammar convergence" - "grammar recovery" - "transformation" - "grammar" researchr: "https://researchr.org/publication/JLS-CoRR2010" cites: 0 citedby: 0 journal: "corr" volume: "abs/1008.4188" pages: "1-46" kind: "article" key: "JLS-CoRR2010" - title: "Understanding programming technologies by analogy, examples, and abstraction: extended abstract (AOSD 11 tutorial)" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2011" doi: "http://doi.acm.org/10.1145/1960314.1960329" links: doi: "http://doi.acm.org/10.1145/1960314.1960329" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/aosd/Laemmel11" tags: - "programming" - "abstraction" researchr: "https://researchr.org/publication/Laemmel11" cites: 0 citedby: 0 pages: "55-56" booktitle: "AOSD" kind: "inproceedings" key: "Laemmel11" - title: "Reuse by Program Transformation" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "1999" tags: - "reuse" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/Lammel99%3A0" cites: 0 citedby: 0 pages: "144-153" booktitle: "sfp" kind: "inproceedings" key: "Lammel99:0" - title: "Evolution of rule-based programs" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2004" doi: "http://dx.doi.org/10.1016/j.jlap.2004.03.006" links: doi: "http://dx.doi.org/10.1016/j.jlap.2004.03.006" tags: - "rule-based" - "rules" researchr: "https://researchr.org/publication/Lammel04" cites: 0 citedby: 0 journal: "jlp" volume: "60-61" pages: "141-193" kind: "article" key: "Lammel04" - title: "Automated Co-evolution of GMF Editor Models" author: - name: "Davide Di Ruscio" link: "https://researchr.org/alias/davide-di-ruscio" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Alfonso Pierantonio" link: "https://researchr.org/alias/alfonso-pierantonio" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_9" links: doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_9" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/RuscioLP10" tags: - "model editor" - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/RuscioLP10" cites: 0 citedby: 0 pages: "143-162" booktitle: "SLE" kind: "inproceedings" key: "RuscioLP10" - title: "101companies: A Community Project on Software Technologies and Software Languages" author: - name: "Jean-Marie Favre" link: "https://researchr.org/alias/jean-marie-favre" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Thomas Schmorleiz" link: "https://researchr.org/alias/thomas-schmorleiz" - name: "Andrei Varanovich" link: "https://researchr.org/alias/andrei-varanovich" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-30561-0_6" links: doi: "http://dx.doi.org/10.1007/978-3-642-30561-0_6" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/tools/FavreLSV12" researchr: "https://researchr.org/publication/FavreLSV12" cites: 0 citedby: 0 pages: "58-74" booktitle: "TOOLS" kind: "inproceedings" key: "FavreLSV12" - title: "3rd International Workshop on Metamodels, Schemas, Grammars and Ontologies" author: - name: "Jean-Marie Favre" link: "http://megaplanet.org/jean-marie-favre/" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Andreas Winter" link: "http://www.uni-koblenz.de/~winter/" year: "2006" doi: "http://dx.doi.org/10.1007/978-3-540-69489-2_7" links: doi: "http://dx.doi.org/10.1007/978-3-540-69489-2_7" tags: - "ontologies" - "ontology" - "XML" - "XML Schema" - "grammar" researchr: "https://researchr.org/publication/FavreGLW06" cites: 0 citedby: 0 pages: "52-55" booktitle: "MoDELS" kind: "inproceedings" key: "FavreGLW06" - title: "Three-Tiered Specification of Micro-Architectures" author: - name: "Vasu S. Alagar" link: "https://researchr.org/alias/vasu-s.-alagar" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://arxiv.org/abs/cs.SE/0205052" links: doi: "http://arxiv.org/abs/cs.SE/0205052" tags: - "architecture" researchr: "https://researchr.org/publication/cs-SE-0205052" cites: 0 citedby: 0 journal: "corr" volume: "cs.SE/0205052" kind: "article" key: "cs-SE-0205052" - title: "Towards Generic Refactoring" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://arxiv.org/abs/cs.PL/0203001" links: doi: "http://arxiv.org/abs/cs.PL/0203001" tags: - "refactoring" researchr: "https://researchr.org/publication/cs-PL-0203001" cites: 0 citedby: 0 journal: "corr" volume: "cs.PL/0203001" kind: "article" key: "cs-PL-0203001" - title: "XML schema refactorings for X-to-O mappings" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2007" doi: "http://pi.informatik.uni-siegen.de/stt/27_2/01_Fachgruppenberichte/WSR/15laemmel.pdf" links: doi: "http://pi.informatik.uni-siegen.de/stt/27_2/01_Fachgruppenberichte/WSR/15laemmel.pdf" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/stt/Lammel07" researchr: "https://researchr.org/publication/Lammel07-0" cites: 0 citedby: 0 journal: "stt" volume: "27" number: "2" kind: "article" key: "Lammel07-0" - title: "Preface" author: - name: "Maribel Fernández" link: "https://researchr.org/alias/maribel-fern%C3%A1ndez" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2007" doi: "http://dx.doi.org/10.1016/j.entcs.2006.10.017" links: doi: "http://dx.doi.org/10.1016/j.entcs.2006.10.017" researchr: "https://researchr.org/publication/FernandezL07" cites: 0 citedby: 0 journal: "ENTCS" volume: "174" number: "1" pages: "1-2" kind: "article" key: "FernandezL07" - title: "Google s MapReduce programming model - Revisited" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2008" doi: "http://dx.doi.org/10.1016/j.scico.2007.07.001" links: doi: "http://dx.doi.org/10.1016/j.scico.2007.07.001" tags: - "programming" - "Google" researchr: "https://researchr.org/publication/Lammel08" cites: 0 citedby: 0 journal: "SCP" volume: "70" number: "1" pages: "1-30" kind: "article" key: "Lammel08" - title: "Scrap your boilerplate with class: extensible generic functions" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Simon L. Peyton Jones" link: "http://research.microsoft.com/en-us/people/simonpj/" year: "2005" doi: "http://doi.acm.org/10.1145/1086365.1086391" links: doi: "http://doi.acm.org/10.1145/1086365.1086391" researchr: "https://researchr.org/publication/LammelJ05" cites: 0 citedby: 0 pages: "204-215" booktitle: "ICFP" kind: "inproceedings" key: "LammelJ05" - title: "The Expression Lemma" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Ondrej Rypacek" link: "https://researchr.org/alias/ondrej-rypacek" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-70594-9_12" links: doi: "http://dx.doi.org/10.1007/978-3-540-70594-9_12" researchr: "https://researchr.org/publication/LammelR08" cites: 0 citedby: 0 pages: "193-219" booktitle: "mpc" kind: "inproceedings" key: "LammelR08" - title: "Scrap more boilerplate: reflection, zips, and generalised casts" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Simon L. Peyton Jones" link: "http://research.microsoft.com/en-us/people/simonpj/" year: "2004" doi: "http://doi.acm.org/10.1145/1016850.1016883" links: doi: "http://doi.acm.org/10.1145/1016850.1016883" tags: - "reflection" researchr: "https://researchr.org/publication/LammelJ04" cites: 0 citedby: 0 pages: "244-255" booktitle: "ICFP" kind: "inproceedings" key: "LammelJ04" - title: "Parse-Tree Annotations Meet Re-Engineering Concerns" author: - name: "Jan Kort" link: "http://www.english.uva.nl/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/scam/2003/2005/00/20050161abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/scam/2003/2005/00/20050161abs.htm" tags: - "parsing" researchr: "https://researchr.org/publication/KortL03" cites: 0 citedby: 0 pages: "161" booktitle: "SCAM" kind: "inproceedings" key: "KortL03" - title: "Architectural modifications to deployed software " author: - name: "A. Steven Klusener" link: "https://researchr.org/alias/a.-steven-klusener" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" year: "2005" doi: "http://dx.doi.org/10.1016/j.scico.2004.03.012" links: doi: "http://dx.doi.org/10.1016/j.scico.2004.03.012" tags: - "deployment" - "software architecture" - "architecture" researchr: "https://researchr.org/publication/KlusenerLV05" cites: 1 citedby: 0 journal: "SCP" volume: "54" number: "2-3" pages: "143-211" kind: "article" key: "KlusenerLV05" - title: "The Translator Writing System RUEGEN - KS" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "1991" tags: - "writing" researchr: "https://researchr.org/publication/Lammel91" cites: 0 citedby: 0 pages: "508-513" booktitle: "saga" kind: "inproceedings" key: "Lammel91" - title: "Strategic programming meets adaptive programming" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2003" doi: "http://doi.acm.org/10.1145/643603.643621" abstract: "Strategic programming is a generic programming idiom for processing compound data such as terms or object structures. At the heart of the approach is the separation of two concerns: basic dataprocessing computations vs. traversal schemes. Actual traversals are composed by passing the former as arguments to the latter. Traversal schemes can be defined by the strategic programmer using a combinator style that relies on primitives for layered traversal.In this paper, we take a look at strategic programming from an aspect-oriented programming perspective. Throughout the paper, we compare strategic programming with adaptive programming, which is a well-established aspectual approach to the traversal of object structures. We start from the observation that aspect-oriented programming terms, e.g., crosscutting, join point, and advice can be instantiated for aspectual traversal approaches. " links: doi: "http://doi.acm.org/10.1145/643603.643621" tags: - "object-oriented programming" - "meta programming" - "generic programming" - "separation of concerns" - "traversal" - "data-flow programming" - "data-flow" - "strategies" - "graph-rewriting" - "adaptive programming" - "strategic programming" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "Meta-Environment" - "rewriting" - "systematic-approach" - "rewriting strategies" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/LammelVV03" cites: 0 citedby: 1 pages: "168-177" booktitle: "AOSD" kind: "inproceedings" key: "LammelVV03" - title: "Special issue on foundations of aspect-oriented programming" author: - name: "Pascal Fradet" link: "https://researchr.org/alias/pascal-fradet" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2006" doi: "http://dx.doi.org/10.1016/j.scico.2006.07.001" links: doi: "http://dx.doi.org/10.1016/j.scico.2006.07.001" tags: - "object-oriented programming" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "Pascal" - "feature-oriented programming" researchr: "https://researchr.org/publication/FradetL06" cites: 0 citedby: 0 journal: "SCP" volume: "63" number: "3" pages: "203-206" kind: "article" key: "FradetL06" - title: "The Grammar Deployment Kit - System Demonstration" author: - name: "Jan Kort" link: "http://www.english.uva.nl/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" year: "2002" doi: "http://www.elsevier.com/gej-ng/31/29/23/117/52/show/Products/notes/index.htt#010" links: doi: "http://www.elsevier.com/gej-ng/31/29/23/117/52/show/Products/notes/index.htt#010" tags: - "deployment" - "grammar" researchr: "https://researchr.org/publication/KortLV02" cites: 0 citedby: 0 journal: "ENTCS" volume: "65" number: "3" pages: "117-123" kind: "article" key: "KortLV02" - title: "Cracking the 500-Language Problem" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" year: "2001" doi: "http://www.computer.org:80/software/so2001/s6078abs.htm" links: doi: "http://www.computer.org:80/software/so2001/s6078abs.htm" researchr: "https://researchr.org/publication/LammelV01" cites: 1 citedby: 0 journal: "IEEE Software" volume: "18" number: "6" pages: "78-88" kind: "article" key: "LammelV01" - title: "Roles of Program Extension" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Günter Riedewald" link: "http://www.informatik.uni-rostock.de/psuet/griedew.html" - name: "Wolfgang Lohmann" link: "http://www.informatik.uni-rostock.de/~wlohmann/" year: "1999" researchr: "https://researchr.org/publication/LammelRL99%3A0" cites: 0 citedby: 0 pages: "136-155" booktitle: "LOPSTR" kind: "inproceedings" key: "LammelRL99:0" - title: "The Sketch of a Polymorphic Symphony" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2002" doi: "http://www.elsevier.com/gej-ng/31/29/23/125/47/show/Products/notes/index.htt#008" links: doi: "http://www.elsevier.com/gej-ng/31/29/23/125/47/show/Products/notes/index.htt#008" researchr: "https://researchr.org/publication/Lammel02%3A1" cites: 0 citedby: 0 journal: "ENTCS" volume: "70" number: "6" pages: "135-155" kind: "article" key: "Lammel02:1" - title: "Deriving tolerant grammars from a base-line grammar" author: - name: "Steven Klusener" link: "http://www.cs.vu.nl/~steven/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050179abs.htm" abstract: "A grammar-based approach to tool development in re- and reverse engineering promises precise structure awareness, but it is problematic in two respects. Firstly, it is a considerable up-front investment to obtain a grammar for a relevant language or cocktail of languages. Existing work on grammar recovery addresses this concern to some extent. Secondly, it is often not feasible to insist on a precise grammar, e.g., when different dialects need to be covered. This calls for tolerant grammars. In this paper, we provide a well-engineered approach to the derivation of tolerant grammars, which is based on previous work on error recovery, fuzzy parsing, and island grammars. The technology of this paper has been used in a complex Cobol restructuring project on several millions of lines of code in different Cobol dialects. Our approach is founded on an approximation relation between a tolerant grammar and a base-line grammar which serves as a point of reference. Thereby, we avoid false positives and false negatives when parsing constructs of interest in a tolerant mode. Our approach accomplishes the effective derivation of a tolerant grammar from the syntactical structure that is relevant for a certain re- or reverse engineering tool. To this end, the productions for the constructs of interest are reused from the base-line grammar together with further productions that are needed for completion." links: doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050179abs.htm" tags: - "rule-based" - "reverse engineering" - "language engineering" - "reuse" - "code completion" - "Cobol" - "parsing" - "systematic-approach" - "grammar" researchr: "https://researchr.org/publication/KlusenerL03" cites: 0 citedby: 0 pages: "179" booktitle: "ICSM" kind: "inproceedings" key: "KlusenerL03" - title: "Generic Sort-Preserving Traversal Strategies" author: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2001" doi: "http://www.elsevier.nl/locate/entcs/volume57.html" links: doi: "http://www.elsevier.nl/locate/entcs/volume57.html" "citeseer": "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.133.970" tags: - "traversal" researchr: "https://researchr.org/publication/Lammel01-TCS" cites: 0 citedby: 0 journal: "TCS" volume: "57" pages: "64-86" kind: "article" key: "Lammel01-TCS" - title: "4th International Workshop on Language Engineering (ATEM 2007)" author: - name: "Jean-Marie Favre" link: "http://megaplanet.org/jean-marie-favre/" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Andreas Winter" link: "http://www.uni-koblenz.de/~winter/" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_4" links: doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_4" tags: - "language engineering" researchr: "https://researchr.org/publication/FavreGLW07" cites: 0 citedby: 0 pages: "28-33" booktitle: "MoDELS" kind: "inproceedings" key: "FavreGLW07" - title: "Swing to SWT and back: Patterns for API migration by wrapping" author: - name: "Thiago Tonelli Bartolomei" link: "https://researchr.org/alias/thiago-tonelli-bartolomei" - name: "Krzysztof Czarnecki" link: "http://www.swen.uwaterloo.ca/~kczarnec/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" year: "2010" doi: "http://dx.doi.org/10.1109/ICSM.2010.5610429" links: doi: "http://dx.doi.org/10.1109/ICSM.2010.5610429" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icsm/TonelliKR10" tags: - "migration" researchr: "https://researchr.org/publication/TonelliKR10" cites: 0 citedby: 0 pages: "1-10" booktitle: "ICSM" kind: "inproceedings" key: "TonelliKR10" - title: "The 16th IEEE International Conference on Program Comprehension, ICPC 2008, Amsterdam, The Netherlands, June 10-13, 2008" year: "2008" tags: - "program comprehension" researchr: "https://researchr.org/publication/iwpc%3A2008" cites: 0 citedby: 0 booktitle: "The 16th IEEE International Conference on Program Comprehension, ICPC 2008, Amsterdam, The Netherlands, June 10-13, 2008" conference: "IWPC" editor: - name: "René L. Krikhaar" link: "https://researchr.org/alias/ren%C3%A9-l.-krikhaar" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" publisher: "IEEE Computer Society" kind: "proceedings" key: "iwpc:2008" - title: "Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers" year: "2006" tags: - "transformation engineering" - "GTTSE" - "software engineering" - "transformation" researchr: "https://researchr.org/publication/gttse%3A2006" cites: 0 citedby: 0 booktitle: "Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers" conference: "GTTSE" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" volume: "4143" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-45778-X" kind: "proceedings" key: "gttse:2006" - title: "Pre-proceedings of the 3rd International Summer School on Generative and Transformational Techniques in Software Engineering" year: "2009" tags: - "transformation engineering" - "GTTSE" - "software engineering" - "transformation" researchr: "https://researchr.org/publication/gttse%3A2009" cites: 0 citedby: 0 booktitle: "Pre-proceedings of the 3rd International Summer School on Generative and Transformational Techniques in Software Engineering" editor: - name: "João M. Fernandes" link: "http://www.di.uminho.pt/~jmf/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" kind: "proceedings" key: "gttse:2009" - title: "Generative and Transformational Techniques in Software Engineering IV, International Summer School, GTTSE 2011, Braga, Portugal, July 3-9, 2011. Revised Papers" year: "2013" doi: "http://dx.doi.org/10.1007/978-3-642-35992-7" links: doi: "http://dx.doi.org/10.1007/978-3-642-35992-7" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gttse/2011" researchr: "https://researchr.org/publication/gttse-2011" cites: 0 citedby: 0 booktitle: "Generative and Transformational Techniques in Software Engineering IV, International Summer School, GTTSE 2011, Braga, Portugal, July 3-9, 2011. Revised Papers" conference: "GTTSE" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "João Saraiva" link: "https://researchr.org/alias/jo%C3%A3o-saraiva" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" volume: "7680" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-35992-7" kind: "proceedings" key: "gttse-2011" - title: "Generative and Transformational Techniques in Software Engineering III - International Summer School, GTTSE 2009, Braga, Portugal, July 6-11, 2009. Revised Papers" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-18023-1" links: doi: "http://dx.doi.org/10.1007/978-3-642-18023-1" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gttse/2009" tags: - "transformation engineering" - "software engineering" - "transformation" researchr: "https://researchr.org/publication/gttse-2009" cites: 0 citedby: 0 booktitle: "Generative and Transformational Techniques in Software Engineering III - International Summer School, GTTSE 2009, Braga, Portugal, July 6-11, 2009. Revised Papers" conference: "GTTSE" editor: - name: "Joao M. Fernandes" link: "https://researchr.org/alias/joao-m.-fernandes" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" volume: "6491" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-18022-4" kind: "proceedings" key: "gttse-2009" - title: "Transformation Techniques in Software Engineering, 17.-22. April 2005" year: "2006" tags: - "transformation engineering" - "software engineering" - "transformation" researchr: "https://researchr.org/publication/dagstuhl%3A2005P5161" cites: 0 citedby: 0 booktitle: "Transformation Techniques in Software Engineering, 17.-22. April 2005" conference: "Dagstuhl" editor: - name: "James R. Cordy" link: "http://research.cs.queensu.ca/~cordy/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Andreas Winter" link: "http://www.uni-koblenz.de/~winter/" volume: "05161" series: "Dagstuhl Seminar Proceedings" publisher: "Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany" kind: "proceedings" key: "dagstuhl:2005P5161" - title: "Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6" links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6" tags: - "language engineering" - "software language engineering" - "software engineering" researchr: "https://researchr.org/publication/sle%3A2008" cites: 0 citedby: 0 booktitle: "Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers" conference: "SLE" editor: - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Eric {Van Wyk}" link: "http://www-users.cs.umn.edu/~evw/" volume: "5452" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-00433-9" kind: "proceedings" key: "sle:2008" - title: "Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007" year: "2008" month: "July" tags: - "transformation engineering" - "GTTSE" - "software engineering" - "transformation" researchr: "https://researchr.org/publication/gttse%3A2007" cites: 0 citedby: 0 booktitle: "Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007" conference: "GTTSE" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "João Saraiva" link: "http://di.uminho.pt/~jas" volume: "5235" series: "Lecture Notes in Computer Science" address: "Braga, Portugal" publisher: "Springer" isbn: "978-3-540-88642-6" kind: "proceedings" key: "gttse:2007" - title: "20th Working Conference on Reverse Engineering, WCRE 2013, Koblenz, Germany, October 14-17, 2013" year: "2013" doi: "http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6656028" links: doi: "http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6656028" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/wcre/2013" researchr: "https://researchr.org/publication/wcre-2013" cites: 0 citedby: 0 booktitle: "20th Working Conference on Reverse Engineering, WCRE 2013, Koblenz, Germany, October 14-17, 2013" conference: "WCRE" editor: - name: "Ralf Lämmel" link: "http://www.uni-koblenz.de/~laemmel/Site/Home.html" - name: "Rocco Oliveto" link: "https://researchr.org/alias/rocco-oliveto" - name: "Romain Robbes" link: "https://researchr.org/alias/romain-robbes" publisher: "IEEE" kind: "proceedings" key: "wcre-2013"