publications: - title: "Built-In Contract Testing in Component Integration Testing" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Nikolas Mayer" link: "https://researchr.org/alias/nikolas-mayer" year: "2003" doi: "http://www1.elsevier.com/gej-ng/31/29/23/133/50/show/Products/notes/index.htt#004" links: doi: "http://www1.elsevier.com/gej-ng/31/29/23/133/50/show/Products/notes/index.htt#004" tags: - "contracts" - "testing" researchr: "https://researchr.org/publication/GrossM03" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "82" number: "6" pages: "22-32" kind: "article" key: "GrossM03" - title: "The ASF+SDF Meta-environment: A Component-Based Language Development Environment" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Jan Heering" link: "http://homepages.cwi.nl/~jan/" - name: "H. A. de Jong" link: "http://www.cwi.nl" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Pieter A. Olivier" link: "http://www.cwi.nl" - name: "Jeroen Scheerder" link: "http://www.linkedin.com/in/jeroenscheerder" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)80917-4" abstract: "The Asf+Sdf Meta-environment is an interactive development environment for the automatic generation of interactive systems for constructing language definitions and generating tools for them. Over the years, this system has been used in a variety of academic and commercial projects ranging from formal program manipulation to conversion of COBOL systems. Since the existing implementation of the Meta-environment started exhibiting more and more characteristics of a legacy system, we decided to build a completely new, component-based, version. We demonstrate this new system and stress its open architecture. " links: doi: "https://doi.org/10.1016/S1571-0661(04)80917-4" tags: - "programming languages" - "rule-based" - "meta programming" - "SDF" - "meta-model" - "architecture" - "model-driven development" - "source-to-source" - "DSL" - "metaprogramming" - "Meta-Environment" - "Cobol" - "ASF+SDF" - "open-source" - "meta-objects" researchr: "https://researchr.org/publication/BrandDHJ01" cites: 0 citedby: 3 pages: "365-370" booktitle: "Compiler Construction, 10th International Conference, CC 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2-6, 2001, Proceedings" editor: - name: "Reinhard Wilhelm" link: "https://researchr.org/alias/reinhard-wilhelm" volume: "2027" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-41861-X" kind: "inproceedings" key: "BrandDHJ01" - title: "Applying Webmining Techniques to Execution Traces to Support the Program Comprehension Process" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Toon Calders" link: "https://researchr.org/alias/toon-calders" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Jan Paredaens" link: "https://researchr.org/alias/jan-paredaens" year: "2005" doi: "http://csdl.computer.org/comp/proceedings/csmr/2005/2304/00/23040134abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/csmr/2005/2304/00/23040134abs.htm" tags: - "program comprehension" researchr: "https://researchr.org/publication/ZaidmanCDP05" cites: 0 citedby: 0 pages: "134-142" booktitle: "9th European Conference on Software Maintenance and Reengineering (CSMR 2005), 21-23 March 2005, Manchester, UK, Proceedings" publisher: "IEEE Computer Society" isbn: "0-7695-2304-8" kind: "inproceedings" key: "ZaidmanCDP05" - title: "Disambiguation Filters for Scannerless Generalized LR Parsers" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Jeroen Scheerder" link: "http://www.linkedin.com/in/jeroenscheerder" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1007/3-540-45937-5_12" abstract: "In this paper we present the fusion of generalized LR parsing and scannerless parsing. This combination supports syntax definitions in which all aspects (lexical and context-free) of the syntax of a language are defined explicitly in one formalism. Furthermore, there are no restrictions on the class of grammars, thus allowing a natural syntax tree structure. Ambiguities that arise through the use of unrestricted grammars are handled by explicit disambiguation constructs, instead of implicit defaults that are taken by traditional scanner and parser generators. Hence, a syntax definition becomes a full declarative description of a language. Scannerless generalized LR parsing is a viable technique that has been applied in various industrial and academic projects. " links: doi: "https://doi.org/10.1007/3-540-45937-5_12" tags: - "GLR parsing" - "syntax definition" - "SDF" - "lexical syntax" - "scannerless" - "disambiguation" - "GLR" - "context-aware" - "parsing" - "scannerless parsing" - "ASF+SDF" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/BrandSVV02" cites: 0 citedby: 4 pages: "143-158" booktitle: "Compiler Construction, 11th International Conference, CC 2002, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8-12, 2002, Proceedings" editor: - name: "R. Nigel Horspool" link: "https://researchr.org/alias/r.-nigel-horspool" volume: "2304" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-43369-4" kind: "inproceedings" key: "BrandSVV02" - title: "Automatically Extracting Class Diagrams from Spreadsheets" author: - name: "Felienne Hermans" link: "https://researchr.org/profile/feliennehermans/publications" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-14107-2_4" links: doi: "http://dx.doi.org/10.1007/978-3-642-14107-2_4" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/HermansPD10" researchr: "https://researchr.org/publication/HermansPD10" cites: 0 citedby: 0 pages: "52-75" booktitle: "ECOOP 2010 - Object-Oriented Programming, 24th European Conference, Maribor, Slovenia, June 21-25, 2010. Proceedings" editor: - name: "Theo D Hondt" link: "https://researchr.org/alias/theo-d-hondt" volume: "6183" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-14106-5" kind: "inproceedings" key: "HermansPD10" - title: "A Model of Maintainability - Suggestion for Future Research" author: - name: "Mira Kajko-Mattsson" link: "https://researchr.org/alias/mira-kajko-mattsson" - name: "Gerardo Canfora" link: "https://researchr.org/alias/gerardo-canfora" - name: "Dan Chiorean" link: "https://researchr.org/alias/dan-chiorean" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tuomas Ihme" link: "https://researchr.org/alias/tuomas-ihme" - name: "Meir M. Lehman" link: "https://researchr.org/alias/meir-m.-lehman" - name: "Rupert Reiger" link: "https://researchr.org/alias/rupert-reiger" - name: "Torsten Engel" link: "https://researchr.org/alias/torsten-engel" - name: "Josef Wernke" link: "https://researchr.org/alias/josef-wernke" year: "2006" researchr: "https://researchr.org/publication/Kajko-MattssonCCDILREW06" cites: 0 citedby: 0 pages: "436-441" booktitle: "Proceedings of the International Conference on Software Engineering Research and Practice & Conference on Programming Languages and Compilers, SERP 2006, Las Vegas, Nevada, USA, June 26-29, 2006, Volume 1" editor: - name: "Hamid R. Arabnia" link: "https://researchr.org/alias/hamid-r.-arabnia" - name: "Hassan Reza" link: "https://researchr.org/alias/hassan-reza" publisher: "CSREA Press" isbn: "1-932415-90-4" kind: "inproceedings" key: "Kajko-MattssonCCDILREW06" - title: "Can developer-module networks predict failures?" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Nachiappan Nagappan" link: "https://researchr.org/alias/nachiappan-nagappan" - name: "Brendan Murphy" link: "https://researchr.org/alias/brendan-murphy" year: "2008" doi: "http://doi.acm.org/10.1145/1453101.1453105" links: doi: "http://doi.acm.org/10.1145/1453101.1453105" researchr: "https://researchr.org/publication/PinzgerNM08" cites: 0 citedby: 0 pages: "2-12" booktitle: "Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2008, Atlanta, Georgia, USA, November 9-14, 2008" editor: - name: "Mary Jean Harrold" link: "https://researchr.org/alias/mary-jean-harrold" - name: "Gail C. Murphy" link: "https://researchr.org/alias/gail-c.-murphy" publisher: "ACM" isbn: "978-1-59593-995-1" kind: "inproceedings" key: "PinzgerNM08" - title: "Automatic identification of key classes in a software system using webmining techniques" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" year: "2008" doi: "http://dx.doi.org/10.1002/smr.370" links: doi: "http://dx.doi.org/10.1002/smr.370" researchr: "https://researchr.org/publication/ZaidmanD08" cites: 0 citedby: 0 journal: "Journal of Software Maintenance" volume: "20" number: "6" pages: "387-417" kind: "article" key: "ZaidmanD08" - title: "An approach to aspect refactoring based on crosscutting concern types" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2005" doi: "http://doi.acm.org/10.1145/1082983.1083140" links: doi: "http://doi.acm.org/10.1145/1082983.1083140" tags: - "object-oriented programming" - "rule-based" - "refactoring" - "aspect oriented programming" - "rule-based refactoring" - "subject-oriented programming" - "systematic-approach" - "feature-oriented programming" researchr: "https://researchr.org/publication/MarinMD05" cites: 0 citedby: 0 journal: "ACM SIGSOFT Software Engineering Notes" volume: "30" number: "4" pages: "1-5" kind: "article" key: "MarinMD05" - title: "Assessment of issue handling efficiency" author: - name: "Bart Luijten" link: "http://nl.linkedin.com/in/bluijten" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" year: "2010" doi: "http://dx.doi.org/10.1109/MSR.2010.5463292" links: doi: "http://dx.doi.org/10.1109/MSR.2010.5463292" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/msr/LuijtenVZ10" researchr: "https://researchr.org/publication/LuijtenVZ10" cites: 0 citedby: 0 pages: "94-97" booktitle: "Proceedings of the 7th International Working Conference on Mining Software Repositories, MSR 2010 (Co-located with ICSE), Cape Town, South Africa, May 2-3, 2010, Proceedings" editor: - name: "Jim Whitehead" link: "https://researchr.org/alias/jim-whitehead" - name: "Thomas Zimmermann" link: "https://researchr.org/alias/thomas-zimmermann" publisher: "IEEE" isbn: "978-1-4244-6803-4" kind: "inproceedings" key: "LuijtenVZ10" - title: "PIL: A Platform Independent Language for Retargetable DSLs" author: - name: "Zef Hemel" link: "http://zef.me" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-12107-4_17" abstract: "Intermediate languages are used in compiler construction to simplify retargeting compilers to multiple machine architectures. In the implementation of domain-specific languages (DSLs), compilers typically generate high-level source code, rather than low-level machine instructions. DSL compilers target a software platform, i.e. a programming language with a set of libraries, deployable on one or more operating systems. DSLs enable targeting multiple software platforms if its abstractions are platform independent. While transformations from DSL to each targeted platform are often conceptually very similar, there is little reuse between transformations due to syntactic and API differences of the target platforms, making supporting multiple platforms expensive. In this paper, we discuss the design and implementation of PIL, a Platform Independent Language, an intermediate language providing a layer of abstraction between DSL and target platform code, abstracting from syntactic and API differences between platforms, thereby removing the need for platform-specific transformations. We discuss the use of PIL in an implemementation of WebDSL, a DSL for building web applications." links: doi: "http://dx.doi.org/10.1007/978-3-642-12107-4_17" tags: - "DSL" researchr: "https://researchr.org/publication/HemelV09" cites: 0 citedby: 1 pages: "224-243" booktitle: "Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers" editor: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" volume: "5969" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-12106-7" kind: "inproceedings" key: "HemelV09" - title: "An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2007.25" links: doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2007.25" tags: - "object-oriented programming" - "migration" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/10.1109-SCAM.2007.25" cites: 0 citedby: 0 journal: "Source Code Analysis and Manipulation, IEEE International Workshop on" volume: "0" kind: "article" key: "10.1109-SCAM.2007.25" - title: "Documenting Typical Crosscutting Concerns" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.22" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.22" tags: - "object-oriented programming" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MarinMD07" cites: 0 citedby: 0 pages: "31-40" booktitle: "14th Working Conference on Reverse Engineering (WCRE 2007), 28-31 October 2007, Vancouver, BC, Canada" publisher: "IEEE Computer Society" kind: "inproceedings" key: "MarinMD07" - title: "The Reengineering Wiki" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1109/CSMR.2002.995808" abstract: "The reverse and reengineering research communities have a strong tradition of collecting, organizing, and unifying research results. Typical examples include an explicit taxonomy, dedicated web sites, an annotated bibliography, as well as efforts in exchange formats and tool evaluation. In this paper we describe and evaluate the use of a web authoring system to integrate such efforts. To that end, we propose the \"Reengineering Wiki\", which uses Wiki technology to enable web site visitors themselves to maintain and organize pages devoted to their topics of interest. This paper covers web authoring criteria, an introduction to wiki technology, typical wiki usage, and an evaluation of wiki-based systems. Moreover, the paper discusses the organization and contents of the Reengineering Wiki, and concludes with an invitation to participate in the Reengineering Wiki project." links: doi: "https://doi.org/10.1109/CSMR.2002.995808" tags: - "rule-based" - "bibliography" - "reverse engineering" - "visitor" - "web engineering" - "wiki" - "annotated bibliography" - "reengineering" - "taxonomy" researchr: "https://researchr.org/publication/DeursenV02" cites: 0 citedby: 0 pages: "217-220" booktitle: "6th European Conference on Software Maintenance and Reengineering (CSMR 2002), 11-13 March 2002, Budapest, Hungary, Proceedings" publisher: "IEEE Computer Society" isbn: "0-7695-1438-3" kind: "inproceedings" key: "DeursenV02" - title: "Design of the CodeBoost Transformation System for Domain-Specific Optimisation of C++ Programs" author: - name: "Anya Helene Bagge" link: "http://www.ii.uib.no/~anya/" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Magne Haveraaen" link: "http://www.ii.uib.no/~magne/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" doi: "https://doi.org/10.1109/SCAM.2003.1238032" abstract: "The use of a high-level, abstract coding style can greatly increase developer productivity. For numerical software, this can result in drastically reduced run-time performance. High-level, domain-specific optimisations can eliminate much of the overhead caused by an abstract coding style, but current compilers have poor support for domain-specific optimisation. In this paper we present CodeBoost, a source-to-source transformation tool for domain-specific optimisation of C++ programs. CodeBoost performs parsing, semantic analysis and pretty-printing, and transformations can be implemented either in the Stratego program transformation language, or as user-defined rewrite rules embedded within the C++ program. CodeBoost has been used with great success to optimise numerical applications written in the Sophus high-level coding style. We discuss the overall design of the CodeBoost transformation framework, and take a closer look at two important features of CodeBoost: user-defined rules and totem annotations. We also show briefly how CodeBoost is used to optimise Sophus code, resulting in applications that run twice as fast, or more." links: doi: "https://doi.org/10.1109/SCAM.2003.1238032" tags: - "programming languages" - "model-to-model transformation" - "rule-based" - "program analysis" - "application framework" - "graph transformation" - "CodeBoost" - "embedded software" - "Stratego/XT" - "transformation language" - "points-to analysis" - "domain analysis" - "analysis" - "language design" - "source-to-source" - "graph-rewriting" - "rules" - "C++" - "transformation system" - "compiler" - "model transformation" - "rewriting" - "parsing" - "design" - "open-source" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BaggeKHV03" cites: 0 citedby: 0 pages: "65" booktitle: "3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-2005-7" kind: "inproceedings" key: "BaggeKHV03" - title: "Change Analysis with Evolizer and ChangeDistiller" author: - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Beat Fluri" link: "https://researchr.org/alias/beat-fluri" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2009" doi: "http://dx.doi.org/10.1109/MS.2009.6" links: doi: "http://dx.doi.org/10.1109/MS.2009.6" tags: - "analysis" researchr: "https://researchr.org/publication/GallFP09" cites: 0 citedby: 0 journal: "IEEE Software" volume: "26" number: "1" pages: "26-33" kind: "article" key: "GallFP09" - title: "Origin Tracking" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Frank Tip" link: "http://domino.research.ibm.com/comm/research_people.nsf/pages/tip.index.html" year: "1992" links: published: "https://researchr.org/publication/DeursenKT93" researchr: "https://researchr.org/publication/DeursenKlintTip1992" cites: 0 citedby: 1 kind: "techreport" key: "DeursenKlintTip1992" - title: "SoQueT: Query-Based Documentation of Crosscutting Concerns" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/ICSE.2007.78" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICSE.2007.78" tags: - "rule-based" researchr: "https://researchr.org/publication/MarinMD07%3A1" cites: 0 citedby: 0 pages: "758-761" booktitle: "29th International Conference on Software Engineering (ICSE 2007), Minneapolis, MN, USA, May 20-26, 2007" publisher: "IEEE Computer Society" kind: "inproceedings" key: "MarinMD07:1" - title: "Towards Software Component Procurement Automation with Latent Semantic Analysis" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Marco Lormans" link: "https://researchr.org/alias/marco-lormans" - name: "Jun Zhou" link: "https://researchr.org/alias/jun-zhou" year: "2007" doi: "http://dx.doi.org/10.1016/j.entcs.2007.05.047" links: doi: "http://dx.doi.org/10.1016/j.entcs.2007.05.047" tags: - "software components" - "software component" - "analysis" researchr: "https://researchr.org/publication/GrossLZ07" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "189" pages: "51-68" kind: "article" key: "GrossLZ07" - title: "Splitting a large software repository for easing future software evolution - an industrial experience report" author: - name: "Marco Glorie" link: "https://researchr.org/alias/marco-glorie" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Lennart Hofland" link: "https://researchr.org/alias/lennart-hofland" year: "2009" doi: "http://dx.doi.org/10.1002/smr.401" abstract: "Philips Medical Systems produces medical diagnostic imaging products, such as magnetic resonance, X-ray and computed tomography systems. The software of these devices is complex, has been evolving for several decades and is currently a multi-MLOC monolithic software repository. In this paper we report on splitting a single software repository into multiple smaller repositories so that these can be developed independently, easing the software's evolution. For splitting the single software repository, we set up two experiments that involve well-known analysis techniques, namely formal concept analysis and clustering. Because of the sheer size of the monolithic software repository, we also propose to use a leveled approach, which implies that the analysis technique is applied in several iterations, whereby in some iterations only part of the application is subjected to the analysis technique. Unfortunately, both analysis techniques failed to produce an acceptable partitioning of the monolithic software repository, even if they are combined with our newly proposed leveled approach. We provide a number of valuable lessons learned, which might prevent others from falling into the same pitfalls." links: doi: "http://dx.doi.org/10.1002/smr.401" tags: - "concept analysis" - "analysis" - "software evolution" - "diagnostics" - "remodularization" - "cluster analysis" - "partitioning" - "systematic-approach" researchr: "https://researchr.org/publication/GlorieZDH09" cites: 0 citedby: 0 journal: "Journal of Software Maintenance" volume: "21" number: "2" pages: "113-141" kind: "article" key: "GlorieZDH09" - title: "Workshop on Program Comprehension through Dynamic Analysis (PCODA07)" author: - name: "Abdelwahab Hamou-Lhadj" link: "https://researchr.org/alias/abdelwahab-hamou-lhadj" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Orla Greevy" link: "https://researchr.org/alias/orla-greevy" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.53" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.53" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/Hamou-LhadjZG07" cites: 0 citedby: 0 pages: "298" booktitle: "14th Working Conference on Reverse Engineering (WCRE 2007), 28-31 October 2007, Vancouver, BC, Canada" publisher: "IEEE Computer Society" kind: "inproceedings" key: "Hamou-LhadjZG07" - title: "Refactoring Test Code" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Bergh, A. van den" link: "https://researchr.org/alias/bergh%2C-a.-van-den" - name: "G. Kok" link: "https://researchr.org/alias/g.-kok" year: "2001" tags: - "refactoring" - "testing" researchr: "https://researchr.org/publication/DMBK01" cites: 0 citedby: 0 booktitle: "Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes (XP2001)" publisher: "University of Cagliari" kind: "inproceedings" key: "DMBK01" - title: "Migrating Supervisory Control Architectures Using Model Transformations" author: - name: "Bas Graaf" link: "http://www.st.ewi.tudelft.nl/~basgraaf/" - name: "Sven Weber" link: "https://researchr.org/alias/sven-weber" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.35" links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.35" tags: - "model-to-model transformation" - "meta-model" - "architecture" - "source-to-source" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/GraafWD06" cites: 0 citedby: 0 pages: "153-164" booktitle: "10th European Conference on Software Maintenance and Reengineering (CSMR 2006), 22-24 March 2006, Bari, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2536-9" kind: "inproceedings" key: "GraafWD06" - title: "Transparantie in variabiliteit: Heldere keuzes in een eenduidige configuratieomgeving" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Gert Florijn" link: "https://researchr.org/alias/gert-florijn" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2004" month: "February" abstract: "Elk eerbiedwaardig softwaresysteem biedt tegenwoordig de mogelijkheid om gedurende de levensduur de eigenschappen ervan te wijzigen. Om deze variatiepunten te modelleren wordt in het Jaquard-project TraCE gewerkt aan transparante configuratieomgevingen." researchr: "https://researchr.org/publication/DolstraFJV04" cites: 0 citedby: 0 journal: "Informatie" volume: "46" number: "1" pages: "18-21" kind: "article" key: "DolstraFJV04" - title: "Managing Trace Data Volume through a Heuristical Clustering Process Based on Event Execution Frequency" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" year: "2004" doi: "http://csdl.computer.org/comp/proceedings/csmr/2004/2107/00/21070329abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/csmr/2004/2107/00/21070329abs.htm" tags: - "rule-based" researchr: "https://researchr.org/publication/ZaidmanD04" cites: 0 citedby: 0 pages: "329-338" booktitle: "8th European Conference on Software Maintenance and Reengineering (CSMR 2004), 24-26 March 2004, Tampere, Finland, Proceedings" publisher: "IEEE Computer Society" isbn: "0-7695-2107-X" kind: "inproceedings" key: "ZaidmanD04" - title: "An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Robin van der Rijst" link: "https://researchr.org/alias/robin-van-der-rijst" year: "2009" doi: "http://dx.doi.org/10.1007/s10515-009-0051-2" links: doi: "http://dx.doi.org/10.1007/s10515-009-0051-2" tags: - "object-oriented programming" - "refactoring" - "migration" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MarinDMR09" cites: 0 citedby: 0 journal: "Automated Software Engineering" volume: "16" number: "2" pages: "323-356" kind: "article" key: "MarinDMR09" - title: "Splitting a Large Software Archive for Easing Future Software Evolution - An Industrial Experience Report using Formal Concept Analysis" author: - name: "Marco Glorie" link: "https://researchr.org/alias/marco-glorie" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Lennart Hofland" link: "https://researchr.org/alias/lennart-hofland" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2008" doi: "http://dx.doi.org/10.1109/CSMR.2008.4493310" links: doi: "http://dx.doi.org/10.1109/CSMR.2008.4493310" tags: - "software architecture" - "concept analysis" - "architecture" - "analysis" - "software evolution" - "remodularization" researchr: "https://researchr.org/publication/GlorieZHD08" cites: 0 citedby: 0 pages: "153-162" booktitle: "12th European Conference on Software Maintenance and Reengineering, CSMR 2008, April 1-4, 2008, Athens, Greece" publisher: "IEEE" kind: "inproceedings" key: "GlorieZHD08" - title: "Self-certification and trust in component procurement" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "M. Melideo" link: "https://researchr.org/alias/m.-melideo" - name: "A. Sillitti" link: "https://researchr.org/alias/a.-sillitti" year: "2005" doi: "http://dx.doi.org/10.1016/j.scico.2004.11.009" links: doi: "http://dx.doi.org/10.1016/j.scico.2004.11.009" tags: - "certification" researchr: "https://researchr.org/publication/GrossMS05" cites: 0 citedby: 0 journal: "Science of Computer Programming" volume: "56" number: "1-2" pages: "141-156" kind: "article" key: "GrossMS05" - title: "Composing Source-to-Source Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic Rewrite Rules" author: - name: "Karina Olmos" link: "https://researchr.org/profile/karinaolmos/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2005" doi: "https://doi.org/10.1007/978-3-540-31985-6_14" abstract: "Data-flow transformations used in optimizing compilers are also useful in other programming tools such as code generators, aspect weavers, domain-specific optimizers, and refactoring tools. These applications require source-to-source transformations rather than transformations on a low-level intermediate representation. In this paper we describe the composition of source-to-source data-flow transformations in the program transformation language Stratego. The language supports the high-level specification of transformations by means of rewriting strategy combinators that allow a natural modeling of data- and control-flow without committing to a specific source language. Data-flow facts are propagated using dynamic rewriting rules. In particular, we introduce the concept of dependent dynamic rewrite rules for modeling the dependencies of data-flow facts on program entities such as variables. The approach supports the combination of analysis and transformation, the combination of multiple transformations, the combination with other types of transformations, and the correct treatment of variable binding constructs and lexical scope to avoid free variable capture." links: doi: "https://doi.org/10.1007/978-3-540-31985-6_14" tags: - "programming languages" - "model-to-model transformation" - "optimization" - "rule-based" - "intermediate representation" - "program analysis" - "meta programming" - "data-flow language" - "graph transformation" - "meta-model" - "dynamic rewrite rules" - "modeling language" - "modeling" - "variable binding" - "Stratego/XT" - "model refactoring" - "refactoring" - "transformation language" - "language modeling" - "composition" - "dynamic rules" - "points-to analysis" - "domain analysis" - "dependent dynamic rewrite rules" - "analysis" - "data-flow programming" - "data-flow" - "source-to-source" - "graph-rewriting" - "rules" - "rule-based refactoring" - "compiler" - "model transformation" - "programming" - "program optimization" - "Meta-Environment" - "rewriting" - "data-flow analysis" - "systematic-approach" - "rewriting strategies" - "open-source" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/OlmosV05" cites: 0 citedby: 0 pages: "204-220" booktitle: "Compiler Construction, 14th International Conference, CC 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, UK, April 4-8, 2005, Proceedings" editor: - name: "Rastislav Bodík" link: "https://researchr.org/alias/rastislav-bod%C3%ADk" volume: "3443" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-25411-0" kind: "inproceedings" key: "OlmosV05" - title: "WebWorkFlow: An Object-Oriented Workflow Modeling Language for Web Applications" author: - name: "Zef Hemel" link: "http://zef.me" - name: "Ruben Verhaaf" link: "http://www.linkedin.com/pub/ruben-verhaaf/3/a73/2ab" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-87875-9_8" abstract: "Workflow languages are designed for the high-level description of processes and are typically not suitable for the generation of complete applications. In this paper, we present WebWorkFlow, an object-oriented workflow modeling language for the high-level description of workflows in web applications. Workflow descriptions define procedures operating on domain objects. Procedures are composed using sequential and concurrent process combinators. WebWorkFlow is an embedded language, extending WebDSL, a domain-specific language for web application development, with workflow abstractions. The extension is implemented by means of model-to-model transformations. Rather than providing an exclusive workflow language, WebWorkFlow supports interaction with the underlying WebDSL language. WebWorkFlow supports most of the basic workflow control patterns. " links: doi: "http://dx.doi.org/10.1007/978-3-540-87875-9_8" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-029.pdf" tags: - "workflow patterns" - "model-to-model transformation" - "interaction design" - "WebDSL" - "transformation engineering" - "completeness" - "pattern language" - "meta-model" - "modeling language" - "modeling" - "language engineering" - "transformation language" - "language modeling" - "web engineering" - "language design" - "model-driven development" - "source-to-source" - "model-driven engineering" - "object-role modeling" - "model transformation" - "web applications" - "DSL" - "abstraction" - "Meta-Environment" - "workflow" - "process modeling" - "WebWorkFlow" - "meta-objects" - "transformation" - "domain-specific language" researchr: "https://researchr.org/publication/HemelVV08" cites: 0 citedby: 6 pages: "113-127" booktitle: "Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings" editor: - name: "Krzysztof Czarnecki" link: "http://www.swen.uwaterloo.ca/~kczarnec/" - name: "Ileana Ober" link: "https://researchr.org/alias/ileana-ober" - name: "Jean-Michel Bruel" link: "https://researchr.org/alias/jean-michel-bruel" - name: "Axel Uhl" link: "https://researchr.org/alias/axel-uhl" - name: "Markus Völter" link: "http://www.voelter.de/" volume: "5301" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-87874-2" kind: "inproceedings" key: "HemelVV08" - title: "Criteria for the evaluation of implemented architectures" author: - name: "Eric Bouwers" link: "http://www.st.ewi.tudelft.nl/~bouwers/main/" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2009" doi: "http://dx.doi.org/10.1109/ICSM.2009.5306330" abstract: "Software architecture evaluation methods aim at identifying potential maintainability problems for a given architecture. Several of these methods exist, which typically prescribe the structure of the evaluation process. Often left implicit, however, are the concrete system attributes that need to be studied in order to assess the maintainability of implemented architectures. To determine this set of attributes, we have performed an empirical study on over 40 commercial architectural evaluations conducted during the past two years as part of a systematic Software Risk Assessment. We present this study and we explain how the identified attributes can be projected on various architectural system properties, which provides an overview of criteria for the evaluation of the maintainability of implemented software architectures." links: doi: "http://dx.doi.org/10.1109/ICSM.2009.5306330" tags: - "empirical" - "software architecture" - "architecture" - "systematic-approach" researchr: "https://researchr.org/publication/BouwersVD09" cites: 0 citedby: 0 pages: "73-82" booktitle: "25th IEEE International Conference on Software Maintenance (ICSM 2009), September 20-26, 2009, Edmonton, Alberta, Canada" publisher: "IEEE" kind: "inproceedings" key: "BouwersVD09" - title: "Language extension and composition with language workbenches" author: - name: "Markus Völter" link: "http://www.voelter.de/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2010" doi: "http://doi.acm.org/10.1145/1869542.1869623" abstract: " Domain-specific languages (DSLs) provide high expressive power focused on a particular problem domain. They provide linguistic abstractions and specialized syntax specifically designed for a domain, allowing developers to avoid boilerplate code and low-level implementation details. Language workbenches are tools that integrate all aspects of the definition of domain-specific or general-purpose software languages and the creation of a programming environment from such a definition. To count as a language workbench, a tool needs to satisfy basic requirements for the integrated definition of syntax, semantics, and editor services, and preferably also support language extension and composition. Within these requirements there is ample room for variation in the design of a language workbench. In this tutorial, we give an introduction to the state of the art in textual DSLs and language workbenches. We discuss the main requirements and variation points in the design of language workbenches, and describe two points in the design space using two state-of-the-art language workbenches. Spoofax is an example of a parser-based language workbench, while MPS represents language workbenches based on projectional editors. " links: doi: "http://doi.acm.org/10.1145/1869542.1869623" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/VolterV10" tags: - "workbench" - "composition" - "language workbench" researchr: "https://researchr.org/publication/VolterV10" cites: 0 citedby: 0 pages: "301-304" booktitle: "Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, SPLASH/OOPSLA 2010, October 17-21, 2010, Reno/Tahoe, Nevada, USA" editor: - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Siobhán Clarke" link: "https://www.cs.tcd.ie/Siobhan.Clarke/" - name: "Martin C. Rinard" link: "https://researchr.org/alias/martin-c.-rinard" publisher: "ACM" isbn: "978-1-4503-0240-1" kind: "inproceedings" key: "VolterV10" - 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: "Generating Editors for Embedded Languages. Integrating SGLR into IMP" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" month: "April" abstract: "Integrated Development Environments (IDEs) increase productivity by providing a rich user interface and rapid feedback for a specific language. Creating an editor for a specific language is not a trivial undertaking, and is a cumbersome task even when working with an extensible framework such as Eclipse. A new IBM-guided effort, the IMP framework, relieves the IDE developer from a significant portion of the required work by providing various abstractions for this. For embedded languages, such as embedded regular expressions, SQL queries, or code generation templates, its LALR parser generator falls short, however. Scannerless parsing with SGLR enables concise, modular definition of such languages. In this paper, we present an integration of SGLR into IMP, demonstrating that a scannerless parser can be successfully integrated into an IDE. Given an SDF syntax definition, the sdf2imp tool automatically generates an editor plugin based on the IMP API, complete with syntax checking, syntax highlighting, outline view, and code folding. Using declarative domain-specific languages, these services can be customized, and using the IMP metatooling framework it can be extended with other features. " links: successor: "https://researchr.org/publication/KatsVisser2010" "spoofax homepage": "http://strategoxt.org/Spoofax" "pdf": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-006.pdf" tags: - "rule-based" - "Eclipse" - "syntax definition" - "completeness" - "SDF" - "SQL" - "C++" - "code generation" - "abstraction" - "Spoofax" - "Meta-Environment" - "parsing" - "scannerless parsing" - "extensible language" - "ASF+SDF" - "SGLR" - "query language" - "domain-specific language" researchr: "https://researchr.org/publication/KatsKV08" cites: 0 citedby: 1 booktitle: "Proceedings of the Eight Workshop on Language Descriptions, Tools, and Applications" editor: - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Adrian Johnstone" link: "http://www.cs.rhul.ac.uk/~adrian/" volume: "238" number: "5" series: "Electronic Notes in Theoretical Computer Science " publisher: "Elsevier" kind: "inproceedings" key: "KatsKV08" - title: "The Spoofax language workbench (poster paper)" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2010" doi: "http://doi.acm.org/10.1145/1869542.1869592" abstract: "Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. It provides a comprehensive environment that integrates syntax definition, program transformation, code generation, and declarative specification of IDE components." links: doi: "http://doi.acm.org/10.1145/1869542.1869592" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KatsV10a" tags: - "programming languages" - "workbench" - "syntax definition" - "meta programming" - "transformation language" - "C++" - "code generation" - "language workbench" - "Spoofax" - "Meta-Environment" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/KatsV10a" cites: 0 citedby: 0 pages: "237-238" booktitle: "Companion to the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, SPLASH/OOPSLA 2010, October 17-21, 2010, Reno/Tahoe, Nevada, USA" editor: - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Siobhán Clarke" link: "https://www.cs.tcd.ie/Siobhan.Clarke/" - name: "Martin C. Rinard" link: "https://researchr.org/alias/martin-c.-rinard" publisher: "ACM" isbn: "978-1-4503-0240-1" kind: "inproceedings" key: "KatsV10a" - title: "Towards the Integration of Versioning Systems, Bug Reports and Source Code Meta-Models" author: - name: "Giuliano Antoniol" link: "https://researchr.org/alias/giuliano-antoniol" - name: "Massimiliano Di Penta" link: "https://researchr.org/alias/massimiliano-di-penta" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.036" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.036" tags: - "meta-model" - "source-to-source" - "Meta-Environment" - "open-source" - "meta-objects" researchr: "https://researchr.org/publication/AntoniolPGP05" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "127" number: "3" pages: "87-99" kind: "article" key: "AntoniolPGP05" - title: "Providing rapid feedback in generated modular language environments: adding error recovery to scannerless generalized-LR parsing" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Maartje de Jonge" link: "https://researchr.org/profile/maartjedejonge/publications" - name: "Emma Nilsson-Nyman" link: "http://www.cs.lth.se/home/Emma.Nilsson_Nyman/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://doi.acm.org/10.1145/1640089.1640122" abstract: "Integrated development environments (IDEs) increase programmer productivity, providing rapid, interactive feedback based on the syntax and semantics of a language. A heavy burden lies on developers of new languages to provide adequate IDE support. Code generation techniques provide a viable, efficient approach to semi-automatically produce IDE plugins. Key components for the realization of plugins are the language's grammar and parser. For embedded languages and language extensions, constituent IDE plugin modules and their grammars can be combined. Unlike conventional parsing algorithms, scannerless generalized-LR parsing supports the full set of context-free grammars, which is closed under composition, and hence can parse language embeddings and extensions composed from separate grammar modules. To apply this algorithm in an interactive environment, this paper introduces a novel error recovery mechanism, which allows it to be used with files with syntax errors -- common in interactive editing. Error recovery is vital for providing rapid feedback in case of syntax errors, as most IDE services depend on the parser -- from syntax highlighting to semantic analysis and cross-referencing. We base our approach on the principles of island grammars, and derive permissive grammars with error recovery productions from normal SDF grammars. To cope with the added complexity of these grammars, we adapt the parser to support backtracking. We evaluate the recovery quality and performance of our approach using a set of composed languages, based on Java and Stratego. " links: doi: "http://doi.acm.org/10.1145/1640089.1640122" successor: "https://researchr.org/publication/JongeKVS12" "technical report (pdf)": "http://www.lclnet.nl/publications/error-recovery.pdf" tags: - "parsing algorithm" - "semantics" - "rule-based" - "Java" - "SDF" - "composition" - "analysis" - "principles" - "C++" - "code generation" - "context-aware" - "Meta-Environment" - "parsing" - "scannerless parsing" - "systematic-approach" - "island grammars" - "ASF+SDF" - "grammar" - "Stratego" researchr: "https://researchr.org/publication/KatsJNV09" cites: 0 citedby: 1 pages: "445-464" booktitle: "Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA" editor: - name: "Shail Arora" link: "https://researchr.org/alias/shail-arora" - name: "Gary T. Leavens" link: "https://researchr.org/alias/gary-t.-leavens" publisher: "ACM" isbn: "978-1-60558-766-0" kind: "inproceedings" key: "KatsJNV09" - title: "Warm fusion in Stratego: A case study in generation of program transformation systems" author: - name: "Patricia Johann" link: "http://personal.cis.strath.ac.uk/~patricia/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2000" doi: "http://dx.doi.org/10.1023/A:1018956702672" abstract: "Stratego is a domain-specific language for the specification of program transformation systems. The design of Stratego is based on the paradigm of rewriting strategies: user-definable programs in a little language of strategy operators determine where and in what order transformation rules are (automatically) applied to a program. The separation of rules and strategies supports modularity of specifications. Stratego also provides generic features for specification of program traversals. In this paper we present a case study of Stratego as applied to a non-trivial problem in program transformation. We demonstrate the use of Stratego in eliminating intermediate data structures from (also known as deforesting) functional programs via the warm fusion algorithm of Launchbury and Sheard. This algorithm has been specified in Stratego and embedded in a fully automatic transformation system for kernel Haskell. The entire system consists of about 2600 lines of specification code, which breaks down into 1850 lines for a general framework for Haskell transformation and 750 lines devoted to a highly modular, easily extensible specification of the warm fusion transformer itself. Its successful design and construction provides further evidence that programs generated from Stratego specifications are suitable for integration into real systems, and that rewriting strategies are a good paradigm for the implementation of such systems. " links: doi: "http://dx.doi.org/10.1023/A:1018956702672" "stratego wiki": "http://www.program-transformation.org/Stratego/WarmFusionInStratego" tags: - "programming languages" - "optimization" - "rule-based" - "data-flow language" - "generic programming" - "case study" - "graph transformation" - "Stratego/XT" - "traversal" - "deforestation" - "transformation language" - "functional programming" - "language design" - "Haskell" - "data-flow programming" - "little language" - "data-flow" - "graph-rewriting" - "rules" - "programming paradigms" - "code generation" - "warm fusion" - "transformation system" - "programming" - "program optimization" - "higher-order transformations" - "rewriting" - "design" - "extensible language" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/JohannV00" cites: 1 citedby: 0 journal: "Annals of Mathematics and Artificial Intelligence" volume: "29" number: "1-4" pages: "1-34" kind: "article" key: "JohannV00" - title: "Workshop report from Web2SE: first workshop on web 2.0 for software engineering" author: - name: "Christoph Treude" link: "https://researchr.org/alias/christoph-treude" - name: "Margaret-Anne D. Storey" link: "http://" - name: "Kate Ehrlich" link: "https://researchr.org/alias/kate-ehrlich" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.acm.org/10.1145/1838687.1838699" abstract: "Web 2.0 technologies such as wikis, blogs, tags and feeds have been adopted and adapted by software engineers. With Web2SE, we provide a venue for pertinent work by highlighting current state-of-the-art research, by identifying research areas, and by discussing implications of Web 2.0 on software engineering. This paper reports on the paper presentations and the discussions among participants at Web2SE 2010 as well as on future directions of the Web2SE community." links: doi: "http://doi.acm.org/10.1145/1838687.1838699" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/sigsoft/TreudeSED10" tags: - "tagging" - "web engineering" - "software engineering" - "wiki" researchr: "https://researchr.org/publication/TreudeSED10" cites: 0 citedby: 0 journal: "ACM SIGSOFT Software Engineering Notes" volume: "35" number: "5" pages: "45-50" kind: "article" key: "TreudeSED10" - title: "A pragmatic perspective on software visualization" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.acm.org/10.1145/1879211.1879212" links: doi: "http://doi.acm.org/10.1145/1879211.1879212" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/softvis/Deursen10" researchr: "https://researchr.org/publication/Deursen10" cites: 0 citedby: 0 pages: "1-2" booktitle: "Proceedings of the ACM 2010 Symposium on Software Visualization, Salt Lake City, UT, USA, October 25-26, 2010" editor: - name: "Alexandru Telea" link: "https://researchr.org/alias/alexandru-telea" - name: "Carsten Görg" link: "https://researchr.org/alias/carsten-g%C3%B6rg" - name: "Steven P. Reiss" link: "https://researchr.org/alias/steven-p.-reiss" publisher: "ACM" isbn: "978-1-4503-0028-5" kind: "inproceedings" key: "Deursen10" - title: "An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://dx.doi.org/10.1109/SCAM.2007.25" links: doi: "http://dx.doi.org/10.1109/SCAM.2007.25" tags: - "object-oriented programming" - "refactoring" - "migration" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MarinMD07%3A0" cites: 0 citedby: 0 pages: "101-110" booktitle: "Seventh IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2007), September 30 - October 1, 2007, Paris, France" publisher: "IEEE" kind: "inproceedings" key: "MarinMD07:0" - title: "Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking" author: - name: "Eric Bouwers" link: "http://www.st.ewi.tudelft.nl/~bouwers/main/" - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.046" abstract: "A wide range of parser generators are used to generate parsers for programming languages. The grammar formalisms that come with parser generators provide different approaches for defining operator precedence. Some generators (e.g. YACC) support precedence declarations, others require the grammar to be unambiguous, thus encoding the precedence rules. Even if the grammar formalism provides precedence rules, a particular grammar might not use it. The result is grammar variants implementing the same language. For the C language, the GNU Compiler uses YACC with precedence rules, the C-Transformers uses SDF without priorities, while the SDF library does use priorities. For PHP, Zend uses YACC with precedence rules, whereas PHP-front uses SDF with priority and associativity declarations. The variance between grammars raises the question if the precedence rules of one grammar are compatible with those of another. This is usually not obvious, since some languages have complex precedence rules. Also, for some parser generators the semantics of precedence rules is defined operationally, which makes it hard to reason about their effect on the defined language. We present a method and tool for comparing the precedence rules of different grammars and parser generators. Although it is undecidable whether two grammars define the same language, this tool provides support for comparing and recovering precedence rules, which is especially useful for reliable migration of a grammar from one grammar formalism to another. We evaluate our method by the application to non-trivial mainstream programming languages, such as PHP and C." links: doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.046" tags: - "programming languages" - "semantics" - "rule-based" - "syntax definition" - "YACC" - "precedence rule" - "SDF" - "Stratego/XT" - "language engineering" - "grammar engineering" - "PHP" - "rules" - "C++" - "migration" - "compiler" - "programming" - "operational semantics" - "priority" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "grammar" - "Stratego" researchr: "https://researchr.org/publication/BouwersBV08" cites: 0 citedby: 1 journal: "Electronic Notes in Theoretical Computer Science" volume: "203" number: "2" pages: "85-101" kind: "article" key: "BouwersBV08" - title: "Evolutionary Testing In Component-based Real-time System Construction" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Nikolas Mayer" link: "https://researchr.org/alias/nikolas-mayer" year: "2002" tags: - "rule-based" - "testing" researchr: "https://researchr.org/publication/GrossM02" cites: 0 citedby: 0 pages: "1393" booktitle: "GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, New York, USA, 9-13 July 2002" editor: - name: "William B. Langdon" link: "https://researchr.org/alias/william-b.-langdon" - name: "Erick Cantú-Paz" link: "https://researchr.org/alias/erick-cant%C3%BA-paz" - name: "Keith E. Mathias" link: "https://researchr.org/alias/keith-e.-mathias" - name: "Rajkumar Roy" link: "https://researchr.org/alias/rajkumar-roy" - name: "David Davis" link: "https://researchr.org/alias/david-davis" - name: "Riccardo Poli" link: "https://researchr.org/alias/riccardo-poli" - name: "Karthik Balakrishnan" link: "https://researchr.org/alias/karthik-balakrishnan" - name: "Vasant Honavar" link: "https://researchr.org/alias/vasant-honavar" - name: "Günter Rudolph" link: "https://researchr.org/alias/g%C3%BCnter-rudolph" - name: "Joachim Wegener" link: "https://researchr.org/alias/joachim-wegener" - name: "Larry Bull" link: "https://researchr.org/alias/larry-bull" - name: "Mitchell A. Potter" link: "https://researchr.org/alias/mitchell-a.-potter" - name: "Alan C. Schultz" link: "https://researchr.org/alias/alan-c.-schultz" - name: "Julian F. Miller" link: "https://researchr.org/alias/julian-f.-miller" - name: "Edmund K. Burke" link: "https://researchr.org/alias/edmund-k.-burke" - name: "Natasa Jonoska" link: "https://researchr.org/alias/natasa-jonoska" publisher: "Morgan Kaufmann" isbn: "1-55860-878-8" kind: "inproceedings" key: "GrossM02" - title: "A Survey of Strategies in Program Transformation Systems" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)00270-1" abstract: "Program transformation is used in a wide range of applications including compiler construction, optimization, program synthesis, refactoring, software renovation, and reverse engineering. Complex program transformations are achieved through a num- ber of consecutive modifications of a program. Transformation rules define basic modifications. A transformation strategy is an algorithm for choosing a path in the rewrite relation induced by a set of rules. This paper surveys the support for the definition of strategies in program transformation systems. After a discussion of kinds of program transformation and choices in program representation, the basic elements of a strategy system are discussed and the choices in the design of a strategy language are considered. Several styles of strategy systems as provided in existing languages are then analyzed." links: doi: "https://doi.org/10.1016/S1571-0661(04)00270-1" successor: "https://researchr.org/publication/Visser05" "stratego/xt wiki": "http://strategoxt.org/Transform/ASurveyOfRewritingStrategiesInProgramTransformationSystems" tags: - "programming languages" - "optimization" - "rule-based" - "transformation engineering" - "graph transformation" - "reverse engineering" - "refactoring" - "language engineering" - "transformation language" - "software language engineering" - "language design" - "strategies" - "graph-rewriting" - "survey" - "software engineering" - "rules" - "transformation system" - "rule-based refactoring" - "compiler" - "programming" - "program optimization" - "rewriting" - "design" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser01-WRS" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "57" pages: "109-143" kind: "article" key: "Visser01-WRS" - title: "Imposing a Memory Management Discipline on Software Deployment" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2004" doi: "https://doi.org/10.1109/ICSE.2004.1317480" abstract: "The deployment of software components frequently fails because dependencies on other components are not declared explicitly or are declared imprecisely. This results in an incomplete reproduction of the environment necessary for proper operation, or in interference between incompatible variants. In this paper we show that these deployment hazards are similar to pointer hazards in memory models of programming languages and can be countered by imposing a memory management discipline on software deployment. Based on this analysis we have developed a generic, platform and language independent, discipline for deployment that allows precise dependency verification; exact identification of component variants; computation of complete closures containing all components on which a component depends; maximal sharing of components between such closures; and concurrent installation of revisions and variants of components. We have implemented the approach in the Nix deployment system, and used it for the deployment of a large number of existing Linux packages. We compare its effectiveness to other deployment systems." links: doi: "https://doi.org/10.1109/ICSE.2004.1317480" tags: - "programming languages" - "rule-based" - "program analysis" - "deployment" - "completeness" - "meta programming" - "generic programming" - "software components" - "program verification" - "meta-model" - "memory management" - "modeling language" - "language modeling" - "software deployment" - "Nix" - "software component" - "analysis" - "programming" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/DolstraVJ04" cites: 0 citedby: 0 pages: "583-592" booktitle: "26th International Conference on Software Engineering (ICSE 2004), 23-28 May 2004, Edinburgh, United Kingdom" publisher: "IEEE Computer Society" isbn: "0-7695-2163-0" kind: "inproceedings" key: "DolstraVJ04" - title: "WebDSL: A Case Study in Domain-Specific Language Engineering" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" abstract: " The goal of domain-specific languages (DSLs) is to increase the productivity of software engineers by abstracting from low-level boil- erplate code. Introduction of DSLs in the software development process requires a smooth workflow for the production of DSLs themselves. This requires technology for designing and implementing DSLs, but also a methodology for using that technology. That is, a collection of guidelines, design patterns, and reusable DSL components that show developers how to tackle common language design and implementation issues. This paper presents a case study in domain-specific language engineering. It reports on a pro ject in which the author designed and built WebDSL, a DSL for web applications with a rich data model, using several DSLs for DSL engineering: SDF for syntax definition and Stratego/XT for code gener- ation. The paper follows the stages in the development of the DSL. The contributions of the paper are three-fold. (1) A tutorial in the application of the specific SDF and Stratego/XT technology for building DSLs. (2) A description of an incremental DSL development process. (3) A domain- specific language for web-applications with rich data models. The paper concludes with a survey of related approaches. " links: doi: "http://dx.doi.org/10.1007/978-3-540-88643-3_7" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-023.pdf" "webdsl": "http://webdsl.org" "stratego/xt": "http://strategoxt.org" tags: - "WebDSL" - "reusable components" - "DSL engineering" - "web application development" - "data-flow language" - "pattern language" - "case study" - "software components" - "SDF" - "meta-model" - "abstract syntax" - "modeling language" - "Stratego/XT" - "language engineering" - "software language engineering" - "language modeling" - "software component" - "web engineering" - "language design" - "reuse" - "model-driven development" - "data-flow" - "survey" - "software engineering" - "model-driven engineering" - "web applications" - "DSL" - "Meta-Environment" - "incremental" - "design" - "process modeling" - "systematic-approach" - "ASF+SDF" - "language" - "Stratego" - "domain-specific language" researchr: "https://researchr.org/publication/Visser07" cites: 0 citedby: 9 pages: "291-373" booktitle: "Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007" editor: - 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: "inproceedings" key: "Visser07" - title: "Generation of Formatters for Context-Free Languages" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1996" doi: "https://doi.org/10.1145/226155.226156" abstract: "Good documentation is important for the production of reusable and maintainable software. For the production of accurate documentation it is necessary that the original program text is not copied manually to obtain a typeset version. Apart from being tedious, this will invariably introduce errors. The production of tools that support the production of legible and accurate documentation is a software engineering challenge in itself. We present an algebraic approach to the generation of tools that produce typographically effective presentations of computer programs. A specification of a formatter is generated from the context-free grammar of a (programming) language. These generated formatters translate abstract syntax trees of programs into box expressions. Box expressions are translated by language-independent interpreters of the box language into ASCII or TEX. The formatting rules that are generated can easily be tuned in order to get the desired formatting of programs. We demonstrate this by means of real-life applications. Furthermore, we give a practical solution for the problem of formatting comments, which occur in the original text. The formatter generation approach proposed in this article can be used to generate formatting programs for arbitrary programming environments. Our formatter generation approach can be used to automatically generate formatters that have to be programmed explicitly in other systems. " links: doi: "https://doi.org/10.1145/226155.226156" tags: - "programming languages" - "rule-based" - "translation" - "meta programming" - "SDF" - "interpreter" - "abstract syntax" - "language engineering" - "software language engineering" - "reuse" - "source-to-source" - "software engineering" - "rules" - "algebraic specification" - "source code formatting" - "code generation" - "pretty-printing" - " algebra" - "programming" - "context-aware" - "Meta-Environment" - "systematic-approach" - "ASF+SDF" - "open-source" - "grammar" researchr: "https://researchr.org/publication/BrandV96" cites: 46 citedby: 12 journal: "ACM Transactions on Software Engineering Methodology" volume: "5" number: "1" pages: "1-41" kind: "article" key: "BrandV96" - title: "Workshop report from Web2SE: first workshop on web 2.0 for software engineering" author: - name: "Christoph Treude" link: "http://www.ctreude.ca" - name: "Margaret-Anne D. Storey" link: "http://" - name: "Kate Ehrlich" link: "https://researchr.org/alias/kate-ehrlich" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.acm.org/10.1145/1838687.1838699" abstract: "Web 2.0 technologies such as wikis, blogs, tags and feeds have been adopted and adapted by software engineers. With Web2SE, we provide a venue for pertinent work by highlighting current state-of-the-art research, by identifying research areas, and by discussing implications of Web 2.0 on software engineering. This paper reports on the paper presentations and the discussions among participants at Web2SE 2010 as well as on future directions of the Web2SE community." links: doi: "http://doi.acm.org/10.1145/1838687.1838699" tags: - "tagging" - "web engineering" - "software engineering" - "wiki" researchr: "https://researchr.org/publication/1838699" cites: 19 citedby: 0 journal: "SIGSOFT Softw. Eng. Notes" volume: "35" number: "5" kind: "article" key: "1838699" - title: "A Systematic Survey of Program Comprehension through Dynamic Analysis" author: - name: "Bas Cornelissen" link: "https://researchr.org/alias/bas-cornelissen" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "https://researchr.org/alias/leon-moonen" - name: "Rainer Koschke" link: "https://researchr.org/alias/rainer-koschke" year: "2009" doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2009.28" abstract: "Program comprehension is an important activity in software maintenance, as software must be sufficiently understood before it can be properly modified. The study of a program's execution, known as dynamic analysis, has become a common technique in this respect and has received substantial attention from the research community, particularly over the last decade. These efforts have resulted in a large research body of which currently there exists no comprehensive overview. This paper reports on a systematic literature survey aimed at the identification and structuring of research on program comprehension through dynamic analysis. From a research body consisting of 4,795 articles published in 14 relevant venues between July 1999 and June 2008 and the references therein, we have systematically selected 176 articles and characterized them in terms of four main facets: activity, target, method, and evaluation. The resulting overview offers insight in what constitutes the main contributions of the field, supports the task of identifying gaps and opportunities, and has motivated our discussion of several important research directions that merit additional consideration in the near future." links: doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2009.28" tags: - "program comprehension" - "program analysis" - "analysis" - "maintenance" - "survey" - "systematic-approach" researchr: "https://researchr.org/publication/CornelissenZDMK09" cites: 153 citedby: 0 journal: "IEEE Trans. Software Eng." volume: "35" number: "5" pages: "684-702" kind: "article" key: "CornelissenZDMK09" - title: "Scoped Dynamic Rewrite Rules" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)00298-1" abstract: "The applicability of term rewriting to program transformation is limited by the lack of control over rule application and by the context-free nature of rewrite rules. The first problem is addressed by languages supporting user-definable rewriting strate- gies. This paper addresses the second problem by extending rewriting strategies with scoped dynamic rewrite rules. Dynamic rules are generated at run-time and can access variables available from their definition context. Rules generated within a rule scope are automatically retracted at the end of that scope. The technique is illustrated by means of several program tranformations: bound variable renaming, function inlining, and dead function elimination. " links: doi: "https://doi.org/10.1016/S1571-0661(04)00298-1" successor: "https://researchr.org/publication/BravenboerDOV06" tags: - "programming languages" - "rule-based" - "graph transformation" - "dynamic rewrite rules" - "Stratego/XT" - "transformation language" - "term rewriting" - "graph-rewriting" - "rules" - "context-aware" - "access control" - "rewriting" - "role-based access control" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser01-DR" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "59" number: "4" pages: "375-396" kind: "article" key: "Visser01-DR" - title: "Predicting Class Testability using Object-Oriented Metrics" author: - name: "Magiel Bruntink" link: "http://homepages.cwi.nl/~bruntink/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2004" doi: "http://csdl.computer.org/comp/proceedings/scam/2004/2144/00/21440136abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/scam/2004/2144/00/21440136abs.htm" tags: - "meta-model" - "testing" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/BruntinkD04" cites: 0 citedby: 0 pages: "136-145" booktitle: "4th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2004), 15-16 September 2004, Chicago, IL, USA" publisher: "IEEE Computer Society" isbn: "0-7695-2144-4" kind: "inproceedings" key: "BruntinkD04" - title: "Monitoring Requirements Coverage using Reconstructed Views: An Industrial Case Study" author: - name: "Marco Lormans" link: "https://researchr.org/alias/marco-lormans" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Rini van Solingen" link: "https://researchr.org/alias/rini-van-solingen" - name: "André Stehouwer" link: "https://researchr.org/alias/andr%C3%A9-stehouwer" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.38" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.38" tags: - "lsi" - "case study" - "information retrieval" - "requirements management" - "traceability" - " latent semantic indexing" - "coverage" researchr: "https://researchr.org/publication/LormansGDSS06" cites: 0 citedby: 0 pages: "275-284" booktitle: "13th Working Conference on Reverse Engineering (WCRE 2006), 23-27 October 2006, Benevento, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2719-1" kind: "inproceedings" key: "LormansGDSS06" - title: "The Video Store Revisited - Thoughts on Refactoring and Testing" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2002" month: "may" tags: - "refactoring" - "testing" researchr: "https://researchr.org/publication/DM2002.VSR" cites: 0 citedby: 0 booktitle: "Proceedings of the 3nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP2002)" publisher: "University of Cagliari" kind: "inproceedings" key: "DM2002.VSR" - title: "Executing Action Semantic Descriptions using ASF+SDF" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Peter D. Mosses" link: "https://pdmosses.github.io" year: "1993" tags: - "SDF" - "ASF+SDF" researchr: "https://researchr.org/publication/DeursenM93" cites: 0 citedby: 0 pages: "413-414" booktitle: "Algebraic Methodology and Software Technology (AMAST 93), Proceedings of the Third International Conference on Methodology and Software Technology, University of Twente, Enschede, The Netherlands, 21-25 June, 1993" editor: - name: "Maurice Nivat" link: "https://researchr.org/alias/maurice-nivat" - name: "Charles Rattray" link: "https://researchr.org/alias/charles-rattray" - name: "Teodor Rus" link: "https://researchr.org/alias/teodor-rus" - name: "Giuseppe Scollo" link: "https://researchr.org/alias/giuseppe-scollo" series: "Workshops in Computing" publisher: "Springer" isbn: "3-540-19852-0" kind: "inproceedings" key: "DeursenM93" - title: "Introduction to MSR 2006" author: - name: "Stephan Diehl" link: "https://researchr.org/alias/stephan-diehl" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" year: "2006" doi: "http://doi.acm.org/10.1145/1137983.1137984" links: doi: "http://doi.acm.org/10.1145/1137983.1137984" tags: - "e-science" researchr: "https://researchr.org/publication/DiehlGPH06%3A0" cites: 0 citedby: 0 pages: "1-2" booktitle: "Proceedings of the 2006 International Workshop on Mining Software Repositories, MSR 2006, Shanghai, China, May 22-23, 2006" editor: - name: "Stephan Diehl" link: "https://researchr.org/alias/stephan-diehl" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" publisher: "ACM" isbn: "1-59593-397-2" kind: "inproceedings" key: "DiehlGPH06:0" - title: "Execution trace analysis through massive sequence and circular bundle views" author: - name: "Bas Cornelissen" link: "http://www.st.ewi.tudelft.nl/~cornel/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Danny Holten" link: "https://researchr.org/alias/danny-holten" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Jarke J. van Wijk" link: "https://researchr.org/alias/jarke-j.-van-wijk" year: "2008" doi: "http://dx.doi.org/10.1016/j.jss.2008.02.068" links: doi: "http://dx.doi.org/10.1016/j.jss.2008.02.068" tags: - "software visualization" - "analysis" - "dynamic analysis" researchr: "https://researchr.org/publication/CornelissenZHMDW08" cites: 0 citedby: 0 journal: "Journal of Systems and Software" volume: "81" number: "12" pages: "2252-2268" kind: "article" key: "CornelissenZHMDW08" - title: "Polymorphic Syntax Definition" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1998" doi: "http://dx.doi.org/10.1016/S0304-3975(97)00268-5" abstract: "Context-free grammars are used in several algebraic specification formalisms instead of first-order signatures for the definition of the structure of algebras, because grammars provide better notation than signatures. The rigidity of these first-order structures enforces a choice between strongly typed structures with little genericity or generic operations over untyped structures. In two-level signatures level 1 defines the algebra of types used at level 0 providing the possibility to define polymorphic abstract data types. Two-level grammars are the grammatical counterpart of two-level signatures. This paper discusses the correspondence between context-free grammars and first-order signatures, the extension of this correspondence to two-level grammars and signatures, examples of the usage of two-level grammars for polymorphic syntax definition, a restriction of the class of two-level grammars for which the parsing problem is decidable, a parsing algorithm that yields a minimal and finite set of most general parse trees for this class of grammars, and a proof of its correctness." links: doi: "http://dx.doi.org/10.1016/S0304-3975(97)00268-5" tags: - "parsing algorithm" - "syntax definition" - "abstract syntax" - "data-flow" - "algebraic specification" - " algebra" - "context-aware" - "parsing" - "signature" - "grammar" researchr: "https://researchr.org/publication/Visser98" cites: 0 citedby: 0 journal: "Theoretical Computer Science" volume: "199" number: "1-2" pages: "57-86" kind: "article" key: "Visser98" - title: "WebDSL: a domain-specific language for dynamic web applications" author: - name: "Danny M. Groenewegen" link: "https://www.linkedin.com/in/dannygroenewegen/" - name: "Zef Hemel" link: "http://zef.me" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://doi.acm.org/10.1145/1449814.1449858" abstract: "WebDSL is a domain-specific language for the implementation of dynamic web applications with a rich datamodel. It consists of a core language with constructs to define entities, pages and business logic. Higher-level abstractions, modeling access control and workflow, are defined in a modular fashion as extensions of the core language." links: doi: "http://doi.acm.org/10.1145/1449814.1449858" tags: - "WebDSL" - "meta-model" - "modeling language" - "modeling" - "language engineering" - "language modeling" - "web engineering" - "model-driven engineering" - "C++" - "web applications" - "DSL" - "logic" - "abstraction" - "Meta-Environment" - "access control" - "workflow" - "domain-specific language" researchr: "https://researchr.org/publication/GroenewegenHKV08" cites: 0 citedby: 0 pages: "779-780" booktitle: "Companion to the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-13, 2007, Nashville, TN, USA" editor: - name: "Gail E. Harris" link: "https://researchr.org/alias/gail-e.-harris" publisher: "ACM" isbn: "978-1-60558-220-7" kind: "inproceedings" key: "GroenewegenHKV08" - title: "Analyzing and Understanding Architectural Characteristics of COM+ Components" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Johann Oberleitner" link: "https://researchr.org/alias/johann-oberleitner" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2003" doi: "http://computer.org/proceedings/iwpc/1883/18830054abs.htm" links: doi: "http://computer.org/proceedings/iwpc/1883/18830054abs.htm" tags: - "architecture" researchr: "https://researchr.org/publication/PinzgerOG03" cites: 0 citedby: 0 pages: "54-63" booktitle: "11th International Workshop on Program Comprehension (IWPC 2003), May 10-11, 2003, Portland, Oregon, USA" publisher: "IEEE Computer Society" kind: "inproceedings" key: "PinzgerOG03" - title: "Abstracting Module Views from Source Code" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Michael Fischer" link: "https://researchr.org/alias/michael-fischer" - name: "Mehdi Jazayeri" link: "https://researchr.org/alias/mehdi-jazayeri" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2004" doi: "http://csdl.computer.org/comp/proceedings/icsm/2004/2213/00/22130533abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/icsm/2004/2213/00/22130533abs.htm" tags: - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/PinzgerFJG04" cites: 0 citedby: 0 pages: "533" booktitle: "20th International Conference on Software Maintenance (ICSM 2004), 11-17 September 2004, Chicago, IL, USA" publisher: "IEEE Computer Society" isbn: "0-7695-2213-0" kind: "inproceedings" key: "PinzgerFJG04" - title: "Turning Dynamic Typing into Static Typing by Program Specialization in a Compiler Front-end for Octave" author: - name: "Karina Olmos" link: "https://researchr.org/profile/karinaolmos/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" doi: "https://doi.org/10.1109/SCAM.2003.1238040" abstract: "Array processing languages such as APL, Matlab and Octave rely on dynamic typechecking by the interpreter rather than static typechecking and are designed for user convenience with a syntax close to mathematical notation. Functions and operators are highly overloaded. The price to be paid for this flexibility is computational performance, since the run-time system is responsible for type checking, array shape determination, function call dispatching, and handling possible run-time errors. In order to produce effecient code, an Octave compiler should address those issues at compile-time as much as possible. In particular, static type and shape inferencing can improve the quality of the generated code. In this paper we discuss how overloading in dynamically typed Octave programs can be resolved by program specialization. We discuss the typing issues in compilation of Octave programs and give an overview of the implementation of the specializer in the transformation language Stratego." links: doi: "https://doi.org/10.1109/SCAM.2003.1238040" tags: - "programming languages" - "type inference" - "dynamic typing" - "interpreter" - "Stratego/XT" - "transformation language" - "Octave" - "language design" - "type system" - "type checking" - "transformation system" - "compiler" - "higher-order transformations" - "program specialization" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/OlmosV03" cites: 0 citedby: 0 pages: "141-150" booktitle: "3rd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), 26-27 September 2003, Amsterdam, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-2005-7" kind: "inproceedings" key: "OlmosV03" - title: "Refactoring Test Code" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Bergh, A. van den" link: "https://researchr.org/alias/bergh%2C-a.-van-den" - name: "G. Kok" link: "https://researchr.org/alias/g.-kok" year: "2002" links: "url": "http://www.cwi.nl/~arie/papers/xp2001.pdf" tags: - "refactoring" - "testing" researchr: "https://researchr.org/publication/DMBK02" cites: 0 citedby: 0 booktitle: "Extreme Programming Perspectives" publisher: "Addison-Wesley" kind: "incollection" key: "DMBK02" - title: "Can LSI help Reconstructing Requirements Traceability in Design and Test?" author: - name: "Marco Lormans" link: "https://researchr.org/alias/marco-lormans" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.13" links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.13" tags: - "lsi" - "information retrieval" - "requirements management" - "testing" - "traceability" - "design" - " latent semantic indexing" researchr: "https://researchr.org/publication/LormansD06" cites: 0 citedby: 0 pages: "47-56" booktitle: "10th European Conference on Software Maintenance and Reengineering (CSMR 2006), 22-24 March 2006, Bari, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2536-9" kind: "inproceedings" key: "LormansD06" - title: "An Evaluation of Clone Detection Techniques for Identifying Crosscutting Concerns" author: - name: "Magiel Bruntink" link: "https://researchr.org/alias/magiel-bruntink" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tom Tourwé" link: "https://researchr.org/alias/tom-tourw%C3%A9" - name: "Remco van Engelen" link: "https://researchr.org/alias/remco-van-engelen" year: "2004" doi: "http://csdl.computer.org/comp/proceedings/icsm/2004/2213/00/22130200abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/icsm/2004/2213/00/22130200abs.htm" researchr: "https://researchr.org/publication/BruntinkDTE04" cites: 0 citedby: 0 pages: "200-209" booktitle: "20th International Conference on Software Maintenance (ICSM 2004), 11-17 September 2004, Chicago, IL, USA" publisher: "IEEE Computer Society" isbn: "0-7695-2213-0" kind: "inproceedings" key: "BruntinkDTE04" - title: "On the Use of Clone Detection for Identifying Crosscutting Concern Code" author: - name: "Magiel Bruntink" link: "https://researchr.org/alias/magiel-bruntink" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Remco van Engelen" link: "https://researchr.org/alias/remco-van-engelen" - name: "Tom Tourwé" link: "https://researchr.org/alias/tom-tourw%C3%A9" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2005.114" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2005.114" researchr: "https://researchr.org/publication/BruntinkDET05" cites: 0 citedby: 0 journal: "IEEE Trans. Software Eng." volume: "31" number: "10" pages: "804-818" kind: "article" key: "BruntinkDET05" - title: "TA-RE: an exchange language for mining software repositories" author: - name: "Sunghun Kim" link: "https://researchr.org/alias/sunghun-kim" - name: "Thomas Zimmermann" link: "https://researchr.org/alias/thomas-zimmermann" - name: "Miryung Kim" link: "https://researchr.org/alias/miryung-kim" - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" - name: "Audris Mockus" link: "https://researchr.org/alias/audris-mockus" - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%AErba" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Jim Whitehead" link: "http://www.cs.ucsc.edu/~ejw" - name: "Andreas Zeller" link: "https://researchr.org/alias/andreas-zeller" year: "2006" doi: "http://doi.acm.org/10.1145/1137983.1137990" links: doi: "http://doi.acm.org/10.1145/1137983.1137990" researchr: "https://researchr.org/publication/KimZKHMGPWZ06" cites: 0 citedby: 0 pages: "22-25" booktitle: "Proceedings of the 2006 International Workshop on Mining Software Repositories, MSR 2006, Shanghai, China, May 22-23, 2006" editor: - name: "Stephan Diehl" link: "https://researchr.org/alias/stephan-diehl" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" publisher: "ACM" isbn: "1-59593-397-2" kind: "inproceedings" key: "KimZKHMGPWZ06" - title: "Web2SE: First Workshop on Web 2.0 for Software Engineering" author: - name: "Treude, Christoph" link: "https://researchr.org/alias/treude%2C-christoph" - name: "Margaret-Anne D. Storey" link: "http://" - name: "Ehrlich, Kate" link: "https://researchr.org/alias/ehrlich%2C-kate" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.acm.org/10.1145/1810295.1810427" abstract: "Social software is built around an \"architecture of participation\" where user data is aggregated as a side-effect of using Web 2.0 applications. Web 2.0 implies that processes and tools are socially open, and that content can be used in several different contexts. Web 2.0 tools and technologies support interactive information sharing, data interoperability and user centered design. For instance, wikis, blogs, tags and feeds help us organize, manage and categorize content in an informal and collaborative way. One goal of this workshop is to investigate how these technologies can improve software development practices. Some of these technologies have made their way into collaborative software development processes such as Agile and Scrum, and in development platforms such as Rational Team Concert which draw their inspiration from Web 2.0. These processes and environments are just scratching the surface of what can be done by incorporating Web 2.0 approaches and technologies into collaborative software development. This workshop aims to improve our understanding of how Web 2.0, manifested in technologies such as mashups or dashboards, can change the culture of collaborative software development." links: doi: "http://doi.acm.org/10.1145/1810295.1810427" tags: - " web 2.0" - "software architecture" - "tagging" - "architecture" - "social web" - "web engineering" - "social media" - "data-flow" - "source-to-source" - "software engineering" - "wiki" - "web applications" - "context-aware" - "Meta-Environment" - "social" - "design" - "systematic-approach" - "open-source" researchr: "https://researchr.org/publication/1810427" cites: 9 citedby: 0 booktitle: "ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering" address: "New York, NY, USA" publisher: "ACM" isbn: "978-1-60558-719-6" kind: "inproceedings" key: "1810427" - title: "Introduction to the special issue on reverse engineering (WCRE 2008)" author: - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Massimiliano Di Penta" link: "https://researchr.org/alias/massimiliano-di-penta" year: "2010" doi: "http://dx.doi.org/10.1002/smr.420" links: doi: "http://dx.doi.org/10.1002/smr.420" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/smr/HassanZP10" tags: - "reverse engineering" - "e-science" researchr: "https://researchr.org/publication/HassanZP10" cites: 0 citedby: 0 journal: "Journal of Software Maintenance" volume: "22" number: "3" pages: "141-142" kind: "article" key: "HassanZP10" - title: "Rewriting Strategies for Instruction Selection" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1007/3-540-45610-4_17" abstract: "Instruction selection (mapping IR trees to machine instructions) can be expressed by means of rewrite rules. Typically, such sets of rewrite rules are highly ambiguous. Therefore, standard rewriting engines based on fixed, exhaustive strategies are not appropriate for the execution of instruction selection. Code generator generators use special purpose implementations employing dynamic programming. In this paper we show how rewriting strategies for instruction selection can be encoded concisely in Stratego, a language for program transformation based on the paradigm of programmable rewriting strategies. This embedding obviates the need for a language dedicated to code generation, and makes it easy to combine code generation with other optimizations. " links: doi: "https://doi.org/10.1007/3-540-45610-4_17" tags: - "programming languages" - "optimization" - "rule-based" - "graph transformation" - "Stratego/XT" - "instruction selection" - "transformation language" - "term rewriting" - "graph-rewriting" - "rules" - "programming paradigms" - "code generation" - "programming" - "program optimization" - "rewriting" - "compilers" - "compilation" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/BravenboerV02" cites: 0 citedby: 0 pages: "237-251" booktitle: "Rewriting Techniques and Applications, 13th International Conference, RTA 2002, Copenhagen, Denmark, July 22-24, 2002, Proceedings" editor: - name: "Sophie Tison" link: "https://researchr.org/alias/sophie-tison" volume: "2378" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-43916-1" kind: "inproceedings" key: "BravenboerV02" - title: "Smart views for analyzing problem reports: tool demo" author: - name: "Patrick Knab" link: "https://researchr.org/alias/patrick-knab" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2009" doi: "http://doi.acm.org/10.1145/1595696.1595746" links: doi: "http://doi.acm.org/10.1145/1595696.1595746" researchr: "https://researchr.org/publication/KnabKP09" cites: 0 citedby: 0 pages: "289-290" booktitle: "Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2009, Amsterdam, The Netherlands, August 24-28, 2009" editor: - name: "Hans van Vliet" link: "http://www.cs.vu.nl/~hans/" - name: "Valérie Issarny" link: "https://researchr.org/alias/val%C3%A3%C2%A9rie-issarny" publisher: "ACM" isbn: "978-1-60558-001-2" kind: "inproceedings" key: "KnabKP09" - title: "Component Integration through Built-in Contract Testing" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Colin Atkinson" link: "https://researchr.org/alias/colin-atkinson" - name: "Franck Barbier" link: "https://researchr.org/alias/franck-barbier" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2693&spage=159" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2693&spage=159" tags: - "contracts" - "testing" researchr: "https://researchr.org/publication/GrossAB03" cites: 0 citedby: 0 pages: "159-183" booktitle: "Component-Based Software Quality - Methods and Techniques" editor: - name: "Alejandra Cechich" link: "https://researchr.org/alias/alejandra-cechich" - name: "Mario Piattini" link: "https://researchr.org/alias/mario-piattini" - name: "Antonio Vallecillo" link: "http://www.lcc.uma.es/~av/" volume: "2693" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-40503-8" kind: "inproceedings" key: "GrossAB03" - title: "Domain-Specific Languages in Practice: A User Study on the Success Factors" author: - name: "Felienne Hermans" link: "https://researchr.org/profile/feliennehermans/publications" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-04425-0_33" links: doi: "http://dx.doi.org/10.1007/978-3-642-04425-0_33" tags: - "domain-specific language" researchr: "https://researchr.org/publication/HermansPD09" cites: 0 citedby: 0 pages: "423-437" booktitle: "Model Driven Engineering Languages and Systems, 12th International Conference, MODELS 2009, Denver, CO, USA, October 4-9, 2009. Proceedings" editor: - name: "Andy Schürr" link: "https://researchr.org/alias/andy-sch%C3%BCrr" - name: "Bran Selic" link: "https://researchr.org/alias/bran-selic" volume: "5795" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-04424-3" kind: "inproceedings" key: "HermansPD09" - title: "A prediction system for evolutionary testability applied to dynamic execution time analysis" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" year: "2001" tags: - "testing" - "analysis" researchr: "https://researchr.org/publication/Gross01" cites: 0 citedby: 0 journal: "Information \\& Software Technology" volume: "43" number: "14" pages: "855-862" kind: "article" key: "Gross01" - title: "Static consistency checking of web applications with WebDSL" author: - name: "Zef Hemel" link: "http://zef.me" - name: "Danny M. Groenewegen" link: "https://www.linkedin.com/in/dannygroenewegen/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "https://doi.org/10.1016/j.jsc.2010.08.006" abstract: "Modern web application development frameworks provide web application developers with high-level abstractions to improve their productivity. However, their support for static verification of applications is limited. Inconsistencies in an application are often not detected statically, but appear as errors at run-time. The reports about these errors are often obscure and hard to trace back to the source of the inconsistency. A major part of this inadequate consistency checking can be traced back to the lack of linguistic integration of these frameworks. Parts of an application are defined with separate domain-specific languages, which are not checked for consistency with the rest of the application. Examples include regular expressions, query languages and XML-based languages for definition of user interfaces. We give an overview and analysis of typical problems arising in development with frameworks for web application development, with Ruby on Rails, Lift and Seam as representatives. To remedy these problems, in this paper, we argue that domain-specific languages should be designed from the ground up with static verification and cross-aspect consistency checking in mind, providing linguistic integration of domain-specific sub-languages. We show how this approach is applied in the design of WebDSL, a domain-specific language for web applications, by examining how its compiler detects inconsistencies not caught by web frameworks, providing accurate and clear error messages. Furthermore, we show how this consistency analysis can be expressed with a declarative rule-based approach using the Stratego transformation language." links: doi: "https://doi.org/10.1016/j.jsc.2010.08.006" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/jsc/HemelGKV11" "technical report ": "http://resolver.tudelft.nl/uuid:588b78a1-f8d8-45fc-855f-fd03699725cf" "jsc": "https://doi.org/10.1016/j.jsc.2010.08.006" tags: - "model-to-model transformation" - "WebDSL" - "rule-based" - "application framework" - "model checking" - "XML" - "XML Schema" - "transformation language" - "points-to analysis" - "domain analysis" - "analysis" - "language design" - "static analysis" - "model-driven development" - "source-to-source" - "rules" - "C++" - "compiler" - "model transformation" - "web applications" - "consistency" - "abstraction" - "design" - "systematic-approach" - "open-source" - "transformation" - "Ruby on Rails" - "Stratego" - "Ruby" - "query language" - "domain-specific language" researchr: "https://researchr.org/publication/HemelGKV11" cites: 0 citedby: 0 journal: "Journal of Symbolic Computation" volume: "46" number: "2" pages: "150-182" kind: "article" key: "HemelGKV11" - title: "Built-In Data-Flow Integration Testing in Large-Scale Component-Based Systems" author: - name: "Éric Piel" link: "https://researchr.org/alias/%C3%A9ric-piel" - name: "Alberto Gonzalez-Sanchez" link: "https://researchr.org/alias/alberto-gonzalez-sanchez" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-16573-3_7" links: doi: "http://dx.doi.org/10.1007/978-3-642-16573-3_7" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/pts/PielGG10" tags: - "rule-based" - "testing" - "data-flow" researchr: "https://researchr.org/publication/PielGG10" cites: 0 citedby: 0 pages: "79-94" booktitle: "Testing Software and Systems - 22nd IFIP WG 6.1 International Conference, ICTSS 2010, Natal, Brazil, November 8-10, 2010. Proceedings" editor: - name: "Alexandre Petrenko" link: "https://researchr.org/alias/alexandre-petrenko" - name: "Adenilso da Silva Simão" link: "https://researchr.org/alias/adenilso-da-silva-sim%C3%A3o" - name: "José Carlos Maldonado" link: "https://researchr.org/alias/jos%C3%A9-carlos-maldonado" volume: "6435" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-16572-6" kind: "inproceedings" key: "PielGG10" - title: "Program Comprehension Risks and Opportunities in Extreme Programming" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2001" doi: "http://computer.org/proceedings/wcre/1303/13030176abs.htm" links: doi: "http://computer.org/proceedings/wcre/1303/13030176abs.htm" tags: - "program comprehension" - "extreme programming" - "programming" researchr: "https://researchr.org/publication/Deursen01" cites: 0 citedby: 0 pages: "176" booktitle: "WCRE" kind: "inproceedings" key: "Deursen01" - title: "Adding Concrete Syntax to a Prolog-Based Program Synthesis System (Extended Abstract)" author: - name: "Bernd Fischer" link: "http://www.ecs.soton.ac.uk/people/bf" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" doi: "https://doi.org/10.1007/978-3-540-25938-1_5" abstract: "Program generation and transformation systems work on two language levels, the object-level (i.e., the language of the manipulated programs), and the meta-level (i.e., the implementation language of the system itself). The meta-level representations of object-level program fragments are usually built in an essentially syntax-free fashion using the operations provided by the meta-language. However, syntax matters and a large conceptual distance between the two languages makes it difficult to maintain and extend such systems. Here we describe how an existing Prolog-based system can gradually be retrofitted with concrete object-level syntax using the approach outlined in [5], thus shrinking this distance." links: doi: "https://doi.org/10.1007/978-3-540-25938-1_5" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "concrete object syntax" - "Prolog" - "rule-based" - "meta programming" - "AutoBayes" - "meta-model" - "abstract syntax" - "Stratego/XT" - "transformation language" - "source-to-source" - "transformation system" - "model transformation" - "programming" - "subject-oriented programming" - "Meta-Environment" - "systematic-approach" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/FischerV03" cites: 0 citedby: 0 pages: "56-58" booktitle: "Logic Based Program Synthesis and Transformation, 13th International Symposium LOPSTR 2003, Uppsala, Sweden, August 25-27, 2003, Revised Selected Papers" editor: - name: "Maurice Bruynooghe" link: "https://researchr.org/alias/maurice-bruynooghe" volume: "3018" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22174-3" kind: "inproceedings" key: "FischerV03" - title: "Mining Software Repositories to Study Co-Evolution of Production & Test Code" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Bart Van Rompaey" link: "http://win.ua.ac.be/~bvromp/" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2008" doi: "http://doi.ieeecomputersociety.org/10.1109/ICST.2008.47" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICST.2008.47" tags: - "repository mining" - "testing" - "software evolution" researchr: "https://researchr.org/publication/ZaidmanRDD08" cites: 0 citedby: 0 pages: "220-229" booktitle: "First International Conference on Software Testing, Verification, and Validation, ICST 2008, Lillehammer, Norway, April 9-11, 2008" publisher: "IEEE Computer Society" kind: "inproceedings" key: "ZaidmanRDD08" - title: "EQ-Mine: Predicting Short-Term Defects for Software Evolution" author: - name: "Jacek Ratzinger" link: "https://researchr.org/alias/jacek-ratzinger" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-71289-3_3" links: doi: "http://dx.doi.org/10.1007/978-3-540-71289-3_3" tags: - "software evolution" researchr: "https://researchr.org/publication/RatzingerPG07" cites: 0 citedby: 0 pages: "12-26" booktitle: "Fundamental Approaches to Software Engineering, 10th International Conference, FASE 2007, Held as Part of the Joint European Conferences, on Theory and Practice of Software, ETAPS 2007, Braga, Portugal, March 24 - April 1, 2007, Proceedings" editor: - name: "Matthew B. Dwyer" link: "https://researchr.org/alias/matthew-b.-dwyer" - name: "Antónia Lopes" link: "https://researchr.org/alias/ant%C3%B3nia-lopes" volume: "4422" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-71288-6" kind: "inproceedings" key: "RatzingerPG07" - title: "Type Inference for COBOL Systems" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "1998" tags: - "type inference" - "type system" - "Cobol" researchr: "https://researchr.org/publication/DeursenM98" cites: 0 citedby: 0 pages: "220-230" booktitle: "WCRE" kind: "inproceedings" key: "DeursenM98" - title: "Industrial Applications of ASF+SDF" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Steven Klusener" link: "http://www.cs.vu.nl/~steven/" - name: "Emma van der Meulen" link: "https://researchr.org/alias/emma-van-der-meulen" year: "1996" tags: - "SDF" - "ASF+SDF" researchr: "https://researchr.org/publication/BrandDKKM96" cites: 0 citedby: 0 pages: "9-18" booktitle: "Algebraic Methodology and Software Technology, 5th International Conference, AMAST 96, Munich, Germany, July 1-5, 1996, Proceedings" editor: - name: "Martin Wirsing" link: "https://researchr.org/alias/martin-wirsing" - name: "Maurice Nivat" link: "https://researchr.org/alias/maurice-nivat" volume: "1101" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-61463-X" kind: "inproceedings" key: "BrandDKKM96" - title: "Natural and Flexible Error Recovery for Generated Parsers" author: - name: "Maartje de Jonge" link: "https://researchr.org/profile/maartjedejonge/publications" - name: "Emma Nilsson-Nyman" link: "http://www.cs.lth.se/home/Emma.Nilsson_Nyman/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-12107-4_16" abstract: "Parser generators are an indispensable tool for rapid language development. However, they often fall short of the finesse of a hand-crafted parser, built with the language semantics in mind. One area where generated parsers have provided unsatisfactory results is that of error recovery. Good error recovery is both natural, giving recovery suggestions in line with the intention of the programmer; and flexible, allowing it to be adapted according to language insights and language changes. This paper describes a novel approach to error recovery, taking into account not only the context-free grammar, but also indentation usage. We base our approach on an extension of the SGLR parser that supports fine-grained error recovery rules and can be used to parse complex, composed languages. We take a divide-and-conquer approach to error recovery: using indentation, erroneous regions of code are identified. These regions constrain the search space for applying recovery rules, improving performance and ensuring recovery suggestions local to the error. As a last resort, erroneous regions can be discarded. Our approach also integrates bridge parsing to provide more accurate suggestions for indentation-sensitive language constructs such as scopes. We evaluate our approach by comparison with the JDT Java parser used in Eclipse. " links: doi: "http://dx.doi.org/10.1007/978-3-642-12107-4_16" successor: "https://researchr.org/publication/JongeKVS12" tags: - "semantics" - "rule-based" - "Java" - "Eclipse" - "rules" - "C++" - "search suggestions" - "context-aware" - "search" - "parsing" - "error recovery" - "systematic-approach" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/JongeNKV09" cites: 0 citedby: 0 pages: "204-223" booktitle: "Software Language Engineering, Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers" editor: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Dragan Gasevic" link: "http://www.sfu.ca/~dgasevic/" - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" volume: "5969" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-12106-7" kind: "inproceedings" key: "JongeNKV09" - title: "Visualizing Testsuites to Aid in Software Understanding" author: - name: "Bas Cornelissen" link: "http://www.st.ewi.tudelft.nl/~cornel/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.54" links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.54" researchr: "https://researchr.org/publication/CornelissenDMZ07" cites: 0 citedby: 0 pages: "213-222" booktitle: "11th European Conference on Software Maintenance and Reengineering, Software Evolution in Complex Software Intensive Systems, CSMR 2007, 21-23 March 2007, Amsterdam, The Netherlands" editor: - name: "René L. Krikhaar" link: "https://researchr.org/alias/ren%C3%A9-l.-krikhaar" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" - name: "Giuseppe A. Di Lucca" link: "https://researchr.org/alias/giuseppe-a.-di-lucca" publisher: "IEEE Computer Society" isbn: "0-7695-2802-3" kind: "inproceedings" key: "CornelissenDMZ07" - title: "Source-Based Software Risk Assessment" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050385abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050385abs.htm" tags: - "rule-based" - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/DeursenK03" cites: 0 citedby: 0 pages: "385-388" booktitle: "19th International Conference on Software Maintenance (ICSM 2003), The Architecture of Existing Systems, 22-26 September 2003, Amsterdam, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-1905-9" kind: "inproceedings" key: "DeursenK03" - title: "A Comparison of Push and Pull Techniques for Ajax" author: - name: "Engin Bozdag" link: "http://www.st.ewi.tudelft.nl/~engin/" - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://arxiv.org/abs/0706.3984" note: "informal publication" links: doi: "http://arxiv.org/abs/0706.3984" tags: - "AJAX" researchr: "https://researchr.org/publication/abs-0706-3984" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/0706.3984" kind: "article" key: "abs-0706-3984" - title: "Regaining Lost Knowledge through Dynamic Analysis and Aspect Orientation" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Bram Adams" link: "http://www.bramadams.org/" - name: "Kris De Schutter" link: "http://if-false-panic.blogspot.com/" - name: "Ghislain Hoffman" link: "https://researchr.org/alias/ghislain-hoffman" - name: "Bernard De Ruyck" link: "https://researchr.org/alias/bernard-de-ruyck" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.45" links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.45" tags: - "analysis" researchr: "https://researchr.org/publication/ZaidmanDASHR06" cites: 0 citedby: 0 pages: "91-102" booktitle: "10th European Conference on Software Maintenance and Reengineering (CSMR 2006), 22-24 March 2006, Bari, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2536-9" kind: "inproceedings" key: "ZaidmanDASHR06" - title: "Understanding Execution Traces Using Massive Sequence and Circular Bundle Views" author: - name: "Bas Cornelissen" link: "http://www.st.ewi.tudelft.nl/~cornel/" - name: "Danny Holten" link: "https://researchr.org/alias/danny-holten" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Jarke J. van Wijk" link: "https://researchr.org/alias/jarke-j.-van-wijk" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2007.39" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2007.39" tags: - "software visualization" - "analysis" - "dynamic analysis" researchr: "https://researchr.org/publication/CornelissenHZMWD07" cites: 0 citedby: 0 pages: "49-58" booktitle: "15th International Conference on Program Comprehension (ICPC 2007), June 26-29, 2007, Banff, Alberta, Canada" publisher: "IEEE Computer Society" kind: "inproceedings" key: "CornelissenHZMWD07" - title: "Architecture support for runtime integration and verification of component-based Systems of Systems" author: - name: "Alberto González" link: "http://www.st.ewi.tudelft.nl/~albgonz/" - name: "Éric Piel" link: "http://pieleric.free.fr/" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" year: "2008" doi: "http://dx.doi.org/10.1109/ASEW.2008.4686292" links: doi: "http://dx.doi.org/10.1109/ASEW.2008.4686292" tags: - "rule-based" - "architecture" researchr: "https://researchr.org/publication/GonzalezPG08" cites: 0 citedby: 0 pages: "41-48" booktitle: "23rd IEEE/ACM International Conference on Automated Software Engineering - Workshop Proceedings (ASE Workshops 2008), 15-16 September 2008, L Aquila, Italy" publisher: "IEEE" isbn: "978-1-4244-2776-5" kind: "inproceedings" key: "GonzalezPG08" - title: "Understanding Plug-in Test Suites from an Extensibility Perspective" author: - name: "Michaela Greiler" link: "http://swerl.tudelft.nl/bin/view/MichaelaGreiler/WebHome" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://dx.doi.org/10.1109/WCRE.2010.16" links: doi: "http://dx.doi.org/10.1109/WCRE.2010.16" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/wcre/GreilerGD10" tags: - "testing" researchr: "https://researchr.org/publication/GreilerGD10" cites: 0 citedby: 0 pages: "67-76" booktitle: "17th Working Conference on Reverse Engineering, WCRE 2010, 13-16 October 2010, Beverly, MA, USA" editor: - name: "Giuliano Antoniol" link: "https://researchr.org/alias/giuliano-antoniol" - name: "Martin Pinzger" link: "https://researchr.org/alias/martin-pinzger" - name: "Elliot J. Chikofsky" link: "https://researchr.org/alias/elliot-j.-chikofsky" publisher: "IEEE Computer Society" isbn: "978-0-7695-4123-5" kind: "inproceedings" key: "GreilerGD10" - title: "The ASF+SDF Meta-environment" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "T. B. Dinesh" link: "https://researchr.org/alias/t.-b.-dinesh" - name: "Emma van der Meulen" link: "https://researchr.org/alias/emma-van-der-meulen" year: "1993" tags: - "SDF" - "meta-model" - "Meta-Environment" - "ASF+SDF" - "meta-objects" researchr: "https://researchr.org/publication/DeursenDM93" cites: 0 citedby: 0 pages: "411-412" booktitle: "Algebraic Methodology and Software Technology (AMAST 93), Proceedings of the Third International Conference on Methodology and Software Technology, University of Twente, Enschede, The Netherlands, 21-25 June, 1993" editor: - name: "Maurice Nivat" link: "https://researchr.org/alias/maurice-nivat" - name: "Charles Rattray" link: "https://researchr.org/alias/charles-rattray" - name: "Teodor Rus" link: "https://researchr.org/alias/teodor-rus" - name: "Giuseppe Scollo" link: "https://researchr.org/alias/giuseppe-scollo" series: "Workshops in Computing" publisher: "Springer" isbn: "3-540-19852-0" kind: "inproceedings" key: "DeursenDM93" - title: "Fusing a Transformation Language with an Open Compiler" author: - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.042" abstract: "Program transformation systems provide powerful analysis and transformation frameworks as well as concise languages for language processing, but instantiating them for every subject language is an arduous task, most often resulting in half-completed frontends. Compilers provide mature frontends with robust parsers and type checkers, but solving language processing problems in general-purpose languages without transformation libraries is tedious. Reusing these frontends with existing transformation systems is therefore attractive. However, for this reuse to be optimal, the functional logic found in the frontend should be exposed to the transformation system – simple data serialization of the abstract syntax tree is not enough, since this fails to expose important compiler functionality, such as import graphs, symbol tables and the type checker. In this paper, we introduce a novel and general technique for combining term-based transformation systems with existing language frontends. The technique is presented in the context of a scriptable analysis and transformation framework for Java built on top of the Eclipse Java compiler. The framework consists of an adapter automatically extracted from the abstract syntax tree of the compiler and an interpreter for the Stratego program transformation language. The adapter allows the Stratego interpreter to rewrite directly on the compiler AST. We illustrate the applicability of our system with scripts written in Stratego that perform framework and library-specific analyses and transformations." links: doi: "http://dx.doi.org/10.1016/j.entcs.2008.03.042" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-025.pdf" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "rule-based" - "Java" - "program analysis" - "Eclipse" - "completeness" - "data-flow language" - "graph transformation" - "interpreter" - "abstract syntax" - "Stratego/XT" - "transformation language" - "term rewriting" - "functional programming" - "Eclipse Java Compiler" - "points-to analysis" - "domain analysis" - "analysis" - "type system" - "reuse" - "data-flow programming" - "data-flow" - "source-to-source" - "graph-rewriting" - "logic programming" - "transformation system" - "compiler" - "model transformation" - "open compiler" - "subject-oriented programming" - "context-aware" - "logic" - "Spoofax" - "rewriting logic" - "rewriting" - "data-flow analysis" - "parsing" - "feature-oriented programming" - "open-source" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/KallebergV08" cites: 0 citedby: 1 journal: "Electronic Notes in Theoretical Computer Science" volume: "203" number: "2" pages: "21-36" kind: "article" key: "KallebergV08" - title: "Migrating Multi-page Web Applications to Single-page AJAX Interfaces" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://arxiv.org/abs/cs/0610094" note: "informal publication" links: doi: "http://arxiv.org/abs/cs/0610094" tags: - "AJAX" - "web applications" researchr: "https://researchr.org/publication/abs-cs-0610094" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/cs/0610094" kind: "article" key: "abs-cs-0610094" - title: "A common framework for aspect mining based on crosscutting concern sorts" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://arxiv.org/abs/cs/0606113" note: "informal publication" links: doi: "http://arxiv.org/abs/cs/0606113" tags: - "rule-based" researchr: "https://researchr.org/publication/abs-cs-0606113" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/cs/0606113" kind: "article" key: "abs-cs-0606113" - title: "Migration of Supervisory Machine Control Architectures" author: - name: "Bas Graaf" link: "http://www.st.ewi.tudelft.nl/~basgraaf/" - name: "Sven Weber" link: "https://researchr.org/alias/sven-weber" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/WICSA.2005.46" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WICSA.2005.46" tags: - "architecture" - "migration" researchr: "https://researchr.org/publication/GraafWD05" cites: 0 citedby: 0 pages: "261-262" booktitle: "Fifth Working IEEE / IFIP Conference on Software Architecture (WICSA 2005), 6-10 November 2005, Pittsburgh, Pennsylvania, USA" publisher: "IEEE Computer Society" isbn: "0-7695-2548-2" kind: "inproceedings" key: "GraafWD05" - title: "Character Classes" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "August" abstract: "Character classes are used in syntax definition formalisms as compact representations of sets of characters. A character class is a list of characters and ranges of characters. For instance [A-Z0-9] describes the set containing all uppercase characters and all digits. One set of characters can be represented in many ways with character classes. In this paper an algebraic specification of character classes is presented. We define a normalization of character classes that results in unique, most compact normal forms such that equality of character classes becomes syntactic equality of their normal forms." links: "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9708.ps" tags: - "syntax definition" - "SDF" - "term rewriting" - "character class" - "graph-rewriting" - "algebraic specification" - " algebra" - "rewriting" - "ASF+SDF" researchr: "https://researchr.org/publication/Visser97-CC" cites: 0 citedby: 0 institution: "Programming Research Group, University of Amsterdam" number: "P9708" kind: "techreport" key: "Visser97-CC" - title: "Building Documentation Generators" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "1999" doi: "http://computer.org/proceedings/icsm/0016/00160040abs.htm" links: doi: "http://computer.org/proceedings/icsm/0016/00160040abs.htm" tags: - "island grammars" researchr: "https://researchr.org/publication/DeursenK99%3A0" cites: 0 citedby: 0 pages: "40-49" booktitle: "ICSM" kind: "inproceedings" key: "DeursenK99:0" - title: "Asset Recovery and Their Incorporation into Product Lines" author: - name: "Jens Knodel" link: "https://researchr.org/alias/jens-knodel" - name: "Isabel John" link: "https://researchr.org/alias/isabel-john" - name: "Dharmalingam Ganesan" link: "https://researchr.org/alias/dharmalingam-ganesan" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Fernando Usero" link: "https://researchr.org/alias/fernando-usero" - name: "José L. Arciniegas" link: "https://researchr.org/alias/jos%C3%A9-l.-arciniegas" - name: "Claudio Riva" link: "https://researchr.org/alias/claudio-riva" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.8" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.8" researchr: "https://researchr.org/publication/KnodelJGPUAR05" cites: 0 citedby: 0 pages: "120-129" booktitle: "12th Working Conference on Reverse Engineering (WCRE 2005), 7-11 November 2005, Pittsburgh, PA, USA" publisher: "IEEE Computer Society" isbn: "0-7695-2474-5" kind: "inproceedings" key: "KnodelJGPUAR05" - title: "Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction" author: - name: "Beat Fluri" link: "https://researchr.org/alias/beat-fluri" - name: "Michael Würsch" link: "https://researchr.org/alias/michael-w%C3%BCrsch" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2007.70731" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2007.70731" tags: - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/FluriWPG07" cites: 0 citedby: 0 journal: "IEEE Trans. Software Eng." volume: "33" number: "11" pages: "725-743" kind: "article" key: "FluriWPG07" - title: "An Architectural Style for Ajax" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/WICSA.2007.7" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WICSA.2007.7" tags: - "software architecture" - "architecture" - "AJAX" researchr: "https://researchr.org/publication/MesbahD-WICSA-2007" cites: 0 citedby: 0 pages: "9" booktitle: "Sixth Working IEEE / IFIP Conference on Software Architecture (WICSA 2007), 6-9 January 2005, Mumbai, Maharashtra, India" publisher: "IEEE Computer Society" isbn: "978-0-7695-2744-4" kind: "inproceedings" key: "MesbahD-WICSA-2007" - title: "Structural performance measure of evolutionary testing applied to worst-case timing of real-time systems" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Bryan F. Jones" link: "https://researchr.org/alias/bryan-f.-jones" - name: "David E. Eyres" link: "https://researchr.org/alias/david-e.-eyres" year: "2000" tags: - "testing" - "e-science" researchr: "https://researchr.org/publication/GrossJE00" cites: 0 citedby: 0 journal: "IEE Proceedings - Software" volume: "147" number: "2" pages: "25-30" kind: "article" key: "GrossJE00" - title: "Model-Driven Consistency Checking of Behavioural Specifications" author: - name: "Bas Graaf" link: "https://researchr.org/alias/bas-graaf" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://dx.doi.org/10.1109/MOMPES.2007.12" links: doi: "http://dx.doi.org/10.1109/MOMPES.2007.12" tags: - "model checking" - "meta-model" - "consistency" - "Meta-Environment" researchr: "https://researchr.org/publication/GraafD07-0" cites: 0 citedby: 0 pages: "115-126" booktitle: "Model-based Methodologies for Pervasive and Embedded Software, 4th International Workshop on Model-based Methodologies for Pervasive and Embedded Software, MOMPES 2007, Braga, Portugal, March 31, 2007, Proceedings" editor: - name: "João M. Fernandes" link: "https://researchr.org/alias/jo%C3%A3%C2%A3o-m.-fernandes" - name: "Ricardo Jorge Machado" link: "https://researchr.org/alias/ricardo-jorge-machado" - name: "Ridha Khédri" link: "https://researchr.org/alias/ridha-kh%C3%A3%C2%A9dri" - name: "siobhán-clarke" link: "https://researchr.org/alias/siobh%C3%A3%C2%A1n-clarke" publisher: "IEEE Computer Society" isbn: "0-7695-2769-8" kind: "inproceedings" key: "GraafD07-0" - title: "Regression Testing Ajax Applications: Coping with Dynamism" author: - name: "Danny Roest" link: "https://researchr.org/alias/danny-roest" - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.ieeecomputersociety.org/10.1109/ICST.2010.59" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICST.2010.59" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icst/RoestMD10" tags: - "AJAX" - "testing" researchr: "https://researchr.org/publication/RoestMD10" cites: 0 citedby: 0 pages: "127-136" booktitle: "Third International Conference on Software Testing, Verification and Validation, ICST 2010, Paris, France, April 7-9, 2010" publisher: "IEEE Computer Society" isbn: "978-0-7695-3990-4" kind: "inproceedings" key: "RoestMD10" - title: "An Integrated Crosscutting Concern Migration Strategy and its Application to JHotDraw" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://arxiv.org/abs/0707.2291" note: "informal publication" links: doi: "http://arxiv.org/abs/0707.2291" tags: - "migration" researchr: "https://researchr.org/publication/abs-0707-2291" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/0707.2291" kind: "article" key: "abs-0707-2291" - title: "The Second Rewrite Engines Competition" author: - name: "Francisco Durán" link: "http://www.lcc.uma.es/~duran/" - name: "Manuel Roldán" link: "https://researchr.org/alias/manuel-rold%C3%A1n" - name: "Emilie Balland" link: "http://www.loria.fr/~balland/" - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Steven Eker" link: "http://www.csl.sri.com/people/eker/" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Pierre-Etienne Moreau" link: "http://www.loria.fr/~moreau/dokuwiki/doku.php" - name: "Ruslan Shevchenko" link: "https://researchr.org/alias/ruslan-shevchenko" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1016/j.entcs.2009.05.025" abstract: "The 2nd Rewrite Engines Competition (REC) was celebrated as part of the 7th Workshop on Rewriting Logic and its Applications (WRLA 2008). In this edition of the competition participated ve systems, namely ASF+SDF, Maude, Stratego/XT, Termware, and Tom. We explain here how the competition was organized and conducted, and present its main results and conclusions." links: doi: "http://dx.doi.org/10.1016/j.entcs.2009.05.025" tags: - "rewrite engine" - "SDF" - "term rewriting" - "graph-rewriting" - "C++" - "logic" - "rewriting logic" - "rewriting" - "rewriting strategies" - "ASF+SDF" - "Stratego" researchr: "https://researchr.org/publication/DuranRBBEKKMSV09" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "238" number: "3" pages: "281-291" kind: "article" key: "DuranRBBEKKMSV09" - title: "Rapid System Understanding: Two COBOL Case Studies" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "1998" doi: "http://dlib2.computer.org/conferen/iwpc/8560/pdf/85600090.pdf" links: doi: "http://dlib2.computer.org/conferen/iwpc/8560/pdf/85600090.pdf" tags: - "case study" - "Cobol" researchr: "https://researchr.org/publication/DeursenK98%3A0" cites: 0 citedby: 0 pages: "90-97" booktitle: "6th International Workshop on Program Comprehension (IWPC 98), June 24-26, 1998, Ischia, Italy" publisher: "IEEE Computer Society" isbn: "0-8186-8560-3" kind: "inproceedings" key: "DeursenK98:0" - title: "Predicting defect densities in source code files with decision tree learners" author: - name: "Patrick Knab" link: "https://researchr.org/alias/patrick-knab" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Abraham Bernstein" link: "https://researchr.org/alias/abraham-bernstein" year: "2006" doi: "http://doi.acm.org/10.1145/1137983.1138012" links: doi: "http://doi.acm.org/10.1145/1137983.1138012" tags: - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/KnabPB06" cites: 0 citedby: 0 pages: "119-125" booktitle: "Proceedings of the 2006 International Workshop on Mining Software Repositories, MSR 2006, Shanghai, China, May 22-23, 2006" editor: - name: "Stephan Diehl" link: "https://researchr.org/alias/stephan-diehl" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" publisher: "ACM" isbn: "1-59593-397-2" kind: "inproceedings" key: "KnabPB06" - title: "Building Program Understanding Tools Using Visitor Combinators" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2002" doi: "http://computer.org/proceedings/iwpc/1495/14950137abs.htm" abstract: "Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs, or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in different constellations to build more complex visitors. We evaluate the expressiveness, reusability, ease of development, and applicability of visitor combinators to the construction of program understanding tools. To that end, we conduct a case study in the use of visitor combinators for control-flow analysis and visualization as used in a commercial Cobol program understanding tool." links: doi: "http://computer.org/proceedings/iwpc/1495/14950137abs.htm" tags: - "object-oriented programming" - "program comprehension" - "program analysis" - "program understanding" - "case study" - "abstract syntax" - "visitor" - "analysis" - "reuse" - "data-flow programming" - "data-flow" - "graph-rewriting" - "programming" - "subject-oriented programming" - "rewriting" - "data-flow analysis" - "Cobol" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/DeursenV02%3A0" cites: 0 citedby: 0 pages: "137-146" booktitle: "10th International Workshop on Program Comprehension (IWPC 2002), 27-29 June 2002, Paris, France" publisher: "IEEE Computer Society" isbn: "0-7695-1495-2" kind: "inproceedings" key: "DeursenV02:0" - title: "Managing code clones using dynamic change tracking and resolution" author: - name: "Michiel de Wit" link: "https://researchr.org/alias/michiel-de-wit" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2009" doi: "http://dx.doi.org/10.1109/ICSM.2009.5306336" links: doi: "http://dx.doi.org/10.1109/ICSM.2009.5306336" researchr: "https://researchr.org/publication/WitZD09" cites: 0 citedby: 0 pages: "169-178" booktitle: "25th IEEE International Conference on Software Maintenance (ICSM 2009), September 20-26, 2009, Edmonton, Alberta, Canada" publisher: "IEEE" kind: "inproceedings" key: "WitZD09" - title: "Multi-Level Specifications" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1996" month: "September" abstract: "This chapter introduces a modular, applicative, multi-level equational specification formalism that supports algebraic specification with user-definable type constructors, polymorphic functions and higher-order functions. Specifications consist of one or more levels numbered $0$ to $n$. Level~0 defines the object level terms. Level~1 defines the types used in the signature of level~0. In general, the terms used as types in level~$n$ are defined in level~$n+1$. This setup makes the algebra of types and the algebra of types of types, etc., user-definable. The applicative term structure makes functions first-class citizens and facilitates higher-order functions. The use of variables in terms used as types provides polymorphism (including higher-order polymorphism, i.e., abstraction over type constructors). Functions and variables can be overloaded. Specifications can be divided into modules. Modules can be imported at several levels by means of a specification lifting operation. Equations define the semantics of terms over a signature. The formalism also allows equations over types, by means of which many type systems can be described. The typechecker presented in this chapter does not take into account type equations. The specification, in Asf+Sdf, of the syntax, type system and semantics of the formalism is presented in three stages: (1) untyped equational specifications (2) applicative one-level specifications (3) modular multi-level specifications. The definition of a typechecker for stages (2) and (3) is divided into four parts: (a) well-formedness judgements verifying type correctness of fully annotated terms and specifications, (b) non well-formedness rules giving descriptive error messages for the cases not covered under (a), (c) a type assignment function annotating the terms in a plain specification with types, and (d) a typechecking function which checks well-formedness after applying type assignment. These functions are defined uniformly for all levels of a specification. Aside of defining a new specification formalism, this chapter illustrates the use of Asf+Sdf for the design and prototyping of sophisticated specification formalisms." links: "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9604.ps" tags: - "semantics" - "rule-based" - "syntax definition" - "SDF" - "multi-level specification" - "language design" - "type system" - "rules" - "algebraic specification" - "C++" - "type checking" - " algebra" - "abstraction" - "design" - "ASF+SDF" - "language prototyping" researchr: "https://researchr.org/publication/Visser96" cites: 0 citedby: 0 booktitle: "Language Prototyping. An Algebraic Specification Approach" editor: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Jan Heering" link: "http://homepages.cwi.nl/~jan/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" volume: "5" series: "AMAST Series in Computing" address: "Singapore" publisher: "World Scientific" kind: "incollection" key: "Visser96" - title: "Declarative, formal, and extensible syntax definition for AspectJ" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Éric Tanter" link: "http://pleiad.dcc.uchile.cl/people/etanter" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "http://doi.acm.org/10.1145/1167473.1167491" abstract: " Aspect-Oriented Programming (AOP) is attracting attention from both research and industry, as illustrated by the ever-growing popularity of AspectJ, the de facto standard AOP extension of Java. From a compiler construction perspective AspectJ is interesting as it is a typical example of compositional language, ie a language composed of a number of separate languages with different syntactical styles: in addition to plain Java, AspectJ includes a language for defining pointcuts and one for defining advices. Language composition represents a non-trivial challenge for conventional parsing techniques. First, combining several languages with different lexical syntax leads to considerable complexity in the lexical states to processed. Second, as new language features for AOP are being explored, many research proposals are concerned with further extending the AspectJ language, resulting in a need for an extensible syntax definition.This paper shows how scannerless parsing elegantly addresses the issues encountered by conventional techniques when parsing AspectJ . We present the design of a modular, extensible, and formal definition of the lexical and context-free aspects of the AspectJ syntax in the Syntax Definition Formalism SDF, which is implemented by a scannerless, generalized-LR parser (SGLR). We introduce grammar mixins as a novel application of SDF's modularity features, which allows the declarative definition of different keyword policies and combination of extensions. We illustrate the modular extensibility of our definition with syntax extensions taken from current research on aspect languages. Finally, benchmarks show the reasonable performance of scannerless generalized-LR parsing for this grammar. " links: doi: "http://doi.acm.org/10.1145/1167473.1167491" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "Java" - "syntax definition" - "SDF" - "lexical syntax" - "design complexity" - "composition" - "design research" - "language design" - "aspect oriented programming" - "compiler" - "programming" - "subject-oriented programming" - "context-aware" - "language composition" - "parsing" - "design" - "scannerless parsing" - "extensible language" - "ASF+SDF" - "feature-oriented programming" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/BravenboerTV06" cites: 0 citedby: 1 pages: "209-228" booktitle: "Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA" editor: - name: "Peri L. Tarr" link: "http://portal.acm.org/author_page.cfm?id=81100131551&coll=GUIDE&dl=GUIDE&trk=0&CFID=51133021&CFTOKEN=87963901" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" publisher: "ACM" isbn: "1-59593-348-4" kind: "inproceedings" key: "BravenboerTV06" - title: "Language Independent Traversals for Program Transformation" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2000" month: "July" abstract: "Many language processing operations have a generic underlying algorithm. However, these generic algorithms either have to be implemented specifically for the language under consideration or the language needs to be encoded in a generic format that the generic algorithm works on. Stratego is a language for program transformation that supports both specific and generic views of data types. A Stratego program defines a transformation on first-order ground terms. Transformation rules define single transformation steps. Transformation rules are combined into transformation \\emph{strategies} by means of combinators that determine where and in what order rules are applied. These combinators include: primitives for traversal to the direct subterms of a node, allowing the definition of many kinds of full term traversals; full control over recursion in traversals; patterns as first-class citizens; generic term construction and deconstruction. These features create a setting in which it is possible to combine generic traversal with data type specific pattern matching, and separating logic (transformation, pattern matching) from control (traversal). This makes it possible to give language independent descriptions of language processing operations that can be instantiated to a specific language by providing the patterns of the relevant constructs. These generic algorithms only touch relevant constructors and do not need to know the entire datatype, making the algorithms insensitive to changes in the abstract syntax that do not affect the constructors relevant to the operation. Stratego is currently implemented by compilation to C code. All constructs of the language are implemented directly, i.e., the compiled program is as large as the specification, in contrast to approaches that rely on preprocessing or program generation which may have a scaling problem when dealing with large languages. The approach to generic programming in Stratego is illustrated by means of several examples including free variable extraction, bound variable renaming, substitution and syntactic unification." links: technicalreport: "https://researchr.org/publication/preprint-Vis00" tags: - "programming languages" - "rule-based" - "syntax definition" - "data-flow language" - "pattern language" - "generic programming" - "abstract syntax" - "traversal" - "transformation language" - "data-flow programming" - "data-flow" - "rules" - "C++" - "pattern matching" - "code generation" - "logic programming" - "compiler" - "programming" - "logic" - "higher-order transformations" - "systematic-approach" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/Visser00" cites: 0 citedby: 0 booktitle: "Workshop on Generic Programming (WGP 2000)" address: "Ponte de Lima, Portugal" publisher: "Technical Report UU-CS-2000-19, Department of Information and Computing Sciences, Universiteit Utrecht" kind: "inproceedings" key: "Visser00" - title: "Spoofax: An Interactive Development Environment for Program Transformation with Stratego/XT" author: - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" month: "March" links: "url": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2007-018.pdf" tags: - "model-to-model transformation" - "meta programming" - "meta-model" - "model-driven development" - "model transformation" - "Spoofax" - "Meta-Environment" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/KallebergV07" cites: 0 citedby: 0 booktitle: "Proceedings of the Seventh Workshop on Language Descriptions, Tools and Applications (LDTA 2007)" series: "Electronic Notes in Theoretical Computer Science" address: "Braga, Portugal" publisher: "Elsevier" kind: "inproceedings" key: "KallebergV07" - title: "The impact of social media on software engineering practices and tools" author: - name: "Margaret-Anne D. Storey" link: "http://" - name: "Treude, Christoph" link: "https://researchr.org/alias/treude%2C-christoph" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Cheng, Li-Te" link: "https://researchr.org/alias/cheng%2C-li-te" year: "2010" doi: "http://doi.acm.org/10.1145/1882362.1882435" abstract: "Today's generation of software developers frequently make use of social media, either as an adjunct or integrated into a wide range of tools ranging from code editors and issue trackers, to IDEs and web-based portals. The role of social media usage in software engineering is not well understood, and yet the use of these mechanisms influences software development practices. In this position paper, we advocate for research that strives to understand the benefits, risks and limitations of using social media in software development at the team, project and community levels. Guided by the implications of current tools and social media features, we propose a set of pertinent research questions around community involvement, project coordination and management, as well as individual software development activities. Answers to these questions will guide future software engineering tool innovations and software development team practices." links: doi: "http://doi.acm.org/10.1145/1882362.1882435" "url": "http://doi.acm.org/10.1145/1882362.1882435" tags: - "rule-based" - "social web" - "web engineering" - "software engineering" - "code generation" - "social" researchr: "https://researchr.org/publication/Storey-FOSER-2010" cites: 0 citedby: 0 booktitle: "Proceedings of the FSE/SDP workshop on Future of software engineering research" address: "New York, NY, USA" publisher: "ACM" isbn: "978-1-4503-0427-6" kind: "inproceedings" key: "Storey-FOSER-2010" - title: "Generating Version Convertors for Domain-Specific Languages" author: - name: "Gerardo de Geest" link: "http://www.linkedin.com/pub/gerardo-de-geest/9/820/138" - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1109/WCRE.2008.50" abstract: "Domain-specific languages (DSLs) improve programmer productivity by providing high-level abstractions for the development of applications in a particular domain. However,the smaller distance to the application domain entails more frequent changes to the language. As a result, existing DSL models need to be converted to the new version. Manual conversion is tedious and error prone.This paper presents an approach to support DSL evolution by generation of convertors between DSLs. By analyzing the differences between DSL meta-models, a mapping is reverse engineered which can be used to generate reengineering tools to automatically convert models between different versions of a DSL. The approach has been implemented for the Microsoft DSL Tools infrastructure in two tools called DSLCompare and ConverterGenerator. The approach has been evaluated by means of three case studies taken from the software development practice at the company Avanade." links: doi: "http://dx.doi.org/10.1109/WCRE.2008.50" tags: - "case study" - "meta-model" - "evolution" - "modeling language" - "modeling" - "dsl-tools" - "language modeling" - "model-driven development" - "software evolution" - "DSL" - "abstraction" - "Meta-Environment" - "convertors" - "systematic-approach" - "language" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/GeestVDV08" cites: 0 citedby: 0 pages: "197-201" booktitle: "WCRE 2008, Proceedings of the 15th Working Conference on Reverse Engineering, Antwerp, Belgium, October 15-18, 2008" publisher: "IEEE" kind: "inproceedings" key: "GeestVDV08" - title: "An Initial Experiment in Reverse Engineering Aspects" author: - name: "Magiel Bruntink" link: "https://researchr.org/alias/magiel-bruntink" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tom Tourwé" link: "https://researchr.org/alias/tom-tourw%C3%A9" year: "2004" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.12" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.12" tags: - "reverse engineering" researchr: "https://researchr.org/publication/BruntinkDT04" cites: 0 citedby: 0 pages: "306-307" booktitle: "11th Working Conference on Reverse Engineering (WCRE 2004), 8-12 November 2004, Delft, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-2243-2" kind: "inproceedings" key: "BruntinkDT04" - title: "Detecting similar Java classes using tree algorithms" author: - name: "Tobias Sager" link: "https://researchr.org/alias/tobias-sager" - name: "Abraham Bernstein" link: "https://researchr.org/alias/abraham-bernstein" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Christoph Kiefer" link: "https://researchr.org/alias/christoph-kiefer" year: "2006" doi: "http://doi.acm.org/10.1145/1137983.1138000" links: doi: "http://doi.acm.org/10.1145/1137983.1138000" tags: - "Java" researchr: "https://researchr.org/publication/SagerBPK06" cites: 0 citedby: 0 pages: "65-71" booktitle: "Proceedings of the 2006 International Workshop on Mining Software Repositories, MSR 2006, Shanghai, China, May 22-23, 2006" editor: - name: "Stephan Diehl" link: "https://researchr.org/alias/stephan-diehl" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" publisher: "ACM" isbn: "1-59593-397-2" kind: "inproceedings" key: "SagerBPK06" - title: "Pattern-Supported Architecture Recovery" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2002" doi: "http://computer.org/proceedings/iwpc/1495/14950053abs.htm" links: doi: "http://computer.org/proceedings/iwpc/1495/14950053abs.htm" tags: - "architecture" researchr: "https://researchr.org/publication/PinzgerG02" cites: 0 citedby: 0 pages: "53-64" booktitle: "10th International Workshop on Program Comprehension (IWPC 2002), 27-29 June 2002, Paris, France" publisher: "IEEE Computer Society" isbn: "0-7695-1495-2" kind: "inproceedings" key: "PinzgerG02" - title: "An empirical study into class testability" author: - name: "Magiel Bruntink" link: "https://researchr.org/alias/magiel-bruntink" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://dx.doi.org/10.1016/j.jss.2006.02.036" links: doi: "http://dx.doi.org/10.1016/j.jss.2006.02.036" tags: - "empirical" - "testing" researchr: "https://researchr.org/publication/BruntinkD06" cites: 0 citedby: 0 journal: "Journal of Systems and Software" volume: "79" number: "9" pages: "1219-1232" kind: "article" key: "BruntinkD06" - title: "The Asf+Sdf Meta-Environment Documentation Tools for Free!" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1995" doi: "http://dx.doi.org/10.1007/3-540-59293-8_242" abstract: "(has no abstract)" links: doi: "http://dx.doi.org/10.1007/3-540-59293-8_242" tags: - "SDF" - "meta-model" - "documentation" - "software documentation" - "pretty-printing" - "Meta-Environment" - "ASF+SDF" - "meta-objects" researchr: "https://researchr.org/publication/BrandV95" cites: 0 citedby: 0 pages: "803-804" booktitle: "TAPSOFT 95: Theory and Practice of Software Development, 6th International Joint Conference CAAP/FASE, Aarhus, Denmark, May 22-26, 1995, Proceedings" editor: - name: "Peter D. Mosses" link: "https://pdmosses.github.io" - name: "Mogens Nielsen" link: "https://researchr.org/alias/mogens-nielsen" - name: "Michael I. Schwartzbach" link: "http://www.brics.dk/~mis/" volume: "915" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-59293-8" kind: "inproceedings" key: "BrandV95" - title: "Using aspect orientation in legacy environments for reverse engineering using dynamic analysis - An industrial experience report" author: - name: "Bram Adams" link: "http://www.bramadams.org/" - name: "Kris De Schutter" link: "http://if-false-panic.blogspot.com/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Serge Demeyer" link: "http://win.ua.ac.be/~sdemey/" - name: "Herman Tromp" link: "https://researchr.org/alias/herman-tromp" - name: "Wolfgang De Meuter" link: "https://researchr.org/alias/wolfgang-de-meuter" year: "2009" doi: "http://dx.doi.org/10.1016/j.jss.2008.09.031" links: doi: "http://dx.doi.org/10.1016/j.jss.2008.09.031" tags: - "reverse engineering" - "analysis" - "Meta-Environment" researchr: "https://researchr.org/publication/AdamsSZDTM09" cites: 0 citedby: 0 journal: "Journal of Systems and Software" volume: "82" number: "4" pages: "668-684" kind: "article" key: "AdamsSZDTM09" - title: "An Architectural Style for Ajax" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://arxiv.org/abs/cs/0608111" note: "informal publication" links: doi: "http://arxiv.org/abs/cs/0608111" tags: - "architecture" - "AJAX" researchr: "https://researchr.org/publication/abs-cs-0608111" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/cs/0608111" kind: "article" key: "abs-cs-0608111" - title: "Experiences in Teaching Software Evolution and Program Comprehension" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Jean-Marie Favre" link: "http://megaplanet.org/jean-marie-favre/" - name: "Rainer Koschke" link: "http://www.informatik.uni-bremen.de/~koschke/" - name: "Juergen Rilling" link: "https://researchr.org/alias/juergen-rilling" year: "2003" doi: "http://computer.org/proceedings/iwpc/1883/18830283abs.htm" links: doi: "http://computer.org/proceedings/iwpc/1883/18830283abs.htm" tags: - "program comprehension" - "software evolution" - "teaching" researchr: "https://researchr.org/publication/DeursenFKR03" cites: 0 citedby: 0 pages: "283-284" booktitle: "11th International Workshop on Program Comprehension (IWPC 2003), May 10-11, 2003, Portland, Oregon, USA" publisher: "IEEE Computer Society" kind: "inproceedings" key: "DeursenFKR03" - title: "Program Transformation Mechanics. A Classification of Mechanisms for Program Transformation with a Survey of Existing Transformation Systems" author: - name: "J. van Wijngaarden" link: "https://researchr.org/alias/j.-van-wijngaarden" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" abstract: "Transformation techniques are spreading from application in compilers to general use in generative programming and document processing. Since transformation requires operations such as pattern matching, generic structure traversal, and querying, which are not normally provided by general-purpose programming languages, many tools have been developed to provide higher-level support for the implementation of transformations. These tools come in many flavors each with their own merits and based on different paradigms, which makes comparison difficult. In this paper, we consider transformation from the point of view of mechanics and develop a classification of transformation mechanisms that provides a reference for comparing tools developed for different applications, using different implementations, and in different programming paradigms. To do so we distinguish three fundamental aspects of transformation mechanisms: scope, direction, and stages. We apply this classification in a discussion of design patterns for transformation, characterization of several typical transformations, and a systematic comparison of eleven representative transformation tools." tags: - "classification" - "survey" - "transformation system" - "transformation" - "program transformation" researchr: "https://researchr.org/publication/WijngaardenV03" cites: 0 citedby: 1 institution: "Institute of Information and Computing Sciences, Utrecht University" number: "UU-CS-2003-048" address: "Utrecht, The Netherlands" kind: "techreport" key: "WijngaardenV03" - title: "Using Run-Time Data for Program Comprehension" author: - name: "Thomas Gschwind" link: "https://researchr.org/alias/thomas-gschwind" - name: "Johann Oberleitner" link: "https://researchr.org/alias/johann-oberleitner" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2003" doi: "http://computer.org/proceedings/iwpc/1883/18830245abs.htm" links: doi: "http://computer.org/proceedings/iwpc/1883/18830245abs.htm" tags: - "program comprehension" - "data-flow programming" - "data-flow" researchr: "https://researchr.org/publication/GschwindOP03" cites: 0 citedby: 0 pages: "245-250" booktitle: "11th International Workshop on Program Comprehension (IWPC 2003), May 10-11, 2003, Portland, Oregon, USA" publisher: "IEEE Computer Society" kind: "inproceedings" key: "GschwindOP03" - title: "Specification of Rewriting Strategies" author: - name: "Bas Luttik" link: "http://www.win.tue.nl/~luttik/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "November" abstract: "User-definable strategies for the application of rewrite rules provide a means to construct transformation systems that apply rewrite rules in a controlled way. This paper describes a strategy language and its interpretation. The language is used to control the rewriting of terms using labeled rewrite rules. Rule labels are atomic strategies. Compound strategies are formed by means of sequential composition, nondeterministic choice, left choice, fixed point recursion, and two primitives for expressing term traversal. Several complex strategies such as bottom-up and top-down applica- tion and (parallel) innermost and (parallel) outermost reduction can be defined in terms of these primitives. The paper contains two case studies of the application of strategies. " links: "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/LV97.ps" tags: - "control systems" - "rule-based" - "case study" - "SDF" - "graph transformation" - "traversal" - "transformation language" - "term rewriting" - "composition" - "traversal combinators" - "graph-rewriting" - "rules" - "transformation system" - "rewriting" - "rewriting strategies" - "ASF+SDF" - "transformation" - "Stratego" researchr: "https://researchr.org/publication/LuttikV97" cites: 0 citedby: 0 booktitle: "2nd International Workshop on the Theory and Practice of Algebraic Specifications (ASF+SDF 1997)" editor: - name: "M. P. A. Sellink" link: "https://researchr.org/alias/m.-p.-a.-sellink" series: "Electronic Workshops in Computing" address: "Berlin" publisher: "Springer-Verlag" kind: "inproceedings" key: "LuttikV97" - title: "Stratego/XT 0.16: components for transformation systems" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Rob Vermaas" link: "https://researchr.org/profile/robvermaas/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "http://doi.acm.org/10.1145/1111542.1111558" abstract: "Stratego/XT is a language and toolset for program transformation. The Stratego language provides rewrite rules for expressing basic transformations, programmable rewriting strategies for controlling the application of rules, concrete syntax for expressing the patterns of rules in the syntax of the object language, and dynamic rewrite rules for expressing context-sensitive transformations, thus supporting the development of transformation components at a high level of abstraction. The XT toolset offers a collection of flexible, reusable transformation components, as well as declarative languages for deriving new components. Complete program transformation systems are composed from these components. In this paper we give an overview of Stratego/XT 0.16. " links: doi: "http://doi.acm.org/10.1145/1111542.1111558" successor: "https://researchr.org/publication/BravenboerKVV08" tags: - "control systems" - "programming languages" - "object-oriented programming" - "concrete object syntax" - "reusable components" - "rule-based" - "completeness" - "meta programming" - "pattern language" - "graph transformation" - "Stratego/XT" - "transformation language" - "reuse" - "graph-rewriting" - "rules" - "transformation system" - "subject-oriented programming" - "context-aware" - "abstraction" - "Meta-Environment" - "rewriting" - "rewriting strategies" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/BravenboerKVV06" cites: 0 citedby: 0 pages: "95-99" booktitle: "Proceedings of the 2006 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2006, Charleston, South Carolina, USA, January 9-10, 2006" editor: - name: "John Hatcliff" link: "http://people.cis.ksu.edu/~hatcliff/newweb/" - name: "Frank Tip" link: "http://domino.research.ibm.com/comm/research_people.nsf/pages/tip.index.html" publisher: "ACM" isbn: "1-59593-196-1" kind: "inproceedings" key: "BravenboerKVV06" - title: "CodeCrawler: an information visualization tool for program comprehension" author: - name: "Michele Lanza" link: "https://researchr.org/alias/michele-lanza" - name: "Stéphane Ducasse" link: "http://stephane.ducasse.free.fr/" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2005" doi: "http://doi.acm.org/10.1145/1062455.1062602" links: doi: "http://doi.acm.org/10.1145/1062455.1062602" tags: - "program comprehension" researchr: "https://researchr.org/publication/LanzaDGP05" cites: 0 citedby: 0 pages: "672-673" booktitle: "27th International Conference on Software Engineering (ICSE 2005), 15-21 May 2005, St. Louis, Missouri, USA" editor: - name: "Gruia-Catalin Roman" link: "https://researchr.org/alias/gruia-catalin-roman" - name: "William G. Griswold" link: "https://researchr.org/alias/william-g.-griswold" - name: "Bashar Nuseibeh" link: "https://researchr.org/alias/bashar-nuseibeh" publisher: "ACM" kind: "inproceedings" key: "LanzaDGP05" - title: "Reformulating Component Identification As Document Analysis Problem - Towards Automated Component Procurement" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Marco Lormans" link: "https://researchr.org/alias/marco-lormans" - name: "Jun Zhou" link: "https://researchr.org/alias/jun-zhou" year: "2007" tags: - "analysis" researchr: "https://researchr.org/publication/GrossLZ07%3A0" cites: 0 citedby: 0 pages: "111-116" booktitle: "ICSOFT 2007, Proceedings of the Second International Conference on Software and Data Technologies, Volume SE, Barcelona, Spain, July 22-25, 2007" editor: - name: "Joaquim Filipe" link: "https://researchr.org/alias/joaquim-filipe" - name: "Boris Shishkov" link: "https://researchr.org/alias/boris-shishkov" - name: "Markus Helfert" link: "https://researchr.org/alias/markus-helfert" publisher: "INSTICC Press" isbn: "978-989-8111-06-7" kind: "inproceedings" key: "GrossLZ07:0" - title: "Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax" author: - name: "Bernd Fischer" link: "http://www.ecs.soton.ac.uk/people/bf" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" doi: "https://doi.org/10.1007/978-3-540-25935-0_14" abstract: "AUTOBAYES is a fully automatic, schema-based program synthesis system for statistical data analysis applications. Its core component is a schema library, i.e., a collection of generic code templates with associated applicability constraints which are instantiated in a problem-specific way during synthesis. Currently, AUTOBAYE S is implemented in Prolog; the schemas thus use abstract syntax (i.e., Prolog terms) to formulate the templates. However, the conceptual distance between this abstract representation and the concrete syntax of the generated programs makes the schemas hard to create and maintain. In this paper we describe how AUTOBAYE S is retrofitted with concrete syn- tax. We show how it is integrated into Prolog and describe how the seamless interaction of concrete syntax fragments with AUTOBAYE S’s remaining “legacy” meta-programming kernel based on abstract syntax is achieved. We apply the approach to gradually migrate individual schemas without forcing a disruptive migration of the entire system to a different meta-programming language. First experiences show that a smooth migration can be achieved. Moreover, it can re- sult in a considerable reduction of the code size and improved readability of the code. In particular, abstracting out fresh-variable generation and second-order term construction allows the formulation of larger continuous fragments." links: doi: "https://doi.org/10.1007/978-3-540-25935-0_14" "technical report": "http://www.cs.uu.nl/research/techreps/UU-CS-2004-012.html" tags: - "programming languages" - "object-oriented programming" - "concrete object syntax" - "Prolog" - "rule-based" - "program analysis" - "meta programming" - "data-flow language" - "generic programming" - "program synthesis" - "AutoBayes" - "SDF" - "meta-model" - "XML" - "abstract syntax" - "XML Schema" - "Stratego/XT" - "analysis" - "constraints" - "data-flow programming" - "data-flow" - "migration" - "code generation" - "language embedding" - "programming" - "subject-oriented programming" - "Meta-Environment" - "data-flow analysis" - "systematic-approach" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "Stratego" researchr: "https://researchr.org/publication/FischerV04-dagstuhl" cites: 0 citedby: 0 pages: "239-253" booktitle: "Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers" editor: - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" volume: "3016" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22119-0" kind: "inproceedings" key: "FischerV04-dagstuhl" - title: "Adinda: A Knowledgable, Browser-Based IDE " author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Bas Cornelissen" link: "http://www.st.ewi.tudelft.nl/~cornel/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Anja Guzzi" link: "http://swerl.tudelft.nl/bin/view/Main/AnjaGuzzi" year: "2010" abstract: "In practice, many people have to work together to develop and maintain a software system. However, the programmer’s key tool, the Integrated Development Environment (IDE), is a solo-tool, serving to help individual programmers understand and modify the system. Such an IDE does not leverage the knowledge other team members may have of the design and implementation of the system. We propose to resolve this problem by exploring, experimentally, new ways of inferring knowledge from past IDE-interactions, and of maximizing collaboration among developers. Our approach, called ADINDA, revolves around transforming the IDE into a set of integrated services, accessible via a web browser, and enriched with Web 2.0 technologies. Such services will not only help developers perform traditional IDE tasks, but also facilitate the required informal communication and collaboration needs of software development projects. In this paper, we report on our vision, approach and challenges for building ADINDA, and initial results." links: "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2010-005.pdf" tags: - "interaction design" - "rule-based" - "web service" - "web services" - "Meta-Environment" - "design" - "systematic-approach" researchr: "https://researchr.org/publication/VanDeursen2010" cites: 0 citedby: 0 booktitle: "ICSE New Ideas and Emerging Results Track" kind: "inproceedings" key: "VanDeursen2010" - title: "Documenting software systems using types" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2006" doi: "http://dx.doi.org/10.1016/j.scico.2005.10.006" links: doi: "http://dx.doi.org/10.1016/j.scico.2005.10.006" tags: - "type system" researchr: "https://researchr.org/publication/DeursenM06" cites: 0 citedby: 0 journal: "Science of Computer Programming" volume: "60" number: "2" pages: "205-220" kind: "article" key: "DeursenM06" - title: "Web2SE: First Workshop on Web 2.0 for Software Engineering" author: - name: "Christoph Treude" link: "http://www.ctreude.ca" - name: "Margaret-Anne D. Storey" link: "http://" - name: "Kate Ehrlich" link: "https://researchr.org/alias/kate-ehrlich" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.acm.org/10.1145/1810295.1810427" abstract: "Social software is built around an \"architecture of participation\" where user data is aggregated as a side-effect of using Web 2.0 applications. Web 2.0 implies that processes and tools are socially open, and that content can be used in several different contexts. Web 2.0 tools and technologies support interactive information sharing, data interoperability and user centered design. For instance, wikis, blogs, tags and feeds help us organize, manage and categorize content in an informal and collaborative way. One goal of this workshop is to investigate how these technologies can improve software development practices. Some of these technologies have made their way into collaborative software development processes such as Agile and Scrum, and in development platforms such as Rational Team Concert which draw their inspiration from Web 2.0. These processes and environments are just scratching the surface of what can be done by incorporating Web 2.0 approaches and technologies into collaborative software development. This workshop aims to improve our understanding of how Web 2.0, manifested in technologies such as mashups or dashboards, can change the culture of collaborative software development." links: doi: "http://doi.acm.org/10.1145/1810295.1810427" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/TreudeSED10" tags: - "software architecture" - "tagging" - "architecture" - "social web" - "web engineering" - "data-flow" - "source-to-source" - "software engineering" - "wiki" - "web applications" - "context-aware" - "Meta-Environment" - "social" - "design" - "systematic-approach" - "open-source" researchr: "https://researchr.org/publication/TreudeSED10-0" cites: 0 citedby: 0 pages: "457-458" booktitle: "Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, ICSE 2010, Cape Town, South Africa, 1-8 May 2010" editor: - name: "Jeff Kramer" link: "https://researchr.org/alias/jeff-kramer" - name: "Judith Bishop" link: "https://researchr.org/alias/judith-bishop" - name: "Premkumar T. Devanbu" link: "https://researchr.org/alias/premkumar-t.-devanbu" - name: "Sebastián Uchitel" link: "https://researchr.org/alias/sebasti%C3%A1n-uchitel" publisher: "ACM" isbn: "978-1-60558-719-6" kind: "inproceedings" key: "TreudeSED10-0" - title: "Discovering faults in idiom-based exception handling" author: - name: "Magiel Bruntink" link: "https://researchr.org/alias/magiel-bruntink" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tom Tourwé" link: "https://researchr.org/alias/tom-tourw%C3%A9" year: "2006" doi: "http://doi.acm.org/10.1145/1134320" links: doi: "http://doi.acm.org/10.1145/1134320" tags: - "rule-based" - "exceptions" researchr: "https://researchr.org/publication/BruntinkDT06" cites: 0 citedby: 0 pages: "242-251" booktitle: "28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, May 20-28, 2006" editor: - name: "Leon J. Osterweil" link: "https://researchr.org/alias/leon-j.-osterweil" - name: "H. Dieter Rombach" link: "https://researchr.org/alias/h.-dieter-rombach" - name: "Mary Lou Soffa" link: "https://researchr.org/alias/mary-lou-soffa" publisher: "ACM" isbn: "1-59593-375-1" kind: "inproceedings" key: "BruntinkDT06" - title: "Scalability Solutions for Program Comprehension through Dynamic Analysis" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" year: "2006" month: "September" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/azaidmanPhD2006" cites: 0 citedby: 0 school: "University of Antwerp" kind: "phdthesis" key: "azaidmanPhD2006" - title: "Applying a Model-based Approach for Embedded System Development" author: - name: "Christian Bunse" link: "https://researchr.org/alias/christian-bunse" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Christian Peper" link: "https://researchr.org/alias/christian-peper" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/EUROMICRO.2007.18" links: doi: "http://doi.ieeecomputersociety.org/10.1109/EUROMICRO.2007.18" tags: - "rule-based" - "meta-model" - "model-driven development" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/BunseGP07" cites: 0 citedby: 0 pages: "121-128" booktitle: "33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA 2007), August 28-31, 2007, Lübeck, German" publisher: "IEEE Computer Society" kind: "inproceedings" key: "BunseGP07" - title: "Generalized Type-Based Disambiguation of Meta Programs with Concrete Object Syntax" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Rob Vermaas" link: "https://researchr.org/profile/robvermaas/publications" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2005" doi: "http://dx.doi.org/10.1007/11561347_12" abstract: "In meta programming with concrete object syntax, object-level programs are composed from fragments written in concrete syntax. The use of small program fragments in such quotations and the use of meta-level expressions within these fragments (anti-quotation) often leads to ambiguities. This problem is usually solved through explicit disambiguation, resulting in considerable syntactic overhead. A few systems manage to reduce this overhead by using type information during parsing. Since this is hard to achieve with traditional parsing technology, these systems provide specific combinations of meta and object languages, and their implementations are difficult to reuse. In this paper, we generalize these approaches and present a language independent method for introducing concrete object syntax without explicit disambiguation. The method uses scannerless generalized-LR parsing to parse meta programs with embedded object-level fragments, which produces a forest of all possible parses. This forest is reduced to a tree by a disambiguating type checker for the meta language. To validate our method we have developed embeddings of several object languages in Java, including AspectJ and Java itself. " links: doi: "http://dx.doi.org/10.1007/11561347_12" tags: - "programming languages" - "AspectJ" - "object-oriented programming" - "concrete object syntax" - "rule-based" - "Java" - "syntax definition" - "meta programming" - "SDF" - "meta-model" - "disambiguation" - "type system" - "reuse" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerVVV05" cites: 0 citedby: 2 pages: "157-172" booktitle: "Generative Programming and Component Engineering, 4th International Conference, GPCE 2005" editor: - name: "Robert Glück" link: "http://www.diku.dk/hjemmesider/ansatte/glueck/" - name: "Michael R. Lowry" link: "https://researchr.org/alias/michael-r.-lowry" volume: "3676" series: "Lecture Notes in Computer Science" address: "Tallinn, Estonia" publisher: "Springer" isbn: "3-540-29138-5" kind: "inproceedings" key: "BravenboerVVV05" - title: "Research Issues in the Renovation of Legacy Systems" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" year: "1999" researchr: "https://researchr.org/publication/DeursenKV99" cites: 0 citedby: 0 pages: "1-21" booktitle: "Fundamental Approaches to Software Engineering, Second Internationsl Conference, FASE 99, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 99, Amsterdam, The Netherlands, March 22-28, 1999, Proceedings" editor: - name: "Jean-Pierre Finance" link: "https://researchr.org/alias/jean-pierre-finance" volume: "1577" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-65718-5" kind: "inproceedings" key: "DeursenKV99" - title: "Identifying Crosscutting Concerns Using Fan-In Analysis" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2007" doi: "http://doi.acm.org/10.1145/1314493.1314496" links: doi: "http://doi.acm.org/10.1145/1314493.1314496" tags: - "object-oriented programming" - "aspect mining" - "analysis" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MarinDM07" cites: 0 citedby: 0 journal: "ACM Transactions on Software Engineering Methodology" volume: "17" number: "1" kind: "article" key: "MarinDM07" - title: "Analysing Software Repositories to Understand Software Evolution" author: - name: "Marco D Ambros" link: "https://researchr.org/alias/marco-d-ambros" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Michele Lanza" link: "https://researchr.org/alias/michele-lanza" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-76440-3_3" links: doi: "http://dx.doi.org/10.1007/978-3-540-76440-3_3" tags: - "software evolution" researchr: "https://researchr.org/publication/DAmbrosGLP08" cites: 0 citedby: 0 pages: "37-67" booktitle: "Software Evolution" editor: - name: "Tom Mens" link: "http://staff.umh.ac.be/Mens.Tom/" - name: "Serge Demeyer" link: "http://win.ua.ac.be/~sdemey/" publisher: "Springer" isbn: "978-3-540-76439-7" kind: "incollection" key: "DAmbrosGLP08" - title: "Model-driven migration of supervisory machine control architectures" author: - name: "Bas Graaf" link: "http://www.st.ewi.tudelft.nl/~basgraaf/" - name: "Sven Weber" link: "https://researchr.org/alias/sven-weber" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2008" doi: "http://dx.doi.org/10.1016/j.jss.2007.06.007" links: doi: "http://dx.doi.org/10.1016/j.jss.2007.06.007" tags: - "model-to-model transformation" - "software architecture" - "meta-model" - "ATL" - "architecture" - "source-to-source" - "migration" - "model transformation" - "Meta-Environment" - "transformation" researchr: "https://researchr.org/publication/GraafWD08" cites: 0 citedby: 0 journal: "Journal of Systems and Software" volume: "81" number: "4" pages: "517-535" kind: "article" key: "GraafWD08" - title: "Unifying Hardware and Software Components for Embedded System Development" author: - name: "Christian Bunse" link: "https://researchr.org/alias/christian-bunse" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" year: "2004" doi: "http://dx.doi.org/10.1007/11786160_7" links: doi: "http://dx.doi.org/10.1007/11786160_7" tags: - "software components" - "embedded software" - "software component" researchr: "https://researchr.org/publication/BunseG04" cites: 0 citedby: 0 pages: "120-136" booktitle: "Architecting Systems with Trustworthy Components, International Seminar, Dagstuhl Castle, Germany, December 12-17, 2004. Revised Selected Papers" editor: - name: "Ralf H. Reussner" link: "https://researchr.org/alias/ralf-h.-reussner" - name: "Judith A. Stafford" link: "https://researchr.org/alias/judith-a.-stafford" - name: "Clemens A. Szyperski" link: "https://researchr.org/alias/clemens-a.-szyperski" volume: "3938" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-35800-5" kind: "inproceedings" key: "BunseG04" - title: "Software deployment in a dynamic cloud: From device to service orientation in a hospital environment" author: - name: "Sander van der Burg" link: "http://www.st.ewi.tudelft.nl/~sander/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" year: "2009" month: "May" doi: "http://dx.doi.org/10.1109/CLOUD.2009.5071534" abstract: "Hospital environments are currently primarily device-oriented: software services are installed, often manually, on specific devices. For instance, an application to view MRI scans may only be available on a limited number of workstations. The medical world is changing to a service-oriented environment, which means that every software service should be available on every device. However, these devices have widely varying capabilities, ranging from powerful workstations to PDAs, and high-bandwidth local machines to low-bandwidth remote machines. To support running applications in such an environment, we need to treat the hospital machines as a cloud, where components of the application are automatically deployed to machines in the cloud with the required capabilities and connectivity. In this paper, we suggest an architecture for applications in such a cloud, in which components are reliably and automatically deployed on the basis of a declarative model of the application using the Nix package manager." links: doi: "http://dx.doi.org/10.1109/CLOUD.2009.5071534" tags: - "deployment" - "software architecture" - "software components" - "distributed deployment" - "meta-model" - "architecture" - "software deployment" - "Nix" - "software component" - "Meta-Environment" researchr: "https://researchr.org/publication/BurgDV09" cites: 0 citedby: 0 booktitle: "CLOUD '09: Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing" editor: - name: "Kamal Bhattacharya" link: "https://researchr.org/alias/kamal-bhattacharya" - name: "Martin Bichler" link: "https://researchr.org/alias/martin-bichler" - name: "Stefan Tai" link: "https://researchr.org/alias/stefan-tai" address: "Vancouver, Canada" publisher: "IEEE Computer Society" kind: "inproceedings" key: "BurgDV09" - title: "Trace visualization for program comprehension: A controlled experiment" author: - name: "Bas Cornelissen" link: "https://researchr.org/alias/bas-cornelissen" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Bart Van Rompaey" link: "https://researchr.org/alias/bart-van-rompaey" year: "2009" doi: "http://dx.doi.org/10.1109/ICPC.2009.5090033" links: doi: "http://dx.doi.org/10.1109/ICPC.2009.5090033" tags: - "program comprehension" researchr: "https://researchr.org/publication/CornelissenZDR09" cites: 0 citedby: 0 pages: "100-109" booktitle: "The 17th IEEE International Conference on Program Comprehension, ICPC 2009, Vancouver, British Columbia, Canada, May 17-19, 2009" publisher: "IEEE Computer Society" kind: "inproceedings" key: "CornelissenZDR09" - title: "Evaluating an Embedded Software Reference Architecture -- Industrial Experience Report" author: - name: "Bas Graaf" link: "http://www.st.ewi.tudelft.nl/~basgraaf/" - name: "Hylke W. van Dijk" link: "https://researchr.org/alias/hylke-w.-van-dijk" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2005" doi: "http://csdl.computer.org/comp/proceedings/csmr/2005/2304/00/23040354abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/csmr/2005/2304/00/23040354abs.htm" tags: - "software architecture" - "embedded software" - "architecture" researchr: "https://researchr.org/publication/GraafDD05" cites: 0 citedby: 0 pages: "354-363" booktitle: "9th European Conference on Software Maintenance and Reengineering (CSMR 2005), 21-23 March 2005, Manchester, UK, Proceedings" publisher: "IEEE Computer Society" isbn: "0-7695-2304-8" kind: "inproceedings" key: "GraafDD05" - title: "Towards a General Component Model for Web-Based Applications" author: - name: "Colin Atkinson" link: "https://researchr.org/alias/colin-atkinson" - name: "Christian Bunse" link: "https://researchr.org/alias/christian-bunse" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Thomas Kühne" link: "http://homepages.ecs.vuw.ac.nz/~tk/" year: "2002" tags: - "rule-based" - "web applications" researchr: "https://researchr.org/publication/AtkinsonBGK02" cites: 0 citedby: 0 journal: "Ann. Software Eng." volume: "13" number: "1-4" pages: "35-69" kind: "article" key: "AtkinsonBGK02" - title: "Building Interpreters with Rewriting Strategies" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1016/S1571-0661(04)80427-4" abstract: "Programming language semantics based on pure rewrite rules suffers from the gap between the rewriting strategy implemented in rewriting engines and the intended evaluation strategy. This paper shows how programmable rewriting strategies can be used to implement interpreters for programming languages based on rewrite rules. The advantage of this approach is that reduction rules are first class entities that can be reused in different strategies, even in other kinds of program transfor- mations such as optimizers. The approach is illustrated with several interpreters for the lambda calculus based on implicit and explicit (parallel) substitution, different strategies including normalization, eager evaluation, lazy evaluation, and lazy eval- uation with updates. An extension with pattern matching and choice shows that such interpreters can easily be extended." links: doi: "https://doi.org/10.1016/S1571-0661(04)80427-4" tags: - "laziness" - "programming languages" - "optimization" - "semantics" - "rule-based" - "pattern language" - "dynamic rewrite rules" - "interpreter" - "Stratego/XT" - "dynamic rules" - "parallel programming" - "reuse" - "graph-rewriting" - "rules" - "pattern matching" - "programming" - "program optimization" - "rewriting" - "systematic-approach" - "rewriting strategies" - "interpreters" - "Stratego" researchr: "https://researchr.org/publication/DolstraV02" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "65" number: "3" pages: "57-76" kind: "article" key: "DolstraV02" - title: "Relation of Code Clones and Change Couplings" author: - name: "Reto Geiger" link: "https://researchr.org/alias/reto-geiger" - name: "Beat Fluri" link: "https://researchr.org/alias/beat-fluri" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2006" doi: "http://dx.doi.org/10.1007/11693017_31" links: doi: "http://dx.doi.org/10.1007/11693017_31" researchr: "https://researchr.org/publication/GeigerFGP06" cites: 0 citedby: 0 pages: "411-425" booktitle: "Fundamental Approaches to Software Engineering, 9th International Conference, FASE 2006, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2006, Vienna, Austria, March 27-28, 2006, Proceedings" editor: - name: "Luciano Baresi" link: "https://researchr.org/alias/luciano-baresi" - name: "Reiko Heckel" link: "http://www.cs.le.ac.uk/people/rh122/" volume: "3922" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-33093-3" kind: "inproceedings" key: "GeigerFGP06" - title: "Weaving web applications with WebDSL: (demonstration)" author: - name: "Danny M. Groenewegen" link: "https://www.linkedin.com/in/dannygroenewegen/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://doi.acm.org/10.1145/1639950.1640020" abstract: "WebDSL is a domain-specific language for the development of web applications that integrates data-models, user-interface models, actions, validation, access control, and workflow. The compiler verifies the consistency of applications and generates complete implementations in Java or Python. We illustrate the key concepts of the language with a small web application." links: doi: "http://doi.acm.org/10.1145/1639950.1640020" tags: - "data validation" - "WebDSL" - "Java" - "completeness" - "data-flow language" - "meta-model" - "modeling language" - "modeling" - "language modeling" - "model-driven development" - "data-flow" - "weaving" - "compiler" - "web applications" - "consistency" - "Meta-Environment" - "access control" - "workflow" - "domain-specific language" researchr: "https://researchr.org/publication/GroenewegenV09-demo" cites: 0 citedby: 0 pages: "797-798" booktitle: "Companion to the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25-29, 2009, Orlando, Florida, USA" editor: - name: "Shail Arora" link: "https://researchr.org/alias/shail-arora" - name: "Gary T. Leavens" link: "https://researchr.org/alias/gary-t.-leavens" publisher: "ACM" isbn: "978-1-60558-768-4" kind: "inproceedings" key: "GroenewegenV09-demo" - title: "Program plan recognition for year 2000 tools" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Alex Quilici" link: "https://researchr.org/alias/alex-quilici" - name: "Steven Woods" link: "https://researchr.org/alias/steven-woods" year: "2000" researchr: "https://researchr.org/publication/DeursenQW00" cites: 0 citedby: 0 journal: "Science of Computer Programming" volume: "36" number: "2-3" pages: "303-324" kind: "article" key: "DeursenQW00" - title: "Automated Web Performance Analysis" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2008" doi: "http://dx.doi.org/10.1109/ASE.2008.95" links: doi: "http://dx.doi.org/10.1109/ASE.2008.95" tags: - "analysis" researchr: "https://researchr.org/publication/Pinzger08%3A0" cites: 0 citedby: 0 pages: "513-516" booktitle: "23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), 15-19 September 2008, L Aquila, Italy" publisher: "IEEE" kind: "inproceedings" key: "Pinzger08:0" - title: "A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2005" doi: "http://arxiv.org/abs/cs/0503015" note: "informal publication" links: doi: "http://arxiv.org/abs/cs/0503015" tags: - "refactoring" - "testing" - "systematic-approach" researchr: "https://researchr.org/publication/abs-cs-0503015" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/cs/0503015" kind: "article" key: "abs-cs-0503015" - title: "Using Filters for the Disambiguation of Context-free Grammars" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1994" month: "October" abstract: "An ambiguous context-free grammar defines a language in which some sentences have multiple interpretations. For conciseness, ambiguous context-free grammars are frequently used to define even completely unambiguous languages and numerous disambiguation methods exist for specifying which interpretation is the intended one for each sentence. The existing methods can be divided in `parser specific' methods that describe how some parsing technique deals with ambiguous sentences and `logical' methods that describe the intended interpretation without reference to a specific parsing technique. We propose a framework of \\em filters\\/ to describe and compare a wide range of disambiguation problems in a parser-independent way. A filter is a function that selects from a set of parse trees (the canonical representation of the interpretations of a sentence) the intended trees. The framework enables us to define several general properties of disambiguation methods. The expressive power of filters is illustrated by several case studies. Finally, a start is made with the study of efficient implementation techniques for filters by exploiting the commutativity of parsing steps and filter steps for certain classes of filters." links: technicalreport: "https://researchr.org/publication/KlintV94-P9426" tags: - "case study" - "disambiguation" - "context-aware" - "parsing" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/KlintV94" cites: 0 citedby: 0 booktitle: "Proceedings of the ASMICS Workshop on Parsing Theory" address: "Milano, Italy" publisher: "Tech. Rep. 126--1994, Dipartimento di Scienze dell'Informazione, Universit\\`a di Milano" kind: "inproceedings" key: "KlintV94" - title: "Fine-Grained Analysis of Change Couplings" author: - name: "Beat Fluri" link: "https://researchr.org/alias/beat-fluri" - name: "Harald C. Gall" link: "https://researchr.org/alias/harald-c.-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2005.14" links: doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2005.14" tags: - "analysis" - "C++" researchr: "https://researchr.org/publication/10.1109-SCAM.2005.14" cites: 0 citedby: 0 journal: "Source Code Analysis and Manipulation, IEEE International Workshop on" volume: "0" kind: "article" key: "10.1109-SCAM.2005.14" - title: "A component- and push-based architectural style for ajax applications" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2008" doi: "http://dx.doi.org/10.1016/j.jss.2008.04.005" links: doi: "http://dx.doi.org/10.1016/j.jss.2008.04.005" tags: - "rule-based" - "software architecture" - "software components" - "architecture" - "AJAX" - "software component" researchr: "https://researchr.org/publication/MesbahD08" cites: 0 citedby: 0 journal: "Journal of Systems and Software" volume: "81" number: "12" pages: "2194-2209" kind: "article" key: "MesbahD08" - title: "Entwicklung einer segmentbasierten Beschreibung von Ereignissen in Bildfolgen" author: - name: "U. Thönnessen" link: "https://researchr.org/alias/u.-th%C3%B6nnessen" - name: "D. Ernst" link: "https://researchr.org/alias/d.-ernst" - name: "H. Groß" link: "https://researchr.org/alias/h.-gro%C3%9F" year: "1991" researchr: "https://researchr.org/publication/ThonnessenEG91" cites: 0 citedby: 0 pages: "499-506" booktitle: "Mustererkennung 1991, 13. DAGM-Symposium, München, 9.-11. Oktober 1991, Proceedings" editor: - name: "Bernd Radig" link: "https://researchr.org/alias/bernd-radig" volume: "290" series: "Informatik-Fachberichte" publisher: "Springer" isbn: "3-540-54597-2" kind: "inproceedings" key: "ThonnessenEG91" - title: "Domain-specific language engineering" author: - name: "Eelco Visser" link: "https://researchr.org/alias/eelco-visser" year: "2007" links: successor: "https://researchr.org/publication/Visser07" tags: - "language engineering" - "domain-specific language" researchr: "https://researchr.org/publication/Visser1997-1" cites: 0 citedby: 2 booktitle: "Pre-Proceedings of the International Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2007)" address: "Braga, Portugal" organization: "Universidade do Minho" kind: "incollection" key: "Visser1997-1" - title: "Visualisation of Domain-Specific Modelling Languages Using UML" author: - name: "Bas Graaf" link: "http://www.st.ewi.tudelft.nl/~basgraaf/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://dx.doi.org/10.1109/ECBS.2007.77" links: doi: "http://dx.doi.org/10.1109/ECBS.2007.77" tags: - "modeling language" - "language modeling" - "UML" - "domain-specific language" researchr: "https://researchr.org/publication/GraafD07" cites: 0 citedby: 0 pages: "586-595" booktitle: "14th Annual IEEE International Conference and Workshop on Engineering of Computer Based Systems (ECBS 2007), 26-29 March 2007, Tucson, Arizona, USA" publisher: "IEEE Computer Society" isbn: "0-7695-2772-8" kind: "inproceedings" key: "GraafD07" - title: "researchr.org" author: - name: "Eelco Visser" link: "https://researchr.org/alias/eelco-visser" year: "2009" doi: "http://researchr.org" abstract: "Researchr is a web service for indexing, managing, and sharing bibliographic information of scientific publications for researchers by researchers." note: "Researchr is a web service for indexing, managing, and sharing bibliographic information of scientific publications for researchers by researchers." links: doi: "http://researchr.org" tags: - "bibliography" - "software" - "digital library" - "web service" - "web services" - "researchr" researchr: "https://researchr.org/publication/Visser%3A2009" cites: 0 citedby: 0 howpublished: "http://researchr.org" kind: "misc" key: "Visser:2009" - title: "Research Issues in the Automated Testing of Ajax Applications" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Ali Mesbah" link: "https://researchr.org/alias/ali-mesbah" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-11266-9_2" links: doi: "http://dx.doi.org/10.1007/978-3-642-11266-9_2" tags: - "AJAX" - "testing" researchr: "https://researchr.org/publication/DeursenM10" cites: 0 citedby: 0 pages: "16-28" booktitle: "SOFSEM 2010: Theory and Practice of Computer Science, 36th Conference on Current Trends in Theory and Practice of Computer Science, Spindleruv Mlýn, Czech Republic, January 23-29, 2010. Proceedings" editor: - name: "Jan van Leeuwen" link: "https://researchr.org/alias/jan-van-leeuwen" - name: "Anca Muscholl" link: "https://researchr.org/alias/anca-muscholl" - name: "David Peleg" link: "https://researchr.org/alias/david-peleg" - name: "Jaroslav Pokorný" link: "https://researchr.org/alias/jaroslav-pokorn%C3%A3%C2%BD" - name: "Bernhard Rumpe" link: "http://www.se-rwth.de/~rumpe/" volume: "5901" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-11265-2" kind: "inproceedings" key: "DeursenM10" - title: "Home Page" author: - name: "Eelco Visser" link: "https://researchr.org/alias/eelco-visser" researchr: "https://researchr.org/publication/homepages-00-5705" cites: 0 citedby: 0 kind: "misc" key: "homepages-00-5705" - title: "TUAnalyzer -- Analyzing Templates in C++ Code" author: - name: "Thomas Gschwind" link: "https://researchr.org/alias/thomas-gschwind" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2004" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.40" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.40" tags: - "C++" researchr: "https://researchr.org/publication/GschwindPG04" cites: 0 citedby: 0 pages: "48-57" booktitle: "11th Working Conference on Reverse Engineering (WCRE 2004), 8-12 November 2004, Delft, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-2243-2" kind: "inproceedings" key: "GschwindPG04" - title: "Syntax Definition for Language Prototyping" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "September" abstract: "Language prototyping is the activity of designing and testing definitions of new or existing computer languages. An important aspect of a language definition is the definition of its syntax. The subject of this thesis are new formalisms and techniques that support the development and prototyping of syntax definitions. There are four main subjects: (1) Techniques for parsing and disambiguation of context-free languages. (2) Design and implementation of a new syntax definition formalism. (3) Design of a multi-level algebraic specification formalism. (4) Study of polymorphic syntax definition. " tags: - "syntax definition" - "SDF" - "syntax definition formalism" - "disambiguation" - "testing" - "language design" - "graph-rewriting" - "algebraic specification" - " algebra" - "context-aware" - "rewriting" - "parsing" - "design" - "scannerless parsing" - "ASF+SDF" - "SGLR" researchr: "https://researchr.org/publication/Visser97" cites: 0 citedby: 6 school: "University of Amsterdam" advisor: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" kind: "phdthesis" key: "Visser97" - title: "Declarative Access Control for WebDSL: Combining Language Integration and Separation of Concerns" author: - name: "Danny M. Groenewegen" link: "https://www.linkedin.com/in/dannygroenewegen/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1109/ICWE.2008.15" abstract: "In this paper, we present the extension of WebDSL, a domain-specific language for web application development, with abstractions for declarative definition of access control. The extension supports the definition of a wide range of access control policies concisely and transparently as a separate concern. In addition to regulating the access to pages and actions, access control rules are used to infer navigation options not accessible to the current user, preventing the presentation of inaccessible links. The extension is an illustration of a general approach to the design of domain-specific languages for different technical domains to support separation of concerns in application development, while preserving linguistic integration. This approach is realized by means of a transformational semantics that weaves separately defined aspects into an integrated implementation. " links: doi: "http://dx.doi.org/10.1109/ICWE.2008.15" "webdsl": "http://webdsl.org" tags: - "WebDSL" - "semantics" - "rule-based" - "separation of concerns" - "transformation language" - " action semantics" - "language design" - "weaving" - "rules" - "web applications" - "DSL" - "abstraction" - "access control policies" - "access control" - "aspect weaving" - "design" - "role-based access control" - "systematic-approach" - "transformation" - "domain-specific language" researchr: "https://researchr.org/publication/GroenewegenV08" cites: 26 citedby: 7 pages: "175-188" booktitle: "Proceedings of the Eighth International Conference on Web Engineering, ICWE 2008, 14-18 July 2008, Yorktown Heights, New York, USA" editor: - name: "Daniel Schwabe" link: "https://researchr.org/alias/daniel-schwabe" - name: "Francisco Curbera" link: "https://researchr.org/alias/francisco-curbera" - name: "Paul Dantzig" link: "https://researchr.org/alias/paul-dantzig" publisher: "IEEE" isbn: "978-0-7695-3261-5" kind: "inproceedings" key: "GroenewegenV08" - title: "Heterogeneous Coupled Evolution of Software Languages" author: - name: "Sander Vermolen" link: "http://www.sandervermolen.nl" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-87875-9_44" abstract: "As most software artifacts, meta-models can evolve. Their evolution requires conforming models to co-evolve along with them. Coupled evolution supports this. Its applicability is not limited to the modeling domain. Other domains are for example evolving grammars or database schemas. Existing approaches to coupled evolution focus on a single, homogeneous domain. They solve the co-evolution problems locally and repeatedly. In this paper we present a systematic, heterogeneous approach to coupled evolution. It provides an automatically derived domain specific transformation language; a means of executing transformations at the top level; a derivation of the coupled bottom level transformation; and it allows for generic abstractions from elementary transformations. The feasibility of the architecture is evaluated by applying it to data model evolution." links: doi: "http://dx.doi.org/10.1007/978-3-540-87875-9_44" tags: - "model-to-model transformation" - "software architecture" - "coupled" - "data-flow language" - "meta-model" - "XML" - "evolution" - "modeling language" - "heterogeneous" - "XML Schema" - "languages" - "modeling" - "transformation language" - "coupled evolution" - "architecture" - "language modeling" - "model" - "data-flow" - "software evolution" - "format evolution" - "source-to-source" - "model transformation" - "database" - "abstraction" - "software languages" - "Meta-Environment" - "systematic-approach" - "meta-objects" - "transformation" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/VermolenV08" cites: 0 citedby: 3 pages: "630-644" booktitle: "Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings" editor: - name: "Krzysztof Czarnecki" link: "http://www.swen.uwaterloo.ca/~kczarnec/" - name: "Ileana Ober" link: "https://researchr.org/alias/ileana-ober" - name: "Jean-Michel Bruel" link: "https://researchr.org/alias/jean-michel-bruel" - name: "Axel Uhl" link: "https://researchr.org/alias/axel-uhl" - name: "Markus Völter" link: "http://www.voelter.de/" volume: "5301" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-87874-2" kind: "inproceedings" key: "VermolenV08" - title: "Performance Testing of Data Delivery Techniques for AJAX Applications" author: - name: "Engin Bozdag" link: "http://www.st.ewi.tudelft.nl/~engin/" - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2009" doi: "http://www.rintonpress.com/journals/jwe/abstractsJWE8-4.html" links: doi: "http://www.rintonpress.com/journals/jwe/abstractsJWE8-4.html" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/jwe/BozdagMD09" tags: - "AJAX" - "testing" - "data-flow" researchr: "https://researchr.org/publication/BozdagMD09" cites: 0 citedby: 0 journal: "J. Web Eng." volume: "8" number: "4" pages: "287-315" kind: "article" key: "BozdagMD09" - title: "When Frameworks Let You Down. Platform-Imposed Constraints on the Design and Evolution of Domain-Specific Languages" author: - name: "Danny M. Groenewegen" link: "https://www.linkedin.com/in/dannygroenewegen/" - name: "Zef Hemel" link: "http://zef.me" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" month: "October" abstract: "Application frameworks encapsulate domain knowledge in a reusable library, providing abstractions for a particular domain. As such, they can form the basis for domain-specific languages, which may offer notational constructs, static analysis, and optimizations specific for the domain. Additional abstractions can be incrementally added on top of a domain-specific, following an inductive approach towards its design, evolving the language as new domain insights are acquired. A problem arises when such additions do not align well with the underlying framework. In this paper, we provide different examples of this problem and describe scenarios of dealing with it." links: "technical report": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-039.pdf" tags: - "framework" - "optimization" - "WebDSL" - "application framework" - "domain analysis" - "analysis" - "language design" - "static analysis" - "constraints" - "reuse" - "software evolution" - "C++" - "DSL" - "abstraction" - "incremental" - "design" - "systematic-approach" - "domain-specific language" researchr: "https://researchr.org/publication/GroenewegenHKV08-DSM" cites: 0 citedby: 2 booktitle: "Proceedings of the 8th OOPSLA Workshop on Domain Specific Modelling (DSM'08)" editor: - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" - name: "Jonathan Sprinkle" link: "https://researchr.org/alias/jonathan-sprinkle" - name: "Juha-Pekka Tolvanen" link: "http://www.metacase.com/jpt.html" - name: "Matti Rossi" link: "https://researchr.org/alias/matti-rossi" address: "Nashville, Tennessee, USA" kind: "inproceedings" key: "GroenewegenHKV08-DSM" - title: "Program Transformation with Scoped Dynamic Rewrite Rules" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Arthur van Dam" link: "https://researchr.org/profile/arthurvandam/publications" - name: "Karina Olmos" link: "https://researchr.org/profile/karinaolmos/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06" abstract: "The applicability of term rewriting to program transformation is limited by the lack of control over rule application and by the context-free nature of rewrite rules. The first problem is addressed by languages supporting user-definable rewriting strategies. The second problem is addressed by the extension of rewriting strategies with scoped dynamic rewrite rules. Dynamic rules are defined at run-time and can access variables available from their definition context. Rules defined within a rule scope are automatically retracted at the end of that scope. In this paper, we explore the design space of dynamic rules, and their application to transformation problems. The technique is formally defined by extending the operational semantics underlying the program transformation language Stratego, and illustrated by means of several program transformations in Stratego, including constant propagation, bound variable renaming, dead code elimination, function inlining, and function specialization. " links: doi: "https://content.iospress.com/articles/fundamenta-informaticae/fi69-1-2-06" "technical report": "http://www.cs.uu.nl/research/techreps/UU-CS-2005-005.html" tags: - "programming languages" - "semantics" - "rule-based" - "formal semantics" - "graph transformation" - "dynamic rewrite rules" - "Stratego/XT" - "transformation language" - "term rewriting" - "language design" - "graph-rewriting" - "rules" - "operational semantics" - "context-aware" - "access control" - "rewriting" - "design" - "role-based access control" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/BravenboerDOV06" cites: 0 citedby: 4 journal: "Fundamenta Informaticae" volume: "69" number: "1-2" pages: "123-178" kind: "article" key: "BravenboerDOV06" - title: "A Tool for Visual Understanding of Source Code Dependencies" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Katja Grafenhain" link: "https://researchr.org/alias/katja-grafenhain" - name: "Patrick Knab" link: "https://researchr.org/alias/patrick-knab" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2008" doi: "http://dx.doi.org/10.1109/ICPC.2008.23" links: doi: "http://dx.doi.org/10.1109/ICPC.2008.23" tags: - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/PinzgerGKG08" cites: 0 citedby: 0 pages: "254-259" booktitle: "The 16th IEEE International Conference on Program Comprehension, ICPC 2008, Amsterdam, The Netherlands, June 10-13, 2008" 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: "inproceedings" key: "PinzgerGKG08" - title: "An industrial case study in reconstructing requirements views" author: - name: "Marco Lormans" link: "http://www.st.ewi.tudelft.nl/~lormans/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" year: "2008" doi: "http://dx.doi.org/10.1007/s10664-008-9078-4" links: doi: "http://dx.doi.org/10.1007/s10664-008-9078-4" tags: - "lsi" - "case study" - "information retrieval" - "requirements management" - "traceability" researchr: "https://researchr.org/publication/LormansDG08" cites: 0 citedby: 0 journal: "Empirical Software Engineering" volume: "13" number: "6" pages: "727-760" kind: "article" key: "LormansDG08" - title: "Home Page" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" researchr: "https://researchr.org/publication/homepages-d-ArievanDeursen" cites: 0 citedby: 0 howpublished: "http://www.st.ewi.tudelft.nl/~arie/" kind: "misc" key: "homepages-d-ArievanDeursen" - title: "Parse Table Composition" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_6" abstract: "Module systems, separate compilation, deployment of binary components, and dynamic linking have enjoyed wide acceptance in programming languages and systems. In contrast, the syntax of languages is usually defined in a non-modular way, cannot be compiled separately, cannot easily be combined with the syntax of other languages, and cannot be deployed as a component for later composition. Grammar formalisms that do support modules use whole program compilation. Current extensible compilers focus on source-level extensibility, which requires users to compile the compiler with a specific configuration of extensions. A compound parser needs to be generated for every combination of extensions. The generation of parse tables is expensive, which is a particular problem when the composition configuration is not fixed to enable users to choose language extensions. In this paper we introduce an algorithm for parse table composition to support separate compilation of grammars to parse table components. Parse table components can be composed (linked) efficiently at runtime, i.e. just before parsing. While the worst-case time complexity of parse table composition is exponential (like the complexity of parse table generation itself), for realistic language combination scenarios involving grammars for real languages, our parse table composition algorithm is an order of magnitude faster than computation of the parse table for the combined grammars. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00434-6_6" tags: - "parsing algorithm" - "programming languages" - "deployment" - "syntax definition" - "SDF" - "composition" - "source-to-source" - "parse table composition" - "compiler" - "programming" - "language composition" - "parsing" - "extensible language" - "ASF+SDF" - "open-source" - "grammar" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV08" cites: 0 citedby: 0 pages: "74-94" booktitle: "Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers" 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: "inproceedings" key: "BravenboerV08" - title: "Workshop on Program Comprehension Through Dynamic Analysis (PCODA 08)" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Abdelwahab Hamou-Lhadj" link: "https://researchr.org/alias/abdelwahab-hamou-lhadj" - name: "Orla Greevy" link: "https://researchr.org/alias/orla-greevy" - name: "David Röthlisberger" link: "https://researchr.org/alias/david-r%C3%B6thlisberger" year: "2008" doi: "http://dx.doi.org/10.1109/WCRE.2008.21" links: doi: "http://dx.doi.org/10.1109/WCRE.2008.21" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/ZaidmanHGR08" cites: 0 citedby: 0 pages: "345-346" booktitle: "WCRE 2008, Proceedings of the 15th Working Conference on Reverse Engineering, Antwerp, Belgium, October 15-18, 2008" publisher: "IEEE" kind: "inproceedings" key: "ZaidmanHGR08" - title: "Crawling AJAX by Inferring User Interface State Changes" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Engin Bozdag" link: "http://www.st.ewi.tudelft.nl/~engin/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2008" doi: "http://dx.doi.org/10.1109/ICWE.2008.24" links: doi: "http://dx.doi.org/10.1109/ICWE.2008.24" tags: - "AJAX" researchr: "https://researchr.org/publication/MesbahBD08" cites: 0 citedby: 0 pages: "122-134" booktitle: "Proceedings of the Eighth International Conference on Web Engineering, ICWE 2008, 14-18 July 2008, Yorktown Heights, New York, USA" editor: - name: "Daniel Schwabe" link: "https://researchr.org/alias/daniel-schwabe" - name: "Francisco Curbera" link: "https://researchr.org/alias/francisco-curbera" - name: "Paul Dantzig" link: "https://researchr.org/alias/paul-dantzig" publisher: "IEEE" isbn: "978-0-7695-3261-5" kind: "inproceedings" key: "MesbahBD08" - title: "Nix: A Safe and Policy-Free System for Software Deployment" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2004" doi: "http://www.usenix.org/publications/library/proceedings/lisa04/tech/dolstra.html" abstract: "Existing systems for software deployment are neither safe nor sufficiently flexible. Primary safety issues are the inability to enforce reliable specification of component dependencies, and the lack of support for multiple versions or variants of a component. This renders deployment operations such as upgrading or deleting components dangerous and unpredictable. A deployment system must also be flexible (i.e., policy-free) enough to support both centralised and local package management, and to allow a variety of mechanisms for transferring components. In this paper we present Nix, a deployment system that addresses these issues through a simple technique of using cryptographic hashes to compute unique paths for component instances." links: doi: "http://www.usenix.org/publications/library/proceedings/lisa04/tech/dolstra.html" tags: - "deployment" - "software components" - "software deployment" - "Nix" - "software component" researchr: "https://researchr.org/publication/DolstraJV04" cites: 0 citedby: 0 pages: "79-92" booktitle: "Proceedings of the 18th Conference on Systems Administration (LISA 2004), Atlanta, USA, November 14-19, 2004" publisher: "USENIX" kind: "inproceedings" key: "DolstraJV04" - title: "Fusing Logic and Control with Local Transformations: An Example Optimization" author: - name: "Patricia Johann" link: "http://personal.cis.strath.ac.uk/~patricia/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)00271-3" abstract: "Abstract programming supports the separation of logical concerns from issues of control in program construction. While this separation of concerns leads to reduced code size and increased reusability of code, its main disadvantage is the computa- tional overhead it incurs. Fusion techniques can be used to combine the reusability of abstract programs with the efficiency of specialized programs. In this paper we illustrate some of the ways in which rewriting strategies can be used to separate the definition of program transformation rules from the strategies under which they are applied. Doing so supports the generic definition of program transformation components. Fusion techniques for strategies can then be used to specialize such generic components. We show how the generic innermost rewriting strategy can be optimized by fusing it with the rules to which it is applied. Both the optimization and the programs to which the optimization applies are specified in the strategy language Stratego. The optimization is based on small transformation rules that are applied locally under the control of strategies, using special knowledge about the contexts in which the rules are applied. " links: doi: "https://doi.org/10.1016/S1571-0661(04)00271-3" tags: - "programming languages" - "optimization" - "reusable components" - "rule-based" - "generic programming" - "graph transformation" - "separation of concerns" - "Stratego/XT" - "transformation language" - "term rewriting" - "reuse" - "graph-rewriting" - "rules" - "logic programming" - "programming" - "context-aware" - "logic" - "program optimization" - "innermost rewriting" - "rewriting logic" - "rewriting" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/JohannV01" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "57" pages: "144-162" kind: "article" key: "JohannV01" - title: "Crosscutting Concerns in J2EE Applications" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/WSE.2005.4" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WSE.2005.4" tags: - "object-oriented programming" - "aspect mining" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/MesbahD05" cites: 0 citedby: 0 pages: "14-21" booktitle: "Seventh IEEE International Workshop on Web Site Evolution (WSE 2005), 26 September 2005, Budapest, Hungary" publisher: "IEEE Computer Society" isbn: "0-7695-2470-2" kind: "inproceedings" key: "MesbahD05" - title: "A Systematic Survey of Program Comprehension through Dynamic Analysis" author: - name: "Bas Cornelissen" link: "http://www.st.ewi.tudelft.nl/~cornel/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Koschke, Rainer" link: "https://researchr.org/alias/koschke%2C-rainer" year: "2009" doi: "http://dx.doi.org/10.1109/TSE.2009.28" abstract: "Program comprehension is an important activity in software maintenance, as software must be sufficiently understood before it can be properly modified. The study of a program's execution, known as dynamic analysis, has become a common technique in this respect and has received substantial attention from the research community, particularly over the last decade. These efforts have resulted in a large research body of which currently there exists no comprehensive overview. This paper reports on a systematic literature survey aimed at the identification and structuring of research on program comprehension through dynamic analysis. From a research body consisting of 4,795 articles published in 14 relevant venues between July 1999 and June 2008 and the references therein, we have systematically selected 176 articles and characterized them in terms of four main facets: activity, target, method, and evaluation. The resulting overview offers insight in what constitutes the main contributions of the field, supports the task of identifying gaps and opportunities, and has motivated our discussion of several important research directions that merit additional consideration in the near future." links: doi: "http://dx.doi.org/10.1109/TSE.2009.28" "url": "http://doi.ieeecomputersociety.org/10.1109/TSE.2009.28" "url": "http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4815280" tags: - "program comprehension" - "program analysis" - "literature review" - "analysis" - "maintenance" - "survey" - "dynamic analysis" - "systematic-approach" - "systematic review" researchr: "https://researchr.org/publication/Cornelissen%3A2009" cites: 0 citedby: 1 journal: "IEEE Trans. Software Eng." volume: "99" number: "2" kind: "article" key: "Cornelissen:2009" - title: "Migrating Multi-page Web Applications to Single-page AJAX Interfaces" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.33" links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2007.33" tags: - "AJAX" - "migration" - "web applications" researchr: "https://researchr.org/publication/MesbahD07" cites: 0 citedby: 0 pages: "181-190" booktitle: "11th European Conference on Software Maintenance and Reengineering, Software Evolution in Complex Software Intensive Systems, CSMR 2007, 21-23 March 2007, Amsterdam, The Netherlands" editor: - name: "René L. Krikhaar" link: "https://researchr.org/alias/ren%C3%A9-l.-krikhaar" - name: "Chris Verhoef" link: "http://www.cs.vu.nl/~x/" - name: "Giuseppe A. Di Lucca" link: "https://researchr.org/alias/giuseppe-a.-di-lucca" publisher: "IEEE Computer Society" isbn: "0-7695-2802-3" kind: "inproceedings" key: "MesbahD07" - title: "Domain-Specific Languages versus Object-Oriented Frameworks: A Financial Engineering Case Study" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "1997" abstract: "The use of a domain-specific language can help to develop readable and maintainable applications in that domain with little effort. Alternatively, the same aims can be achieved by setting up an object-oriented framework. For the domain of financial engineering, independently both an object-oriented framework and a domain-specific language have been developed. We use this opportunity to contrast these two, to highlight the differences and to discuss opportunities for mutual benefits. " tags: - "application framework" - "case study" - "language engineering" - "little language" - "Meta-Environment" - "meta-objects" - "domain-specific language" researchr: "https://researchr.org/publication/Deursen97" cites: 0 citedby: 1 booktitle: "Proceedings Smalltalk and Java in Industry and Academia, STJA'97" organization: "Ilmenau Technical University" kind: "inproceedings" key: "Deursen97" - title: "Improving Fact Extraction of Framework-Based Software Systems" author: - name: "Jens Knodel" link: "https://researchr.org/alias/jens-knodel" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/wcre/2003/2027/00/20270186abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/wcre/2003/2027/00/20270186abs.htm" tags: - "rule-based" researchr: "https://researchr.org/publication/KnodelP03" cites: 0 citedby: 0 pages: "186-195" booktitle: "10th Working Conference on Reverse Engineering (WCRE 2003), 13-16 November 2003, Victoria, Canada" editor: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Eleni Stroulia" link: "https://researchr.org/alias/eleni-stroulia" - name: "Margaret-Anne D. Storey" link: "http://" publisher: "IEEE Computer Society" isbn: "0-7695-2027-8" kind: "inproceedings" key: "KnodelP03" - title: "Panel Introducion" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Timothy Lethbridge" link: "https://researchr.org/alias/timothy-lethbridge" - name: "Perdita Stevens" link: "http://homepages.inf.ed.ac.uk/perdita/" year: "2002" doi: "http://computer.org/proceedings/icsm/1819/18190248abs.htm" links: doi: "http://computer.org/proceedings/icsm/1819/18190248abs.htm" researchr: "https://researchr.org/publication/DeursenLS02" cites: 0 citedby: 0 pages: "248" booktitle: "18th International Conference on Software Maintenance (ICSM 2002), Maintaining Distributed Heterogeneous Systems, 3-6 October 2002, Montreal, Quebec, Canada" publisher: "IEEE Computer Society" isbn: "0-7695-1819-2" kind: "inproceedings" key: "DeursenLS02" - title: "Visualizing multiple evolution metrics" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Michael Fischer" link: "https://researchr.org/alias/michael-fischer" - name: "Michele Lanza" link: "https://researchr.org/alias/michele-lanza" year: "2005" doi: "http://doi.acm.org/10.1145/1056018.1056027" links: doi: "http://doi.acm.org/10.1145/1056018.1056027" researchr: "https://researchr.org/publication/PinzgerGFL05" cites: 0 citedby: 0 pages: "67-75" booktitle: "Proceedings of the ACM 2005 Symposium on Software Visualization, St. Louis, Missouri, USA, May 14-15, 2005" editor: - name: "Thomas L. Naps" link: "https://researchr.org/alias/thomas-l.-naps" - name: "Wim De Pauw" link: "https://researchr.org/alias/wim-de-pauw" publisher: "ACM" isbn: "1-59593-073-6" kind: "inproceedings" key: "PinzgerGFL05" - title: "Transformations for Abstractions" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2005" month: "October" doi: "http://dx.doi.org/10.1109/SCAM.2005.26" abstract: "The transformation language Stratego provides high-level abstractions for implementation of a wide range of transformations. Our aim is to integrate transformation in the software development process and make it available to programmers. This requires the transformations provided by the programming environment to be extensible. This paper presents a case study in the implementation of extensible programming environments using Stratego, by developing a small collection of language extensions and several typical transformations for these languages." links: doi: "http://dx.doi.org/10.1109/SCAM.2005.26" "pdf": "http://www.cs.uu.nl/research/techreps/repo/CS-2005/2005-034.pdf" "technical report": "http://www.cs.uu.nl/research/techreps/UU-CS-2005-034.html" "doi": "http://dx.doi.org/10.1109/SCAM.2005.26" tags: - "programming languages" - "meta programming" - "case study" - "Stratego/XT" - "transformation language" - "extensible languages" - "programming" - "abstraction" - "Meta-Environment" - "extensible language" - "interpreters" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser05-SCAM" cites: 0 citedby: 1 booktitle: "5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2005), 30 September - 1 October 2005, Budapest, Hungary" publisher: "IEEE Computer Society" isbn: "0-7695-2292-0" kind: "inproceedings" key: "Visser05-SCAM" - title: "Introduction" author: - name: "Rick Kazman" link: "https://researchr.org/alias/rick-kazman" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Rainer Koschke" link: "http://www.informatik.uni-bremen.de/~koschke/" year: "2006" doi: "http://dx.doi.org/10.1007/s10515-006-7735-7" links: doi: "http://dx.doi.org/10.1007/s10515-006-7735-7" researchr: "https://researchr.org/publication/KazmanDK06" cites: 0 citedby: 0 journal: "Automated Software Engineering" volume: "13" number: "2" pages: "199-200" kind: "article" key: "KazmanDK06" - title: "Workshop on Program Comprehension through Dynamic Analysis (PCODA10)" author: - name: "Abdelwahab Hamou-Lhadj" link: "https://researchr.org/alias/abdelwahab-hamou-lhadj" - name: "David Röthlisberger" link: "https://researchr.org/alias/david-r%C3%B6thlisberger" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Orla Greevy" link: "https://researchr.org/alias/orla-greevy" year: "2010" doi: "http://dx.doi.org/10.1109/WCRE.2010.40" links: doi: "http://dx.doi.org/10.1109/WCRE.2010.40" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/wcre/Hamou-LhadjRZG10" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/Hamou-LhadjRZG10" cites: 0 citedby: 0 pages: "279-280" booktitle: "17th Working Conference on Reverse Engineering, WCRE 2010, 13-16 October 2010, Beverly, MA, USA" editor: - name: "Giuliano Antoniol" link: "https://researchr.org/alias/giuliano-antoniol" - name: "Martin Pinzger" link: "https://researchr.org/alias/martin-pinzger" - name: "Elliot J. Chikofsky" link: "https://researchr.org/alias/elliot-j.-chikofsky" publisher: "IEEE Computer Society" isbn: "978-0-7695-4123-5" kind: "inproceedings" key: "Hamou-LhadjRZG10" - title: "Automated web performance analysis, with a special focus on prediction" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2008" doi: "http://doi.acm.org/10.1145/1497308.1497405" links: doi: "http://doi.acm.org/10.1145/1497308.1497405" tags: - "analysis" researchr: "https://researchr.org/publication/Pinzger08" cites: 0 citedby: 0 pages: "539-542" booktitle: "iiWAS 2008 - The Tenth International Conference on Information Integration and Web-based Applications Services, 24-26 November 2008, Linz, Austria" editor: - name: "Gabriele Kotsis" link: "https://researchr.org/alias/gabriele-kotsis" - name: "David Taniar" link: "https://researchr.org/alias/david-taniar" - name: "Eric Pardede" link: "https://researchr.org/alias/eric-pardede" - name: "Ismail Khalil Ibrahim" link: "https://researchr.org/alias/ismail-khalil-ibrahim" publisher: "ACM" isbn: "978-1-60558-349-5" kind: "inproceedings" key: "Pinzger08" - title: "A common framework for aspect mining based on crosscutting concern sorts" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.6" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.6" tags: - "rule-based" researchr: "https://researchr.org/publication/MarinMD06" cites: 0 citedby: 0 pages: "29-38" booktitle: "13th Working Conference on Reverse Engineering (WCRE 2006), 23-27 October 2006, Benevento, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2719-1" kind: "inproceedings" key: "MarinMD06" - title: "Model-Based Built-In Tests" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Ina Schieferdecker" link: "https://researchr.org/alias/ina-schieferdecker" - name: "George Din" link: "https://researchr.org/alias/george-din" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2004.12.001" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.12.001" tags: - "rule-based" - "meta-model" - "testing" - "Meta-Environment" researchr: "https://researchr.org/publication/GrossSD05" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "111" pages: "161-182" kind: "article" key: "GrossSD05" - title: "Stratego/XT 0.17. A language and toolset for program transformation" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Rob Vermaas" link: "https://researchr.org/profile/robvermaas/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1016/j.scico.2007.11.003" abstract: "Stratego/XT is a language and toolset for program transformation. The Stratego language provides rewrite rules for expressing basic transformations, programmable rewriting strategies for controlling the application of rules, concrete syntax for expressing the patterns of rules in the syntax of the object language, and dynamic rewrite rules for expressing context-sensitive transformations, thus supporting the development of transformation components at a high level of abstraction. The XT toolset offers a collection of flexible, reusable transformation components, and tools for generating such components from declarative specifications. Complete program transformation systems are composed from these components." links: doi: "http://dx.doi.org/10.1016/j.scico.2007.11.003" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-011.pdf" "stratego/xt": "http://strategoxt.org" tags: - "control systems" - "programming languages" - "object-oriented programming" - "concrete object syntax" - "reusable components" - "rule-based" - "completeness" - "meta programming" - "pattern language" - "graph transformation" - "Stratego/XT" - "transformation language" - "reuse" - "graph-rewriting" - "rules" - "transformation system" - "DSL" - "programming" - "subject-oriented programming" - "context-aware" - "abstraction" - "Meta-Environment" - "rewriting" - "rewriting strategies" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/BravenboerKVV08" cites: 0 citedby: 7 journal: "Science of Computer Programming" volume: "72" number: "1-2" pages: "52-70" kind: "article" key: "BravenboerKVV08" - title: "Source model analysis using the JJTraveler visitor combinator framework" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2004" doi: "http://dx.doi.org/10.1002/spe.616" abstract: "Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs, or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in different constellations to build more complex visitors. We evaluate the expressiveness, reusability, ease of development, and applicability of visitor combinators to the construction of program understanding tools. To that end, we conduct a case study in the use of visitor combinators for control-flow analysis and visualization as used in a commercial Cobol program understanding tool." links: doi: "http://dx.doi.org/10.1002/spe.616" tags: - "source code analysis" - "object-oriented programming" - "program analysis" - "meta programming" - "generic programming" - "case study" - "meta-model" - "abstract syntax" - "visitor" - "points-to analysis" - "analysis" - "reuse" - "data-flow programming" - "model-driven development" - "data-flow" - "source-to-source" - "graph-rewriting" - "object-role modeling" - "programming" - "subject-oriented programming" - "Meta-Environment" - "rewriting" - "data-flow analysis" - "Cobol" - "design" - "feature-oriented programming" - "open-source" researchr: "https://researchr.org/publication/DeursenV04" cites: 0 citedby: 0 journal: "Software: Practice and Experience" volume: "34" number: "14" pages: "1345-1379" kind: "article" key: "DeursenV04" - title: "A common framework for aspect mining based on crosscutting concern sorts" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://drops.dagstuhl.de/opus/volltexte/2007/882" links: doi: "http://drops.dagstuhl.de/opus/volltexte/2007/882" tags: - "rule-based" researchr: "https://researchr.org/publication/MarinMD06%3A0" cites: 0 citedby: 0 booktitle: "Aspects For Legacy Applications, 26.07. - 29.07.2006" editor: - name: "Siobhán Clarke" link: "https://www.cs.tcd.ie/Siobhan.Clarke/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Ganesan Ramalingam" link: "http://research.microsoft.com/en-us/um/people/grama/" volume: "06302" series: "Dagstuhl Seminar Proceedings" publisher: "Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany" kind: "inproceedings" key: "MarinMD06:0" - title: "Towards an Integrated View on Architecture and its Evolution" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Michael Fischer" link: "https://researchr.org/alias/michael-fischer" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.043" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.08.043" tags: - "architecture" researchr: "https://researchr.org/publication/PinzgerGF05" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "127" number: "3" pages: "183-196" kind: "article" key: "PinzgerGF05" - title: "Symphony: View-Driven Software Architecture Reconstruction" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Christine Hofmeister" link: "https://researchr.org/alias/christine-hofmeister" - name: "Rainer Koschke" link: "http://www.informatik.uni-bremen.de/~koschke/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Claudio Riva" link: "https://researchr.org/alias/claudio-riva" year: "2004" doi: "http://csdl.computer.org/comp/proceedings/wicsa/2004/2172/00/21720122abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/wicsa/2004/2172/00/21720122abs.htm" tags: - "software architecture" - "architecture" researchr: "https://researchr.org/publication/DeursenHKMR04" cites: 0 citedby: 0 pages: "122-134" booktitle: "4th Working IEEE / IFIP Conference on Software Architecture (WICSA 2004), 12-15 June 2004, Oslo, Norway" publisher: "IEEE Computer Society" isbn: "0-7695-2172-X" kind: "inproceedings" key: "DeursenHKMR04" - title: "A Cognitive Model for Software Architecture Complexity" author: - name: "Eric Bouwers" link: "http://www.st.ewi.tudelft.nl/~bouwers/main/" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "Carola Lilienthal" link: "https://researchr.org/alias/carola-lilienthal" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.28" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.28" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/iwpc/BouwersVLD10" tags: - "software architecture" - "architecture" researchr: "https://researchr.org/publication/BouwersVLD10" cites: 0 citedby: 0 pages: "152-155" booktitle: "The 18th IEEE International Conference on Program Comprehension, ICPC 2010, Braga, Minho, Portugal, June 30-July 2, 2010" publisher: "IEEE Computer Society" isbn: "978-0-7695-4113-6" kind: "inproceedings" key: "BouwersVLD10" - title: "An assessment methodology for trace reduction techniques" author: - name: "Bas Cornelissen" link: "http://www.st.ewi.tudelft.nl/~cornel/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" year: "2008" doi: "http://dx.doi.org/10.1109/ICSM.2008.4658059" abstract: "Program comprehension is an important concern in software maintenance because these tasks generally require a degree of knowledge of the system at hand. While the use of dynamic analysis in this process has become increasingly popular, the literature indicates that dealing with the huge amounts of dynamic information remains a formidable challenge. " links: doi: "http://dx.doi.org/10.1109/ICSM.2008.4658059" tags: - "program comprehension" - "program analysis" - "analysis" - "maintenance" researchr: "https://researchr.org/publication/CornelissenMZ08" cites: 0 citedby: 0 pages: "107-116" booktitle: "24th IEEE International Conference on Software Maintenance (ICSM 2008), September 28 - October 4, 2008, Beijing, China" publisher: "IEEE" kind: "inproceedings" key: "CornelissenMZ08" - title: "Simple crosscutting concerns are not so simple: analysing variability in large-scale idioms-based implementations" author: - name: "Magiel Bruntink" link: "https://researchr.org/alias/magiel-bruntink" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Maja D'Hondt" link: "http://ssel.vub.ac.be/ssel/about/members/majadhondt" - name: "Tom Tourwé" link: "https://researchr.org/alias/tom-tourw%C3%A9" year: "2007" doi: "http://doi.acm.org/10.1145/1218563.1218586" links: doi: "http://doi.acm.org/10.1145/1218563.1218586" tags: - "object-oriented programming" - "rule-based" - "aspect oriented programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/BruntinkDDT07" cites: 0 citedby: 0 pages: "199-211" booktitle: "Proceedings of the 6th International Conference on Aspect-Oriented Software Development, AOSD 2007, Vancouver, British Columbia, Canada, March 12-16, 2007" editor: - name: "Brian M. Barry" link: "https://researchr.org/alias/brian-m.-barry" - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" volume: "208" series: "ACM International Conference Proceeding Series" publisher: "ACM" isbn: "1-59593-615-7" kind: "inproceedings" key: "BruntinkDDT07" - title: "Stratego: A Language for Program Transformation Based on Rewriting Strategies" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2001" doi: "https://doi.org/10.1007/3-540-45127-7_27" abstract: "Program transformation is used in many areas of software engineering. Examples include compilation, optimization, synthesis, refactoring, migration, normalization and improvement [15]. Rewrite rules are a natural formalism for expressing single program transformations. However, using a standard strategy for normalizing a program with a set of rewrite rules is not adequate for implementing program transformation systems. It may be necessary to apply a rule only in some phase of a transformation, to apply rules in some order, or to apply a rule only to part of a program. These restrictions may be necessary to avoid non-termination or to choose a specific path in a non-con uent rewrite system. Stratego is a language for the specification of program transformation systems based on the paradigm of rewriting strategies. It supports the separation of strategies from transformation rules, thus allowing careful control over the application of these rules. As a result of this separation, transformation rules are reusable in multiple difierent transformations and generic strategies capturing patterns of control can be described independently of the transformation rules they apply. Such strategies can even be formulated independently of the object language by means of the generic term traversal capabilities of Stratego. In this short paper I give a description of version 0.5 of the Stratego system, discussing the features of the language (Section 2), the library (Section 3), the compiler (Section 4) and some of the applications that have been built (Section 5). Stratego is available as free software under the GNU General Public License from http://www.stratego-language.org. " links: doi: "https://doi.org/10.1007/3-540-45127-7_27" successor: "https://researchr.org/publication/BravenboerKVV06" tags: - "control systems" - "programming languages" - "optimization" - "object-oriented programming" - "rule-based" - "transformation engineering" - "pattern language" - "generic programming" - "graph transformation" - "Stratego/XT" - "traversal" - "refactoring" - "language engineering" - "transformation language" - "software language engineering" - "term rewriting" - "reuse" - "termination" - "graph-rewriting" - "software engineering" - "rules" - "programming paradigms" - "migration" - "transformation system" - "rule-based refactoring" - "compiler" - "subject-oriented programming" - "program optimization" - "higher-order transformations" - "rewriting" - "rewriting strategies" - "feature-oriented programming" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/Visser01" cites: 0 citedby: 1 pages: "357-362" booktitle: "Rewriting Techniques and Applications, 12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22-24, 2001, Proceedings" editor: - name: "Aart Middeldorp" link: "https://researchr.org/alias/aart-middeldorp" volume: "2051" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-42117-3" kind: "inproceedings" key: "Visser01" - title: "Visual Patterns in Issue Tracking Data" author: - name: "Patrick Knab" link: "https://researchr.org/alias/patrick-knab" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-14347-2_20" links: doi: "http://dx.doi.org/10.1007/978-3-642-14347-2_20" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ispw/KnabPG10" tags: - "data-flow" researchr: "https://researchr.org/publication/KnabPG10" cites: 0 citedby: 0 pages: "222-233" booktitle: "New Modeling Concepts for Today s Software Processes, International Conference on Software Process, ICSP 2010, Paderborn, Germany, July 8-9, 2010. Proceedings" editor: - name: "Jürgen Münch" link: "https://researchr.org/alias/j%C3%BCrgen-m%C3%BCnch" - name: "Ye Yang" link: "https://researchr.org/alias/ye-yang" - name: "Wilhelm Schäfer" link: "https://researchr.org/alias/wilhelm-sch%C3%A4fer" volume: "6195" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-14346-5" kind: "inproceedings" key: "KnabPG10" - title: "Combinatory Algebraic Specification & Compilation of List Matching" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1993" month: "June" abstract: "During the development of the ASF+SDF compiler it became clear that a simplification of the back-end could be achieved by eliminating associative lists and conditional equations in an early phase of compilation. In this thesis the transformation of conditional equational term rewrite systems with \\em associative lists to term rewrite systems without lists is described by means of an algebraic specification. To make as much of the specification reusable the specification is written in a style called {\\em Combinatory Algebraic Specification}. In this style it is possible to define polymorphic higher-order functions (or combinators) and use these as arguments to functions and as results of computations. Using this style a vast library of general purpose combinators is developed. The specification of the combinatory language, the library of combinators and the specification of the transformation are written in a \\em Literate Specification style, meaning that the specification and the text explaining it are integrated." tags: - "SDF" - "graph transformation" - "transformation language" - "term rewriting" - "reuse" - "graph-rewriting" - "algebraic specification" - "transformation system" - "compiler" - " algebra" - "higher-order transformations" - "rewriting" - "ASF+SDF" - "transformation" researchr: "https://researchr.org/publication/Visser93" cites: 0 citedby: 0 school: "Department of Computer Science, University of Amsterdam" address: "Amsterdam" advisor: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" kind: "mastersthesis" key: "Visser93" - title: "Architecture Recovery for Product Families" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Jean-Francois Girard" link: "https://researchr.org/alias/jean-francois-girard" - name: "Jens Knodel" link: "https://researchr.org/alias/jens-knodel" - name: "Claudio Riva" link: "https://researchr.org/alias/claudio-riva" - name: "Wim Pasman" link: "https://researchr.org/alias/wim-pasman" - name: "Chris Broerse" link: "https://researchr.org/alias/chris-broerse" - name: "Jan Gerben Wijnstra" link: "https://researchr.org/alias/jan-gerben-wijnstra" year: "2003" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3014&spage=332" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3014&spage=332" tags: - "architecture" researchr: "https://researchr.org/publication/PinzgerGGKRPBW03" cites: 0 citedby: 0 pages: "332-351" booktitle: "Software Product-Family Engineering, 5th International Workshop, PFE 2003, Siena, Italy, November 4-6, 2003, Revised Papers" volume: "3014" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-21941-2" kind: "inproceedings" key: "PinzgerGGKRPBW03" - title: "Scalability Solutions for Program Comprehension through Dynamic Analysis" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.46" links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.46" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/Zaidman06" cites: 0 citedby: 0 pages: "327-330" booktitle: "10th European Conference on Software Maintenance and Reengineering (CSMR 2006), 22-24 March 2006, Bari, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2536-9" kind: "inproceedings" key: "Zaidman06" - title: "Evolutionary Testing in Component-Based Real-Time System Construction" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Nikolas Mayer" link: "https://researchr.org/alias/nikolas-mayer" year: "2002" tags: - "rule-based" - "testing" researchr: "https://researchr.org/publication/GrossM02a" cites: 0 citedby: 0 pages: "207-214" booktitle: "Late Breaking papers at the Genetic and Evolutionary Computation Conference (GECCO-2002), New York, USA, 9-13 July 2002" editor: - name: "Erick Cantú-Paz" link: "https://researchr.org/alias/erick-cant%C3%BA-paz" publisher: "AAAI" kind: "inproceedings" key: "GrossM02a" - title: "Origin Tracking" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Frank Tip" link: "http://domino.research.ibm.com/comm/research_people.nsf/pages/tip.index.html" year: "1993" links: technicalreport: "https://researchr.org/publication/DeursenKlintTip1992" researchr: "https://researchr.org/publication/DeursenKT93" cites: 0 citedby: 4 journal: "Journal of Symbolic Computation" volume: "15" number: "5/6" pages: "523-545" kind: "article" key: "DeursenKT93" - title: "A core language for rewriting" author: - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Zine-El-Abidine Benaissa" link: "http://web.archive.org/web/20010515202744/www.cse.ogi.edu/~benaissa/" year: "1998" doi: "http://dx.doi.org/10.1016/S1571-0661(05)80027-1" abstract: "System S is a calculus providing the basic abstractions of term rewriting: matching and building terms, term traversal, combining computations and handling failure. The calculus forms a core language for implementation of a wide variety of rewriting languages, or more generally, languages for specifying tree transformations. In this paper we show how a conventional rewriting language based on conditional term rewriting can be implemented straightforwardly in System S. Subsequently we show how this implementation can be extended with features such as matching conditions, negative conditions, default rules, non-strictness annotations and alternative evaluation strategies." links: doi: "http://dx.doi.org/10.1016/S1571-0661(05)80027-1" tags: - "rule-based" - "SDF" - "graph transformation" - "traversal" - "transformation language" - "term rewriting" - "graph-rewriting" - "rules" - "transformation system" - "abstraction" - "rewriting" - "rewriting strategies" - "ASF+SDF" - "transformation" researchr: "https://researchr.org/publication/VisserB98" cites: 0 citedby: 1 journal: "Electronic Notes in Theoretical Computer Science" volume: "15" pages: "422-441" kind: "article" key: "VisserB98" - title: "Identifying Crosscutting Concerns Using Fan-in Analysis" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2006" doi: "http://arxiv.org/abs/cs/0609147" note: "informal publication" links: doi: "http://arxiv.org/abs/cs/0609147" tags: - "analysis" researchr: "https://researchr.org/publication/abs-cs-0609147" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/cs/0609147" kind: "article" key: "abs-cs-0609147" - title: "Program Plan Recognition for Year 2000 Tools" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Steven Woods" link: "https://researchr.org/alias/steven-woods" - name: "Alex Quilici" link: "https://researchr.org/alias/alex-quilici" year: "1997" doi: "http://computer.org/proceedings/wcre/8162/81620124abs.htm" links: doi: "http://computer.org/proceedings/wcre/8162/81620124abs.htm" researchr: "https://researchr.org/publication/DeursenWQ97" cites: 0 citedby: 0 pages: "124" booktitle: "WCRE" kind: "inproceedings" key: "DeursenWQ97" - title: "On How Developers Test Open Source Software Systems" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Bart Van Rompaey" link: "http://win.ua.ac.be/~bvromp/" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2007" doi: "http://arxiv.org/abs/0705.3616" note: "informal publication" links: doi: "http://arxiv.org/abs/0705.3616" tags: - "testing" - "source-to-source" - "open-source" researchr: "https://researchr.org/publication/abs-0705-3616" cites: 0 citedby: 0 journal: "CoRR" volume: "abs/0705.3616" kind: "article" key: "abs-0705-3616" - title: "How Webmining and Coupling Metrics Improve Early Program Comprehension" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Bart Du Bois" link: "https://researchr.org/alias/bart-du-bois" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2006.26" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2006.26" tags: - "program comprehension" researchr: "https://researchr.org/publication/ZaidmanBD06" cites: 0 citedby: 0 pages: "74-78" booktitle: "14th International Conference on Program Comprehension (ICPC 2006), 14-16 June 2006, Athens, Greece" publisher: "IEEE Computer Society" isbn: "0-7695-2601-2" kind: "inproceedings" key: "ZaidmanBD06" - title: "Harvesting Software Systems for MDA-Based Reengineering " author: - name: "Thijs Reus" link: "https://researchr.org/alias/thijs-reus" - name: "Hans Geers" link: "https://researchr.org/alias/hans-geers" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://dx.doi.org/10.1007/11787044_17" links: doi: "http://dx.doi.org/10.1007/11787044_17" tags: - "rule-based" researchr: "https://researchr.org/publication/ReusGD06" cites: 0 citedby: 0 pages: "213-225" booktitle: "Model Driven Architecture - Foundations and Applications, Second European Conference, ECMDA-FA 2006, Bilbao, Spain, July 10-13, 2006, Proceedings" editor: - name: "Arend Rensink" link: "http://wwwhome.cs.utwente.nl/~rensink/" - name: "Jos Warmer" link: "https://researchr.org/alias/jos-warmer" volume: "4066" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-35909-5" kind: "inproceedings" key: "ReusGD06" - title: "Fine-Grained Analysis of Change Couplings" author: - name: "Beat Fluri" link: "https://researchr.org/alias/beat-fluri" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2005" doi: "http://dx.doi.org/10.1109/SCAM.2005.14" links: doi: "http://dx.doi.org/10.1109/SCAM.2005.14" tags: - "analysis" researchr: "https://researchr.org/publication/FluriGP05" cites: 0 citedby: 0 pages: "66-74" booktitle: "5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2005), 30 September - 1 October 2005, Budapest, Hungary" publisher: "IEEE Computer Society" isbn: "0-7695-2292-0" kind: "inproceedings" key: "FluriGP05" - title: "Using association rules to study the co-evolution of production & test code" author: - name: "Zeeger Lubsen" link: "https://researchr.org/alias/zeeger-lubsen" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2009" doi: "http://dx.doi.org/10.1109/MSR.2009.5069493" links: doi: "http://dx.doi.org/10.1109/MSR.2009.5069493" tags: - "rule-based" - "testing" - "rules" researchr: "https://researchr.org/publication/LubsenZP09" cites: 0 citedby: 0 pages: "151-154" booktitle: "Proceedings of the 6th International Working Conference on Mining Software Repositories, MSR 2009 (Co-located with ICSE), Vancouver, BC, Canada, May 16-17, 2009, Proceedings" editor: - name: "Michael W. Godfrey" link: "https://researchr.org/alias/michael-w.-godfrey" - name: "Jim Whitehead" link: "http://www.cs.ucsc.edu/~ejw" publisher: "IEE" isbn: "978-1-4244-3493-0" kind: "inproceedings" key: "LubsenZP09" - title: "FINT: Tool Support for Aspect Mining" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.30" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.30" researchr: "https://researchr.org/publication/MarinMD06a" cites: 0 citedby: 0 pages: "299-300" booktitle: "13th Working Conference on Reverse Engineering (WCRE 2006), 23-27 October 2006, Benevento, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2719-1" kind: "inproceedings" key: "MarinMD06a" - title: "Understanding COBOL Systems using Inferred Types" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "1999" doi: "http://computer.org/proceedings/iwpc/0179/01790074abs.htm" links: doi: "http://computer.org/proceedings/iwpc/0179/01790074abs.htm" tags: - "type system" - "Cobol" researchr: "https://researchr.org/publication/DeursenM99" cites: 0 citedby: 0 pages: "74" booktitle: "7th International Workshop on Program Comprehension (IWPC 99), May 5-7, 1999 - Pittsburgh, PA, USA" publisher: "IEEE Computer Society" isbn: "0-7695-0179-6" kind: "inproceedings" key: "DeursenM99" - title: "Search-based Execution-Time Verification in Object-Oriented and Component-Based Real-Time System Development" author: - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Nikolas Mayer" link: "https://researchr.org/alias/nikolas-mayer" year: "2003" doi: "http://doi.ieeecomputersociety.org/10.1109/WORDS.2003.1218073" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WORDS.2003.1218073" tags: - "rule-based" - "search" researchr: "https://researchr.org/publication/GrossM03%3A0" cites: 0 citedby: 0 pages: "113" booktitle: "8th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS 2003), 15-17 January 2003, Guadalajara, Mexico" publisher: "IEEE Computer Society" isbn: "0-7695-1929-6" kind: "inproceedings" key: "GrossM03:0" - title: "Strategic Pattern Matching" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1999" doi: "https://doi.org/10.1007/3-540-48685-2_3" abstract: "Stratego is a language for the specification of transformation rules and strategies for applying them. The basic actions of transformations are matching and building instantiations of first-order term patterns. The language supports concise formulation of generic and data type-specific term traversals. One of the unusual features of Stratego is the separation of scope from matching, allowing sharing of variables through traversals. The combination of first-order patterns with strategies forms an expressive formalism for pattern matching. In this paper we discuss three examples of strategic pattern matching: (1) Contextual rules allow matching and replacement of a pattern at an arbitrary depth of a subterm of the root pattern. (2) Recursive patterns can be used to characterize concisely the structure of languages that form a restriction of a larger language. (3) Overlays serve to hide the representation of a language in another (more generic) language. These techniques are illustrated by means of specifications in Stratego. " links: doi: "https://doi.org/10.1007/3-540-48685-2_3" tags: - "rule-based" - "data-flow language" - "pattern language" - "graph transformation" - "Stratego/XT" - "traversal" - "transformation language" - "term rewriting" - "data-flow" - "graph-rewriting" - "rules" - "views" - "pattern matching" - "Strategic term rewriting" - "overlays" - "higher-order transformations" - "rewriting" - "rewriting strategies" - "transformation" - "Stratego" - "domain-specific language" researchr: "https://researchr.org/publication/Visser99" cites: 0 citedby: 0 pages: "30-44" booktitle: "Rewriting Techniques and Applications, 10th International Conference, RTA-99, Trento, Italy, July 2-4, 1999, Proceedings" editor: - name: "Paliath Narendran" link: "https://researchr.org/alias/paliath-narendran" - name: "Michaël Rusinowitch" link: "https://researchr.org/alias/micha%C3%ABl-rusinowitch" volume: "1631" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-66201-4" kind: "inproceedings" key: "Visser99" - title: "Performing Systematic Literature Reviews with Researchr: Tool Demonstration" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2010" month: "May" doi: "http://resolver.tudelft.nl/uuid:22b480a7-d09e-4ae6-abe7-9a5769e03c2b" abstract: "This paper describes the workflow for performing systematic literature reviews with the researchr digital library environment. " links: doi: "http://resolver.tudelft.nl/uuid:22b480a7-d09e-4ae6-abe7-9a5769e03c2b" tags: - "digital library" - "literature review" - "digital libraries" - "reviewing" - "Meta-Environment" - "workflow" - "systematic-approach" - "systematic review" researchr: "https://researchr.org/publication/Visser2010" cites: 11 citedby: 0 institution: "Software Engineering Research Group, Delft University of Technology" number: "TUD-SERG-2010-010" address: "Delft, The Netherlands" kind: "techreport" key: "Visser2010" - title: "An empirical study into COBOL type inferencing" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2001" tags: - "empirical" - "type inference" - "Cobol" researchr: "https://researchr.org/publication/DeursenM01" cites: 0 citedby: 0 journal: "Science of Computer Programming" volume: "40" number: "2-3" pages: "189-211" kind: "article" key: "DeursenM01" - title: "Mixing source and bytecode: a case for compilation by normalization" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://doi.acm.org/10.1145/1449764.1449772" abstract: "Language extensions increase programmer productivity by providing concise, often domain-specific syntax, and support for static verification of correctness, security, and style constraints. Language extensions can often be realized through translation to the base language, supported by preprocessors and extensible compilers. However, various kinds of extensions require further adaptation of a base compiler's internal stages and components, for example to support separate compilation or to make use of low-level primitives of the platform (e.g., jump instructions or unbalanced synchronization). To allow for a more loosely coupled approach, we propose an open compiler model based on normalization steps from a high-level language to a subset of it, the core language. We developed such a compiler for a mixed Java and (core) bytecode language, and evaluate its effectiveness for composition mechanisms such as traits, as well as statement-level and expression-level language extensions. " links: doi: "http://doi.acm.org/10.1145/1449764.1449772" "technical report (pdf)": "http://www.lclnet.nl/publications/TUD-SERG-2008-030.pdf" "project home page": "http://www.strategoxt.org/Stratego/TheDryadCompiler" tags: - "compilation by normalization" - "rule-based" - "Java" - "synchronization" - "translation" - "meta-model" - "modeling language" - "Stratego/XT" - "language modeling" - "composition" - "constraints" - "source-to-source" - "C++" - "Dryad" - "security" - "compiler" - "Meta-Environment" - "extensible language" - "systematic-approach" - "open-source" - "Stratego" - "JavaFront" - "domain-specific language" researchr: "https://researchr.org/publication/KatsBV08" cites: 44 citedby: 3 pages: "91-108" booktitle: "Proceedings of the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2008, October 19-23, 2008, Nashville, TN, USA" editor: - name: "Gail E. Harris" link: "https://researchr.org/alias/gail-e.-harris" publisher: "ACM" isbn: "978-1-60558-215-3" kind: "inproceedings" key: "KatsBV08" - title: "Using Cluster Analysis to Improve the Design of Component Interfaces" author: - name: "Rahmat Adnan" link: "https://researchr.org/alias/rahmat-adnan" - name: "Bas Graaf" link: "http://www.st.ewi.tudelft.nl/~basgraaf/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Joost Zonneveld" link: "https://researchr.org/alias/joost-zonneveld" year: "2008" doi: "http://dx.doi.org/10.1109/ASE.2008.54" links: doi: "http://dx.doi.org/10.1109/ASE.2008.54" tags: - "analysis" - "remodularization" - "cluster analysis" - "design" researchr: "https://researchr.org/publication/AdnanGDZ08" cites: 0 citedby: 0 pages: "383-386" booktitle: "23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), 15-19 September 2008, L Aquila, Italy" publisher: "IEEE" kind: "inproceedings" key: "AdnanGDZ08" - title: "Workshop on Program Comprehension through Dynamic Analysis (PCODA 05)" author: - name: "Orla Greevy" link: "https://researchr.org/alias/orla-greevy" - name: "Abdelwahab Hamou-Lhadj" link: "https://researchr.org/alias/abdelwahab-hamou-lhadj" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.35" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.35" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/GreevyHZ05" cites: 0 citedby: 0 pages: "232" booktitle: "12th Working Conference on Reverse Engineering (WCRE 2005), 7-11 November 2005, Pittsburgh, PA, USA" publisher: "IEEE Computer Society" isbn: "0-7695-2474-5" kind: "inproceedings" key: "GreevyHZ05" - title: "A Family of Syntax Definition Formalisms" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1995" month: "May" abstract: "In this paper we design a syntax definition formalism as a family of formalisms. Starting with a small kernel, several features for syntax definition are designed orthogonally to each other. This provides a framework for constructing new formalisms by adapting and extending old ones. The formalism is developed with the algebraic specification formalism ASF+SDF. It provides the following features: lexical and context-free syntax, variables, disambiguation by priorities, regular expressions, character classes and modular definitions. New are the uniform treatment of lexical syntax, context-free syntax and variables, the treatment of regular expressions by normalization yielding abstract syntax without auxiliary sorts, regular expressions as result of productions and modules with hidden imports and renamings." links: successor: "https://researchr.org/publication/Visser97-SDF" "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9504-7.ps" tags: - "syntax definition" - "SDF" - "lexical syntax" - "syntax definition formalism" - "abstract syntax" - "disambiguation" - "algebraic specification" - " algebra" - "context-aware" - "parsing" - "design" - "ASF+SDF" researchr: "https://researchr.org/publication/Visser95" cites: 0 citedby: 0 booktitle: "ASF+SDF 1995. A Workshop on Generating Tools from Algebraic Specifications" editor: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Vania Vieira Estrela" link: "http://academic.research.microsoft.com/Author/3361386" publisher: "Technical Report P9504, Programming Research Group, University of Amsterdam" kind: "inproceedings" key: "Visser95" - title: "Introduction to the special issue on program comprehension through dynamic analysis (PCODA)" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Abdelwahab Hamou-Lhadj" link: "https://researchr.org/alias/abdelwahab-hamou-lhadj" - name: "Orla Greevy" link: "https://researchr.org/alias/orla-greevy" year: "2008" doi: "http://dx.doi.org/10.1002/smr.376" links: doi: "http://dx.doi.org/10.1002/smr.376" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/ZaidmanHG08" cites: 0 citedby: 0 journal: "Journal of Software Maintenance" volume: "20" number: "4" pages: "223-225" kind: "article" key: "ZaidmanHG08" - title: "Building Program Optimizers with Rewriting Strategies" author: - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Zine-El-Abidine Benaissa" link: "http://web.archive.org/web/20010515202744/www.cse.ogi.edu/~benaissa/" - name: "Andrew P. Tolmach" link: "http://www.cs.pdx.edu/~apt" year: "1998" doi: "http://doi.acm.org/10.1145/289423.289425" abstract: "We describe a language for defining term rewriting strategies, and its application to the production of program optimizers. Valid transformations on program terms can be described by a set of rewrite rules; rewriting strategies are used to describe when and how the various rules should be applied in order to obtain the desired optimization effects. Separating rules from strategies in this fashion makes it easier to reason about the behavior of the optimizer as a whole, compared to traditional monolithic optimizer implementations. We illustrate the expressiveness of our language by using it to describe a simple optimizer for an ML-like intermediate representation.The basic strategy language uses operators such as sequential composition, choice, and recursion to build transformers from a set of labeled unconditional rewrite rules. We also define an extended language in which the side-conditions and contextual rules that arise in realistic optimizer specifications can themselves be expressed as strategy-driven rewrites. We show that the features of the basic and extended languages can be expressed by breaking down the rewrite rules into their primitive building blocks, namely matching and building terms in variable binding environments. This gives us a low-level core language which has a clear semantics, can be implemented straightforwardly and can itself be optimized. The current implementation generates C code from a strategy specification. " links: doi: "http://doi.acm.org/10.1145/289423.289425" "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/VBT98.ps" tags: - "programming languages" - "optimization" - "semantics" - "rule-based" - "meta programming" - "graph transformation" - "variable binding" - "Stratego/XT" - "transformation language" - "term rewriting" - "composition" - "graph-rewriting" - "rules" - "C++" - "program optimization" - "Meta-Environment" - "higher-order transformations" - "rewriting" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/VisserBT98" cites: 0 citedby: 5 pages: "13-26" booktitle: "Proceedings of the third ACM SIGPLAN international conference on Functional programming" editor: - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" - name: "Paul Hudak" link: "http://www.cs.yale.edu/homes/hudak/" - name: "Christian Queinnec" link: "https://researchr.org/alias/christian-queinnec" address: "Baltimore, Maryland, United States" publisher: "ACM" kind: "inproceedings" key: "VisserBT98" - title: "Meta-programming with Concrete Object Syntax" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1007/3-540-45821-2_19" abstract: "Meta programs manipulate structured representations, i.e., abstract syntax trees, of programs. The conceptual distance between the concrete syntax meta-programmers use to reason about programs and the notation for abstract syntax manipulation provided by general purpose (meta-) programming languages is too great for many applications. In this paper it is shown how the syntax definition formalism SDF can be employed to fit any meta-programming language with concrete syntax notation for composing and analyzing object programs. As a case study, the addition of concrete syntax to the program transformation language Stratego is presented. The approach is then generalized to arbitrary meta-languages. " links: doi: "https://doi.org/10.1007/3-540-45821-2_19" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "concrete object syntax" - "syntax definition" - "meta programming" - "case study" - "SDF" - "meta-model" - "abstract syntax" - "Stratego/XT" - "transformation language" - "source-to-source" - "model transformation" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser02" cites: 23 citedby: 6 pages: "299-315" booktitle: "Generative Programming and Component Engineering, ACM SIGPLAN/SIGSOFT Conference, GPCE 2002, Pittsburgh, PA, USA, October 6-8, 2002, Proceedings" editor: - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Walid Taha" link: "http://www.cs.rice.edu/~taha/" volume: "2487" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-44284-7" kind: "inproceedings" key: "Visser02" - title: "Code Generation by Model Transformation" author: - name: "Zef Hemel" link: "http://zef.me" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-69927-9_13" abstract: "The realization of model-driven software development requires effective techniques for implementing code generators. In this paper, we present a case study of code generation by model transformation with Stratego, a high-level transformation language based on the paradigm of rewrite rules with programmable strategies that integrates model-to-model, model-to-code, and code-to-code transformations. The use of concrete object syntax guarantees syntactic correctness of code patterns, and enables the subsequent transformation of generated code. The composability of strategies supports two dimensions of transformation modularity. Vertical modularity is achieved by designing a generator as a pipeline of model-to-model transformations that gradually transforms a high-level input model to an implementation. Horizontal modularity is achieved by supporting the definition of plugins which implement all aspects of a language feature. We discuss the application of these techniques in the implementation of WebDSL, a domain-specific language for dynamic web applications with a rich data model. " links: doi: "http://dx.doi.org/10.1007/978-3-540-69927-9_13" successor: "https://researchr.org/publication/HemelKGV10" "technical report (pdf)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2008-012.pdf" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "WebDSL" - "concrete object syntax" - "rule-based" - "transformation engineering" - "syntax definition" - "meta programming" - "data-flow language" - "pattern language" - "case study" - "graph transformation" - "meta-model" - "modeling language" - "modeling" - "language engineering" - "transformation language" - "software language engineering" - "language modeling" - "web engineering" - "data-flow programming" - "model-driven development" - "data-flow" - "source-to-source" - "graph-rewriting" - "software engineering" - "rules" - "model-driven engineering" - "C++" - "programming paradigms" - "code generation" - "object-role modeling" - "aspect oriented programming" - "model transformation" - "web applications" - "DSL" - "subject-oriented programming" - "Meta-Environment" - "rewriting" - "rewriting strategies" - "feature-oriented programming" - "concrete syntax" - "open-source" - "meta-objects" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/HemelKV08" cites: 0 citedby: 3 pages: "183-198" booktitle: "Theory and Practice of Model Transformations, First International Conference, ICMT 2008, Zürich, Switzerland, July 1-2, 2008, Proceedings" editor: - name: "Antonio Vallecillo" link: "http://www.lcc.uma.es/~av/" - name: "Jeffrey G. Gray" link: "http://www.gray-area.org/" - name: "Alfonso Pierantonio" link: "http://www.di.univaq.it/alfonso" volume: "5063" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-69926-2" kind: "inproceedings" key: "HemelKV08" - title: "Pure and declarative syntax definition: paradise lost and regained" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" year: "2010" doi: "http://doi.acm.org/10.1145/1869459.1869535" abstract: "Syntax definitions are pervasive in modern software systems, and serve as the basis for language processing tools like parsers and compilers. Mainstream parser generators pose restrictions on syntax definitions that follow from their implementation algorithm. They hamper evolution, maintainability, and compositionality of syntax definitions. The pureness and declarativity of syntax definitions is lost. We analyze how these problems arise for different aspects of syntax definitions, discuss their consequences for language engineers, and show how the pure and declarative nature of syntax definitions can be regained." links: doi: "http://doi.acm.org/10.1145/1869459.1869535" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KatsVW10" "pdf (tech report)": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2010-019.pdf" tags: - "parsing algorithm" - "syntax definition" - "composition" - "software evolution" - "C++" - "compiler" - "parsing" researchr: "https://researchr.org/publication/KatsVW10" cites: 0 citedby: 1 pages: "918-932" booktitle: "Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, October 17-21, 2010, Reno/Tahoe, Nevada, USA" editor: - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Siobhán Clarke" link: "https://www.cs.tcd.ie/Siobhan.Clarke/" - name: "Martin C. Rinard" link: "https://researchr.org/alias/martin-c.-rinard" address: "Reno/Tahoe, Nevada" publisher: "ACM" isbn: "978-1-4503-0203-6" kind: "inproceedings" key: "KatsVW10" - title: "MSR 2006: the 3rd international workshop on mining software repositories" author: - name: "Stephan Diehl" link: "https://researchr.org/alias/stephan-diehl" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Ahmed E. Hassan" link: "https://researchr.org/alias/ahmed-e.-hassan" year: "2006" doi: "http://doi.acm.org/10.1145/1134483" links: doi: "http://doi.acm.org/10.1145/1134483" tags: - "e-science" researchr: "https://researchr.org/publication/DiehlGPH06" cites: 0 citedby: 0 pages: "1021" booktitle: "28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, May 20-28, 2006" editor: - name: "Leon J. Osterweil" link: "https://researchr.org/alias/leon-j.-osterweil" - name: "H. Dieter Rombach" link: "https://researchr.org/alias/h.-dieter-rombach" - name: "Mary Lou Soffa" link: "https://researchr.org/alias/mary-lou-soffa" publisher: "ACM" isbn: "1-59593-375-1" kind: "inproceedings" key: "DiehlGPH06" - title: "Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Stratego/XT 0.9" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2003" doi: "https://doi.org/10.1007/978-3-540-25935-0_13" abstract: "Stratego/XT is a framework for the development of transformation systems aiming to support a wide range of program transformations. The framework consists of the transformation language Stratego and the XT collection of transformation tools. Stratego is based on the paradigm of rewriting under the control of programmable rewriting strategies. The XT tools provide facilities for the infrastructure of transformation systems including parsing and pretty-printing. The framework addresses the entire range of the development process; from the specification of transformations to their composition into transformation systems. This chapter gives an overview of the main ingredients involved in the composition of transformation systems with Stratego/XT, where we distinguish the abstraction levels of rules, strategies, tools, and systems." links: doi: "https://doi.org/10.1007/978-3-540-25935-0_13" successor: "https://researchr.org/publication/BravenboerKVV06" "springer": "http://www.springerlink.com/content/my9we5tj86u2f59n/" tags: - "control systems" - "programming languages" - "rule-based" - "graph transformation" - "Stratego/XT" - "transformation language" - "composition" - "graph-rewriting" - "rules" - "programming paradigms" - "transformation system" - "abstraction" - "rewriting" - "parsing" - "rewriting strategies" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/Visser03" cites: 0 citedby: 4 pages: "216-238" booktitle: "Domain-Specific Program Generation, International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers" editor: - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" volume: "3016" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-22119-0" kind: "inproceedings" key: "Visser03" - title: "XT: a bundle of program transformation tools" author: - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" doi: "http://dx.doi.org/10.1016/S1571-0661(04)80921-6" abstract: "XT bundles existing and newly developed program transformation libraries and tools into an open framework that supports component-based development of program transformations. We discuss the roles of XT's constituents in the development process of program transformation tools, as well as some experiences with building program transformation systems with XT. " links: doi: "http://dx.doi.org/10.1016/S1571-0661(04)80921-6" successor: "https://researchr.org/publication/BravenboerKVV06" tags: - "model-to-model transformation" - "rule-based" - "Stratego/XT" - "model-driven development" - "source-to-source" - "transformation system" - "model transformation" - "programming" - "open-source" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/JongeVV01" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "44" number: "2" pages: "79-86" kind: "article" key: "JongeVV01" - title: "Software reverse engineering" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Elizabeth Burd" link: "https://researchr.org/alias/elizabeth-burd" year: "2005" doi: "http://dx.doi.org/10.1016/j.jss.2004.03.031" links: doi: "http://dx.doi.org/10.1016/j.jss.2004.03.031" tags: - "reverse engineering" - "software engineering" researchr: "https://researchr.org/publication/DeursenB05" cites: 0 citedby: 0 journal: "Journal of Systems and Software" volume: "77" number: "3" pages: "209-211" kind: "article" key: "DeursenB05" - title: "A survey of strategies in rule-based program transformation systems" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2005" doi: "http://dx.doi.org/10.1016/j.jsc.2004.12.011" abstract: "Program transformation is the mechanical manipulation of a program in order to improve it relative to some cost function and is understood broadly as the domain of computation where programs are the data. The natural basic building blocks of the domain of program transformation are transformation rules expressing a ?one-step? transformation on a fragment of a program. The ultimate perspective of research in this area is a high-level, language parametric, rule-based program transformation system, which supports a wide range of transformations, admitting efficient implementations that scale to large programs. This situation has not yet been reached, as trade-offs between different goals need to be made. This survey gives an overview of issues in rule-based program transformation systems, focusing on the expressivity of rule-based program transformation systems and in particular on transformation strategies available in various approaches. The survey covers term rewriting, extensions of basic term rewriting, tree parsing strategies, systems with programmable strategies, traversal strategies, and context-sensitive rules." links: doi: "http://dx.doi.org/10.1016/j.jsc.2004.12.011" tags: - "programming languages" - "transformation strategy" - "tree parsing" - "rule-based" - "attribute grammars" - "tree traversal" - "data-flow language" - "pattern language" - "generic programming" - "congruence operators" - "transformation strategies" - "graph transformation" - "traversal" - "transformation language" - "term rewriting" - "generic traversal strategies" - "tree pattern matching" - "data-flow programming" - "program transformation system" - "data-flow" - "graph-rewriting" - "survey" - "rules" - "pattern matching" - "strategy annotations" - "strategy combinators" - "transformation system" - "program representation" - "programming" - "context-aware" - "rule-based program transformation" - "context-sensitive transformation" - "higher-order transformations" - "rewriting" - "parsing" - "systematic-approach" - "rewriting strategies" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/Visser05" cites: 1 citedby: 1 journal: "Journal of Symbolic Computation" volume: "40" number: "1" pages: "831-873" kind: "article" key: "Visser05" - title: "Populating a Release History Database from Version Control and Bug Tracking Systems" author: - name: "Michael Fischer" link: "https://researchr.org/alias/michael-fischer" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050023abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050023abs.htm" tags: - "control systems" - "database" - "history" researchr: "https://researchr.org/publication/FischerPG03" cites: 0 citedby: 0 pages: "23" booktitle: "19th International Conference on Software Maintenance (ICSM 2003), The Architecture of Existing Systems, 22-26 September 2003, Amsterdam, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-1905-9" kind: "inproceedings" key: "FischerPG03" - title: "Software Architecture Reconstruction" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Claudio Riva" link: "https://researchr.org/alias/claudio-riva" year: "2004" doi: "http://csdl.computer.org/comp/proceedings/icse/2004/2163/00/21630745abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/icse/2004/2163/00/21630745abs.htm" tags: - "software architecture" - "architecture" researchr: "https://researchr.org/publication/DeursenR04" cites: 0 citedby: 0 pages: "745-746" booktitle: "26th International Conference on Software Engineering (ICSE 2004), 23-28 May 2004, Edinburgh, United Kingdom" publisher: "IEEE Computer Society" isbn: "0-7695-2163-0" kind: "inproceedings" key: "DeursenR04" - title: "Embedded System Construction - Evaluation of Model-Driven and Component-Based Development Approaches" author: - name: "Christian Bunse" link: "https://researchr.org/alias/christian-bunse" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Christian Peper" link: "https://researchr.org/alias/christian-peper" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-01648-6_8" links: doi: "http://dx.doi.org/10.1007/978-3-642-01648-6_8" tags: - "rule-based" - "meta-model" - "model-driven development" - "Meta-Environment" - "systematic-approach" researchr: "https://researchr.org/publication/BunseGP08" cites: 0 citedby: 0 pages: "66-77" booktitle: "Models in Software Engineering, Workshops and Symposia at MODELS 2008, Toulouse, France, September 28 - October 3, 2008. Reports and Revised Selected Papers" editor: - name: "Michel R. V. Chaudron" link: "http://www.win.tue.nl/~mchaudro/" volume: "5421" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-01647-9" kind: "inproceedings" key: "BunseGP08" - title: "Automated security testing of web widget interactions" author: - name: "Cor-Paul Bezemer" link: "http://asgaard.ece.ualberta.ca/" - name: "Ali Mesbah" link: "https://researchr.org/alias/ali-mesbah" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2009" doi: "http://doi.acm.org/10.1145/1595696.1595711" links: doi: "http://doi.acm.org/10.1145/1595696.1595711" tags: - "testing" - "security" researchr: "https://researchr.org/publication/BezemerMD09" cites: 0 citedby: 0 pages: "81-90" booktitle: "Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2009, Amsterdam, The Netherlands, August 24-28, 2009" editor: - name: "Hans van Vliet" link: "http://www.cs.vu.nl/~hans/" - name: "Valérie Issarny" link: "https://researchr.org/alias/val%C3%A3%C2%A9rie-issarny" publisher: "ACM" isbn: "978-1-60558-001-2" kind: "inproceedings" key: "BezemerMD09" - title: "Feature-Based Product Line Instantiation Using Source-Level Packages" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2379/23790217.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2379/23790217.htm" tags: - "rule-based" - "source-to-source" - "product line" - "open-source" researchr: "https://researchr.org/publication/DeursenJK02" cites: 0 citedby: 0 pages: "217-234" booktitle: "Software Product Lines, Second International Conference, SPLC 2, San Diego, CA, USA, August 19-22, 2002, Proceedings" editor: - name: "Gary J. Chastek" link: "https://researchr.org/alias/gary-j.-chastek" volume: "2379" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-43985-4" kind: "inproceedings" key: "DeursenJK02" - title: "Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2004" doi: "http://doi.acm.org/10.1145/1028976.1029007" abstract: "Application programmer's interfaces give access to domain knowledge encapsulated in class libraries without providing the appropriate notation for expressing domain composition. Since object-oriented languages are designed for extensibility and reuse, the language constructs are often sufficient for expressing domain abstractions at the semantic level. However, they do not provide the right abstractions at the syntactic level. In this paper we describe MetaBorg, a method for providing concrete syntax for domain abstractions to application programmers. The method consists of embedding domain-specific languages in a general purpose host language and assimilating the embedded domain code into the surrounding host code. Instead of extending the implementation of the host language, the assimilation phase implements domain abstractions in terms of existing APIs leaving the host language undisturbed. Indeed, MetaBorg can be considered a method for promoting APIs to the language level. The method is supported by proven and available technology, i.e. the syntax definition formalism SDF and the program transformation language and toolset Stratego/XT. We illustrate the method with applications in three domains: code generation, XML generation, and user-interface construction." links: doi: "http://doi.acm.org/10.1145/1028976.1029007" tags: - "programming languages" - "object-oriented programming" - "concrete object syntax" - "syntax definition" - "meta programming" - "assimilation" - "SDF" - "XML" - "XML Schema" - "Stratego/XT" - "transformation language" - "composition" - "MetaBorg" - "language design" - "reuse" - "code generation" - "subject-oriented programming" - "abstraction" - "Meta-Environment" - "extensible language" - "ASF+SDF" - "feature-oriented programming" - "concrete syntax" - "meta-objects" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV04" cites: 51 citedby: 8 pages: "365-383" booktitle: "Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2004" editor: - name: "John M. Vlissides" link: "https://researchr.org/alias/john-m.-vlissides" - name: "Douglas C. Schmidt" link: "https://researchr.org/alias/douglas-c.-schmidt" address: "Vancouver, BC, Canada" publisher: "ACM" isbn: "1-58113-831-8" kind: "inproceedings" key: "BravenboerV04" - title: "Improving defect prediction using temporal features and non linear models" author: - name: "Abraham Bernstein" link: "https://researchr.org/alias/abraham-bernstein" - name: "Jayalath Ekanayake" link: "https://researchr.org/alias/jayalath-ekanayake" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2007" doi: "http://doi.acm.org/10.1145/1294948.1294953" links: doi: "http://doi.acm.org/10.1145/1294948.1294953" researchr: "https://researchr.org/publication/BernsteinEP07" cites: 0 citedby: 0 pages: "11-18" booktitle: "9th International Workshop on Principles of Software Evolution (IWPSE 2007), in conjunction with the 6th ESEC/FSE joint meeting, Dubrovnik, Croatia, September 3-4, 2007" editor: - name: "Massimiliano Di Penta" link: "https://researchr.org/alias/massimiliano-di-penta" - name: "Michele Lanza" link: "https://researchr.org/alias/michele-lanza" publisher: "ACM" isbn: "978-1-59593-722-3" kind: "inproceedings" key: "BernsteinEP07" - title: "Combining Aspect-Oriented and Strategic Programming" author: - name: "Karl Trygve Kalleberg" link: "http://www.ii.uib.no/~karltk/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "http://dx.doi.org/10.1016/j.entcs.2005.06.035" abstract: "Properties such as logging, persistence, debugging, tracing, distribution, performance monitoring and exception handling occur in most programming paradigms and are normally very difficult or even impossible to modularize with traditional modularization mechanisms because they are cross-cutting. Recently, aspect-oriented programming has enjoyed recognition as a practical solution for separating these concerns. In this paper we describe an extension to the Stratego term rewriting language for capturing such properties. We show our aspect language offers a concise, practical and adaptable solution for dealing with unanticipated algorithm extension for forward data-flow propagation and dynamic type checking of terms. We briefly discuss some of the challenges faced when designing and implementing an aspect extension for and in a rule-based term rewriting system." links: doi: "http://dx.doi.org/10.1016/j.entcs.2005.06.035" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "transformation aspects" - "data-flow language" - "graph transformation" - "exceptions" - "Stratego/XT" - "transformation language" - "term rewriting" - "type system" - "data-flow programming" - "data-flow" - "graph-rewriting" - "rules" - "programming paradigms" - "type checking" - "strategic programming" - "debugging" - "transformation system" - "Strategic term rewriting" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "rewriting" - "feature-oriented programming" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/KallebergV06" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "147" number: "1" pages: "5-30" kind: "article" key: "KallebergV06" - title: "Little languages: little maintenance?" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" year: "1998" doi: "http://dx.doi.org/10.1002/(SICI)1096-908X(199803/04)10:2<75::AID-SMR168>3.0.CO;2-5" abstract: "So-called little,or domain-specific languages (DSLs), have the potential to make software main- tenance simpler: domain-experts can directly use the DSL to make required routine modifica- tions. On the negative side, however,more substantial changes may become more difficult: such changes may involve altering the domain-specific language. This will require compiler technol- ogy knowledge,which not every commercial enterprise has easily available. Based on experience taken from industrial practice, we discuss the role of DSLs in software maintenance, the dangers introduced by using them, and techniques for controlling the risks involved." links: doi: "http://dx.doi.org/10.1002/(SICI)1096-908X(199803/04)10:2<75::AID-SMR168>3.0.CO;2-5" tags: - "rule-based" - "little language" - "maintenance" - "compiler" - "DSL" - "domain-specific language" researchr: "https://researchr.org/publication/DeursenK98" cites: 0 citedby: 1 journal: "Journal of Software Maintenance" volume: "10" number: "2" pages: "75-92" kind: "article" key: "DeursenK98" - title: "On the Interplay Between Software Testing and Evolution and its Effect on Program Comprehension" author: - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Magiel Bruntink" link: "http://homepages.cwi.nl/~bruntink/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-76440-3_8" links: doi: "http://dx.doi.org/10.1007/978-3-540-76440-3_8" tags: - "program comprehension" - "evolution" - "testing" - "software evolution" researchr: "https://researchr.org/publication/MoonenDZB08" cites: 0 citedby: 0 pages: "173-202" booktitle: "Software Evolution" editor: - name: "Tom Mens" link: "http://staff.umh.ac.be/Mens.Tom/" - name: "Serge Demeyer" link: "http://win.ua.ac.be/~sdemey/" publisher: "Springer" isbn: "978-3-540-76439-7" kind: "incollection" key: "MoonenDZB08" - title: "Origin Tracking for Higher-Order Term Rewriting Systems" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "T. B. Dinesh" link: "https://researchr.org/alias/t.-b.-dinesh" year: "1993" tags: - "term rewriting" - "graph-rewriting" - "rewriting" researchr: "https://researchr.org/publication/DeursenD93" cites: 0 citedby: 0 pages: "76-95" booktitle: "Higher-Order Algebra, Logic, and Term Rewriting, First International Workshop, HOA 93, Amsterdam, The Netherlands, September 23-24, 1993, Selected Papers" editor: - name: "Jan Heering" link: "http://homepages.cwi.nl/~jan/" - name: "Karl Meinke" link: "https://researchr.org/alias/karl-meinke" - name: "Bernhard Möller" link: "https://researchr.org/alias/bernhard-m%C3%B6ller" - name: "Tobias Nipkow" link: "https://researchr.org/alias/tobias-nipkow" volume: "816" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-58233-9" kind: "inproceedings" key: "DeursenD93" - title: "A Classification of Crosscutting Concerns" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2005.7" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2005.7" tags: - "classification" researchr: "https://researchr.org/publication/MarinMD05%3A0" cites: 0 citedby: 0 pages: "673-676" booktitle: "21st IEEE International Conference on Software Maintenance (ICSM 2005), 25-30 September 2005, Budapest, Hungary" publisher: "IEEE Computer Society" isbn: "0-7695-2368-4" kind: "inproceedings" key: "MarinMD05:0" - title: "Strategies for Source-to-Source Constant Progagation" author: - name: "Karina Olmos" link: "https://researchr.org/profile/karinaolmos/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2002" doi: "https://doi.org/10.1016/S1571-0661(04)80605-4" abstract: "Data-flow optimizations are usually implemented on low-level intermediate repre- sentations. This is not appropriate for source-to-source optimizations, which re- construct a source level program after transformation. In this paper we show how constant propagation, a well known data-flow optimization problem, can be imple- mented on abstract syntax trees in Stratego, a rewriting system extended with programmable rewriting strategies for the control over the application of rules and dynamic rewrite rules for the propagation of information. " links: doi: "https://doi.org/10.1016/S1571-0661(04)80605-4" tags: - "control systems" - "model-to-model transformation" - "optimization" - "rule-based" - "graph transformation" - "dynamic rewrite rules" - "abstract syntax" - "Stratego/XT" - "data-flow programming" - "data-flow" - "source-to-source" - "graph-rewriting" - "rules" - "transformation system" - "model transformation" - "program optimization" - "rewriting" - "constant propagation" - "rewriting strategies" - "open-source" - "transformation" - "Stratego" - "program transformation" researchr: "https://researchr.org/publication/OlmosV02" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "70" number: "6" pages: "156-175" kind: "article" key: "OlmosV02" - title: "Programming the Mobile Web with Mobl" author: - name: "Zef Hemel" link: "http://zef.me" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" month: "January" abstract: "A new generation of mobile touch devices, such as the iPhone, Android and iPad, are equipped with powerful, modern browsers. However, regular websites are not optimized for the specific features and constraints of these devices, such as limited screen estate, unreliable Internet access, touch-based interaction patterns, and features such as GPS. While recent advances in web technology enable web developers to build web applications that take advantage of the unique properties of mobile devices, developing such applications is not a clean, well-integrated experience. Developers are required to use many loosely coupled languages with limited tool support and application code is often verbose and imperative. We introduce mobl, a new language designed to declaratively construct mobile web applications. Mobl integrates languages for user interface design, data modeling and querying, scripting and web services into a single, unified language that is flexible, expressive, enables early detection of errors, and has good IDE support. We illustrate the design of the language with the implementation of ConfPlan, an application for keeping track of the schedule of conference events." tags: - "programming languages" - "optimization" - "interaction design" - "rule-based" - "meta programming" - "data-flow language" - "pattern language" - "meta-model" - "modeling language" - "modeling" - "web service" - "language modeling" - "language design" - "constraints" - "data-flow programming" - "data-flow" - "mobile code" - "code generation" - "web services" - "web applications" - "programming" - "program optimization" - "Meta-Environment" - "design" - "mobile" - "query language" - "domain-specific language" researchr: "https://researchr.org/publication/HemelVisser2011A" cites: 0 citedby: 0 institution: "Delft University of Technology" number: "TUD-SERG-2011-01" kind: "techreport" key: "HemelVisser2011A" - title: "Isolating Idiomatic Crosscutting Concerns" author: - name: "Magiel Bruntink" link: "https://researchr.org/alias/magiel-bruntink" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tom Tourwé" link: "https://researchr.org/alias/tom-tourw%C3%A9" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2005.57" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2005.57" researchr: "https://researchr.org/publication/BruntinkDT05" cites: 0 citedby: 0 pages: "37-46" booktitle: "21st IEEE International Conference on Software Maintenance (ICSM 2005), 25-30 September 2005, Budapest, Hungary" publisher: "IEEE Computer Society" isbn: "0-7695-2368-4" kind: "inproceedings" key: "BruntinkDT05" - title: "Invariant-based automatic testing of AJAX user interfaces" author: - name: "Ali Mesbah" link: "http://www.st.ewi.tudelft.nl/~mesbah/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2009" doi: "http://dx.doi.org/10.1109/ICSE.2009.5070522" abstract: "AJAX-based Web 2.0 applications rely on stateful asynchronous client/server communication, and client-side run-time manipulation of the DOM tree. This not only makes them fundamentally different from traditional web applications, but also more error-prone and harder to test. We propose a method for testing AJAX applications automatically, based on a crawler to infer a flow graph for all (client-side) user interface states. We identify AJAX-specific faults that can occur in such states (related to DOM validity, error messages, discoverability, back-button compatibility, etc.) as well as DOM-tree invariants that can serve as oracle to detect such faults. We implemented our approach in ATUSA, a tool offering generic invariant checking components, a plugin-mechanism to add application-specific state validators, and generation of a test suite covering the paths obtained during crawling. We describe two case studies evaluating the fault revealing capabilities, scalability, required manual effort and level of automation of our approach." links: doi: "http://dx.doi.org/10.1109/ICSE.2009.5070522" "tech. report": "http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2009-005.pdf" tags: - "data validation" - "rule-based" - "case study" - "AJAX" - "testing" - "data-flow" - "graph-rewriting" - "web applications" - "discoverability" - "rewriting" - "systematic-approach" researchr: "https://researchr.org/publication/MesbahD09" cites: 0 citedby: 0 pages: "210-220" booktitle: "31st International Conference on Software Engineering, ICSE 2009, May 16-24, 2009, Vancouver, Canada, Proceedings" publisher: "IEEE" isbn: "978-1-4244-3452-7" kind: "inproceedings" key: "MesbahD09" - title: "Identifying Objects Using Cluster and Concept Analysis" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "1999" doi: "http://portal.acm.org/citation.cfm?id=302405.302629" links: doi: "http://portal.acm.org/citation.cfm?id=302405.302629" tags: - "meta-model" - "analysis" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/DeursenK99" cites: 0 citedby: 0 pages: "246-255" booktitle: "ICSE" kind: "inproceedings" key: "DeursenK99" - title: "Service configuration management" author: - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2005" doi: "http://doi.acm.org/10.1145/1109128.1109135" abstract: "The deployment of services --- sets of running programs that provide some useful facility on a system or network --- is typically implemented through a manual, time-consuming and error-prone process. For instance, system administrators must deploy the necessary software components, edit configuration files, start or stop processes, and so on. This is often done in an ad hoc style with no reproducibility, violating proper configuration management practices. In this paper we show that build management, software deployment and service deployment can be integrated into a single formalism. We do this in the context of the Nix software deployment system, and show that its advantages --- co-existence of versions and variants, atomic upgrades and rollbacks, and component closure --- extend naturally to service deployment. The approach also elegantly extends to distributed services. In addition, we show that the Nix expression language can simplify the implementation of crosscutting variation points in services. " links: doi: "http://doi.acm.org/10.1145/1109128.1109135" tags: - "programming languages" - "SCM" - "deployment" - "software components" - "software deployment" - "Nix" - "software component" - "software configuration" - "service configuration management" - "context-aware" - "systematic-approach" researchr: "https://researchr.org/publication/DolstraBV05" cites: 0 citedby: 0 pages: "83-98" booktitle: "Proceedings of the 12th International Workshop on Software Configuration Management, SCM 2005, Lisbon, Portugal, September 5-6, 2005" publisher: "ACM" isbn: "1-59593-310-7" kind: "inproceedings" key: "DolstraBV05" - title: "Revealer: A Lexical Pattern Matcher for Architecture Recovery" author: - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Michael Fischer" link: "https://researchr.org/alias/michael-fischer" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Mehdi Jazayeri" link: "https://researchr.org/alias/mehdi-jazayeri" year: "2002" doi: "http://computer.org/proceedings/wcre/1799/17990170abs.htm" links: doi: "http://computer.org/proceedings/wcre/1799/17990170abs.htm" tags: - "architecture" researchr: "https://researchr.org/publication/PinzgerFGJ02" cites: 0 citedby: 0 pages: "170" booktitle: "9th Working Conference on Reverse Engineering (WCRE 2002), 28 October - 1 November 2002, Richmond, VA, USA" editor: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Elizabeth Burd" link: "https://researchr.org/alias/elizabeth-burd" publisher: "IEEE Computer Society" isbn: "0-7695-1799-4" kind: "inproceedings" key: "PinzgerFGJ02" - title: "Managing Evolving Requirements in an Outsourcing Context: An Industrial Experience Report" author: - name: "Marco Lormans" link: "https://researchr.org/alias/marco-lormans" - name: "Hylke W. van Dijk" link: "https://researchr.org/alias/hylke-w.-van-dijk" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Eric Nücker" link: "https://researchr.org/alias/eric-n%C3%BCcker" - name: "Aart de Zeeuw" link: "https://researchr.org/alias/aart-de-zeeuw" year: "2004" doi: "http://csdl.computer.org/comp/proceedings/iwpse/2004/2211/00/22110149abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/iwpse/2004/2211/00/22110149abs.htm" tags: - "requirements management" - "context-aware" researchr: "https://researchr.org/publication/LormansDDNZ04" cites: 0 citedby: 0 pages: "149-158" booktitle: "7th International Workshop on Principles of Software Evolution (IWPSE 2004), 6-7 September 2004, Kyoto, Japan" publisher: "IEEE Computer Society" isbn: "0-7695-2211-4" kind: "inproceedings" key: "LormansDDNZ04" - title: "The Spoofax language workbench: rules for declarative specification of languages and IDEs" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2010" doi: "https://doi.org/10.1145/1869459.1869497" abstract: "Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. Spoofax integrates language processing techniques for parser generation, meta-programming, and IDE development into a single environment. It uses concise, declarative specifications for languages and IDE services. In this paper we describe the architecture of Spoofax and introduce idioms for high-level specifications of language semantics using rewrite rules, showing how analyses can be reused for transformations, code generation, and editor services such as error marking, reference resolving, and content completion. The implementation of these services is supported by language-parametric editor service classes that can be dynamically loaded by the Eclipse IDE, allowing new languages to be developed and used side-by-side in the same Eclipse environment." links: doi: "https://doi.org/10.1145/1869459.1869497" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KatsV10" "acm dl": "https://doi.org/10.1145/1932682.1869497" tags: - "programming languages" - "model-to-model transformation" - "workbench" - "semantics" - "rule-based" - "Eclipse" - "meta programming" - "model editor" - "graph transformation" - "meta-model" - "transformation language" - "architecture" - "reuse" - "model-driven development" - "graph-rewriting" - "rules" - "C++" - "code completion" - "code generation" - "model transformation" - "programming" - "language workbench" - "Spoofax" - "Meta-Environment" - "rewriting" - "parsing" - "meta-objects" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/KatsV10" cites: 0 citedby: 2 pages: "444-463" booktitle: "Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, October 17-21, 2010, Reno/Tahoe, Nevada, USA" editor: - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Siobhán Clarke" link: "https://www.cs.tcd.ie/Siobhan.Clarke/" - name: "Martin C. Rinard" link: "https://researchr.org/alias/martin-c.-rinard" address: "Reno/Tahoe, Nevada" publisher: "ACM" isbn: "978-1-4503-0203-6" kind: "inproceedings" key: "KatsV10" - title: "Program COmprehension through Dynamic Analysis" author: - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Orla Greevy" link: "https://researchr.org/alias/orla-greevy" - name: "Abdelwahab Hamou-Lhadj" link: "https://researchr.org/alias/abdelwahab-hamou-lhadj" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.45" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2006.45" tags: - "program comprehension" - "program analysis" - "analysis" researchr: "https://researchr.org/publication/ZaidmanGH06" cites: 0 citedby: 0 pages: "315" booktitle: "13th Working Conference on Reverse Engineering (WCRE 2006), 23-27 October 2006, Benevento, Italy" publisher: "IEEE Computer Society" isbn: "0-7695-2719-1" kind: "inproceedings" key: "ZaidmanGH06" - title: "A Genetic Programming Approach to Automated Test Generation for Object-Oriented Software" author: - name: "Arjan Seesing" link: "https://researchr.org/alias/arjan-seesing" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" year: "2006" tags: - "object-oriented programming" - "testing" - "programming" - "subject-oriented programming" - "genetic programming" - "systematic-approach" - "feature-oriented programming" researchr: "https://researchr.org/publication/SeesingG06" cites: 0 citedby: 0 journal: "ITSSA" volume: "1" number: "2" pages: "127-134" kind: "article" key: "SeesingG06" - title: "Designing Syntax Embeddings and Assimilations for Language Libraries" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_5" abstract: "Language libraries extend regular libraries with domain-specific notation. More precisely, a language library is a combination of a domain-specific language embedded in the general-purpose host language, a regular library implementing the underlying functionality, and an assimilation transformation that maps embedded DSL fragments to host language code. While the basic architecture for realizing language libraries is the same for all applications, there are many design choices to be made in the design of a particular combination of library, guest language syntax, host language, and assimilation. In this paper, we give an overview of the design space for syntax embeddings and assimilations for the realization of language libraries. " links: doi: "http://dx.doi.org/10.1007/978-3-540-69073-3_5" technicalreport: "https://researchr.org/publication/TUD-SERG-2008-042" tags: - "syntax embedding" - "syntax definition" - "assimilation" - "transformation language" - "architecture" - "language design" - "DSL" - "language libraries" - "design" - "transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerV07" cites: 24 citedby: 1 pages: "34-46" booktitle: "Models in Software Engineering, Workshops and Symposia at MoDELS 2007, Nashville, TN, USA, September 30 - October 5, 2007, Reports and Revised Selected Papers" editor: - name: "Holger Giese" link: "https://researchr.org/alias/holger-giese" volume: "5002" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-69069-6" kind: "inproceedings" key: "BravenboerV07" - title: "Adinda: a knowledgeable, browser-based IDE" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Ali Mesbah" link: "https://researchr.org/alias/ali-mesbah" - name: "Bas Cornelissen" link: "https://researchr.org/alias/bas-cornelissen" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Anja Guzzi" link: "https://researchr.org/alias/anja-guzzi" year: "2010" doi: "http://doi.acm.org/10.1145/1810295.1810330" links: doi: "http://doi.acm.org/10.1145/1810295.1810330" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/DeursenMCZPG10" tags: - "rule-based" researchr: "https://researchr.org/publication/DeursenMCZPG10" cites: 0 citedby: 0 pages: "203-206" booktitle: "Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, ICSE 2010, Cape Town, South Africa, 1-8 May 2010" editor: - name: "Jeff Kramer" link: "https://researchr.org/alias/jeff-kramer" - name: "Judith Bishop" link: "https://researchr.org/alias/judith-bishop" - name: "Premkumar T. Devanbu" link: "https://researchr.org/alias/premkumar-t.-devanbu" - name: "Sebastián Uchitel" link: "https://researchr.org/alias/sebasti%C3%A1n-uchitel" publisher: "ACM" isbn: "978-1-60558-719-6" kind: "inproceedings" key: "DeursenMCZPG10" - title: "Exploring Legacy Systems using Types" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2000" doi: "http://computer.org/proceedings/wcre/0881/08810032abs.htm" links: doi: "http://computer.org/proceedings/wcre/0881/08810032abs.htm" tags: - "type system" researchr: "https://researchr.org/publication/DeursenM00" cites: 0 citedby: 0 pages: "32-41" booktitle: "WCRE" kind: "inproceedings" key: "DeursenM00" - title: "Domain-Specific Languages: An Annotated Bibliography" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2000" doi: "http://doi.acm.org/10.1145/352029.352035" abstract: "We survey the literature available on the topic of domain-specific languages as used for the construction and maintenance of software systems. We list a selection of 75 key publications in the area, and provide a summary for each of the papers. Moreover, we discuss terminology, risks and benefits, example domain-specific languages, design methodologies, and implementation techniques." links: doi: "http://doi.acm.org/10.1145/352029.352035" tags: - "Domain-specific languages" - "bibliography" - "language design" - "maintenance" - "survey" - "annotated bibliography" - "design" - "domain-specific language" researchr: "https://researchr.org/publication/DeursenKV00" cites: 79 citedby: 4 journal: "SIGPLAN Notices" volume: "35" number: "6" pages: "26-36" kind: "article" key: "DeursenKV00" - title: "Guest Editor s Introduction: 10th Working Conference on Reverse Engineering" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Eleni Stroulia" link: "https://researchr.org/alias/eleni-stroulia" year: "2005" doi: "http://dx.doi.org/10.1109/TSE.2005.24" links: doi: "http://dx.doi.org/10.1109/TSE.2005.24" tags: - "reverse engineering" researchr: "https://researchr.org/publication/DeursenS04" cites: 0 citedby: 0 journal: "IEEE Trans. Software Eng." volume: "31" number: "2" pages: "97-98" kind: "article" key: "DeursenS04" - title: "Predicting class testability using object-oriented metrics" author: - name: "Magiel Bruntink" link: "http://homepages.cwi.nl/~bruntink/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2004" month: "Sept." doi: "10.1109/SCAM.2004.16" abstract: "We investigate factors of the testability of object-oriented software systems. The starting point is given by a study of the literature to obtain both an initial model of testability and existing OO metrics related to testability. Subsequently, these metrics are evaluated by means of two case studies of large Java systems for which JUnit test cases exist. The goal of This work is to define and evaluate a set of metrics that can be used to assess the testability of the classes of a Java system." tags: - "Java" - "case study" - "meta-model" - "metrics" - "testing" - "object-role modeling" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/1386167" cites: 0 citedby: 0 booktitle: "Source Code Analysis and Manipulation, 2004. Fourth IEEE International Workshop on" kind: "inproceedings" key: "1386167" - title: "Scannerless Generalized-LR Parsing" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "July" abstract: "Current deterministic parsing techniques have a number of problems. These include the limitations of parser generators for deterministic languages and the complex interface between scanner and parser. Scannerless parsing is a parsing technique in which lexical and context-free syntax are integrated into one grammar and are all handled by a single context-free analysis phase. This approach has a number of advantages including discarding of the scanner and lexical disambiguation by means of the context in which a lexical token occurs, Scannerless parsing generates a number of interesting problems as well. Integrated grammars do not fit the requirements of the conventional deterministic parsing techniques. A plain context-free grammar formalism leads to unwieldy grammars. if all lexical information is included. Lexical disambiguation needs to be reformulated for use in context-free parsing. The scannerless generalized-LR parsing approach presented in this paper solves these problems. Grammar normalization is used to support an expressive grammar formalism without complicating the underlying machinery. Follow restrictions are used to express longest match lexical disambiguation. Reject productions are used to express the prefer keywords rule for lexical disambiguation. The SLR parser generation algorithm is adapted to implement disambiguation by general priority and associativity declarations and to interpret follow restrictions. Generalized-LR parsing is used to provide dynamic lookahead and to support parsing of arbitrary context-free grammars including ambiguous ones. An adaptation of the GLR algorithm supports the interpretation of grammars with reject productions. " tags: - "parsing algorithm" - "GLR parsing" - "rule-based" - "SDF" - "lexical syntax" - "disambiguation" - "GLR" - "analysis" - "rules" - "context-aware" - "parsing" - "scannerless parsing" - "systematic-approach" - "ASF+SDF" - "SGLR" - "grammar" researchr: "https://researchr.org/publication/Visser97-SGLR" cites: 0 citedby: 6 institution: "Programming Research Group, University of Amsterdam" number: "P9707" kind: "techreport" key: "Visser97-SGLR" - title: "Analyzing and Relating Bug Report Data for Feature Tracking" author: - name: "Michael Fischer" link: "https://researchr.org/alias/michael-fischer" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/wcre/2003/2027/00/20270090abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/wcre/2003/2027/00/20270090abs.htm" tags: - "data-flow" researchr: "https://researchr.org/publication/FischerPG03%3A0" cites: 0 citedby: 0 pages: "90-101" booktitle: "10th Working Conference on Reverse Engineering (WCRE 2003), 13-16 November 2003, Victoria, Canada" editor: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Eleni Stroulia" link: "https://researchr.org/alias/eleni-stroulia" - name: "Margaret-Anne D. Storey" link: "http://" publisher: "IEEE Computer Society" isbn: "0-7695-2027-8" kind: "inproceedings" key: "FischerPG03:0" - title: "ASD: The Action Semantic Description Tools" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Peter D. Mosses" link: "https://pdmosses.github.io" year: "1996" researchr: "https://researchr.org/publication/DeursenM96" cites: 0 citedby: 0 pages: "579-582" booktitle: "Algebraic Methodology and Software Technology, 5th International Conference, AMAST 96, Munich, Germany, July 1-5, 1996, Proceedings" editor: - name: "Martin Wirsing" link: "https://researchr.org/alias/martin-wirsing" - name: "Maurice Nivat" link: "https://researchr.org/alias/maurice-nivat" volume: "1101" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-61463-X" kind: "inproceedings" key: "DeursenM96" - title: "Interactive views for analyzing problem reports" author: - name: "Patrick Knab" link: "https://researchr.org/alias/patrick-knab" - name: "Beat Fluri" link: "https://researchr.org/alias/beat-fluri" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2009" doi: "http://dx.doi.org/10.1109/ICSM.2009.5306384" links: doi: "http://dx.doi.org/10.1109/ICSM.2009.5306384" researchr: "https://researchr.org/publication/KnabFGP09" cites: 0 citedby: 0 pages: "527-530" booktitle: "25th IEEE International Conference on Software Maintenance (ICSM 2009), September 20-26, 2009, Edmonton, Alberta, Canada" publisher: "IEEE" kind: "inproceedings" key: "KnabFGP09" - title: "Quality Assessment Based on Attribute Series of Software Evolution" author: - name: "Jacek Ratzinger" link: "https://researchr.org/alias/jacek-ratzinger" - name: "Harald Gall" link: "https://researchr.org/alias/harald-gall" - name: "Martin Pinzger" link: "http://swerl.tudelft.nl/bin/view/MartinPinzger" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.39" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2007.39" tags: - "rule-based" - "software evolution" researchr: "https://researchr.org/publication/RatzingerGP07" cites: 0 citedby: 0 pages: "80-89" booktitle: "14th Working Conference on Reverse Engineering (WCRE 2007), 28-31 October 2007, Vancouver, BC, Canada" publisher: "IEEE Computer Society" kind: "inproceedings" key: "RatzingerGP07" - title: "Assessment of Issue Handling Efficiency" author: - name: "Bart Luijten" link: "http://nl.linkedin.com/in/bluijten" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" year: "2010" abstract: "We mined the issue database of GNOME to assess how issues are handled. How many issues are submitted and resolved? Does the backlog grow or decrease? How fast are issues resolved? Does issue resolution speed increase or decrease over time? In which subproject are issues handled most efficiently? To answer such questions, we apply several visualization and quantification instruments to the raw issue data. In particular, we aggregate issues into four risk categories, based on their resolution time. These categories are the basis both for visualizing and ranking, which are used in concert for issue database exploration." tags: - "source code analysis" - "rule-based" - "issue mining" - "software product quality" - "points-to analysis" - "analysis" - "data-flow" - "source-to-source" - "database" - "data-flow analysis" - "software defects" - "open-source" researchr: "https://researchr.org/publication/LuijtenVZ2010" cites: 0 citedby: 0 booktitle: "The 7th Working Conference on Mining Software Repositories (MSR 2010)" kind: "inproceedings" key: "LuijtenVZ2010" - title: "A Family of Syntax Definition Formalisms" author: - name: "Eelco Visser" link: "http://eelcovisser.org" year: "1997" month: "August" abstract: "In the next chapters we present the design and specification of a family of syntax definition formalisms. The kernel of this family of formalisms is formed by context-free grammars. A number of orthogonal extensions to the kernel is defined. Many of these extensions are defined in terms of the primitives of the kernel by means of normalization functions. This provides a framework for constructing new formalisms by adapting and extending previous ones. Included in the family are the following extensions of context-free grammars, uniform definition of lexical and context-free syntax, variables, disambiguation by priorities, follow restrictions and reject productions, a rich set of regular expressions defined in terms of context-free productions, character classes, aliases, parameterized modules with hidden imports and renamings. The accumulation of these extensions is the syntax definition formalism SDF. This chapter provides an introduction to SDF and gives an overview of the design and specification of the family of formalisms." links: "postscript": "http://www.st.ewi.tudelft.nl/~eelco/papers/P9706.ps" tags: - "syntax definition" - "SDF" - "lexical syntax" - "scannerless" - "disambiguation" - "context-aware" - "parsing" - "design" - "scannerless parsing" - "ASF+SDF" - "grammar" researchr: "https://researchr.org/publication/Visser97-SDF" cites: 0 citedby: 2 institution: "Programming Research Group, University of Amsterdam" number: "P9706" kind: "techreport" key: "Visser97-SDF" - title: "Identifying Aspects Using Fan-In Analysis" author: - name: "Marius Marin" link: "http://www.st.ewi.tudelft.nl/~marin/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2004" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.23" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2004.23" tags: - "analysis" researchr: "https://researchr.org/publication/MarinDM04" cites: 0 citedby: 0 pages: "132-141" booktitle: "11th Working Conference on Reverse Engineering (WCRE 2004), 8-12 November 2004, Delft, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-2243-2" kind: "inproceedings" key: "MarinDM04" - title: "Establishing Evidence for Safety Cases in Automotive Systems - A Case Study" author: - name: "Willem Ridderhof" link: "https://researchr.org/alias/willem-ridderhof" - name: "Hans-Gerhard Gross" link: "http://www.st.ewi.tudelft.nl/~gross" - name: "Heiko Dörr" link: "https://researchr.org/alias/heiko-d%C3%B6rr" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-75101-4_1" links: doi: "http://dx.doi.org/10.1007/978-3-540-75101-4_1" tags: - "case study" researchr: "https://researchr.org/publication/RidderhofGD07" cites: 0 citedby: 0 pages: "1-13" booktitle: "Computer Safety, Reliability, and Security, 26th International Conference, SAFECOMP 2007, Nuremberg, Germany, September 18-21, 2007" editor: - name: "Francesca Saglietti" link: "https://researchr.org/alias/francesca-saglietti" - name: "Norbert Oster" link: "https://researchr.org/alias/norbert-oster" volume: "4680" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-75100-7" kind: "inproceedings" key: "RidderhofGD07" - title: "Decorated Attribute Grammars: Attribute Evaluation Meets Strategic Programming" author: - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Anthony M. Sloane" link: "http://www.comp.mq.edu.au/~asloane" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2009" doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_11" abstract: "Attribute grammars are a powerful specification formalism for tree-based computation, particularly for software language processing. Various extensions have been proposed to abstract over common patterns in attribute grammar specifications. These include various forms of copy rules to support non-local dependencies, collection attributes, and expressing dependencies that are evaluated to a fixed point. Rather than implementing extensions natively in an attribute evaluator, we propose attribute decorators that describe an abstract evaluation mechanism for attributes, making it possible to provide such extensions as part of a library of decorators. Inspired by strategic programming, decorators are specified using generic traversal operators. To demonstrate their effectiveness, we describe how to employ decorators in name, type, and flow analysis. " links: doi: "http://dx.doi.org/10.1007/978-3-642-00722-4_11" "technical report (pdf)": "http://www.lclnet.nl/publications/TUD-SERG-2008-038a.pdf" "project home page": "http://strategoxt.org/Stratego/Aster" tags: - "programming languages" - "rule-based" - "attribute grammars" - "program analysis" - "etaps" - "data-flow language" - "pattern language" - "generic programming" - "Stratego/XT" - "traversal" - "analysis" - "data-flow programming" - "data-flow" - "graph-rewriting" - "rules" - "C++" - "strategic programming" - "programming" - "rewriting" - "data-flow analysis" - "Aster" - "grammar" - "Stratego" researchr: "https://researchr.org/publication/KatsSV09" cites: 36 citedby: 1 pages: "142-157" booktitle: "Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings" editor: - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" - name: "Michael I. Schwartzbach" link: "http://www.brics.dk/~mis/" volume: "5501" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-642-00721-7" kind: "inproceedings" key: "KatsSV09" - title: "MetaBorg in Action: Examples of Domain-Specific Language Embedding and Assimilation Using Stratego/XT" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "René de Groot" link: "http://strategoxt.org/Main/ReneDeGroot" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2006" doi: "http://dx.doi.org/10.1007/11877028_10" abstract: "General-purpose programming languages provide limited facilities for expressing domain-specific concepts in a natural manner. All domain concepts need to be captured using the same generic syntactic and semantic constructs. Generative programming methods and program transformation techniques can be used to overcome this lack of abstraction in general-purpose languages. In this tutorial we describe the MetaBorg method for embedding domain-specific languages, tailored syntactically and semantically to the application domain at hand, in a general-purpose language. MetaBorg is based on Stratego/XT, a language and toolset for the implementation of program transformation systems, which is used for the definition of syntactic embeddings and assimilation of the embedded constructs into the surrounding code. We illustrate MetaBorg with three examples. JavaSwul is a custom designed language for implementing graphical user-interfaces, which provides high-level abstractions for component composition and event-handling. JavaRegex is a new embedding of regular expression matching and string rewriting. JavaJava is an embedding of Java in Java for generating Java code. For these cases we show how Java programs in these domains become dramatically more readable, and we give an impression of the implementation of the language embeddings. " links: doi: "http://dx.doi.org/10.1007/11877028_10" tags: - "generative programming" - "programming languages" - "rule-based" - "transformation engineering" - "Java" - "generic programming" - "assimilation" - "graph transformation" - "Stratego/XT" - "language engineering" - "domain-specific language embedding" - "transformation language" - "composition" - "MetaBorg" - "language design" - "graph-rewriting" - "transformation system" - "language embedding" - "DSL" - "programming" - "abstraction" - "language composition" - "rewriting" - "transformation" - "Stratego" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/BravenboerGV06" cites: 0 citedby: 3 pages: "297-311" booktitle: "Generative and Transformational Techniques in Software Engineering, International Summer School, GTTSE 2005, Braga, Portugal, July 4-8, 2005. Revised Papers" editor: - 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: "inproceedings" key: "BravenboerGV06" - title: "Preventing injection attacks with syntax embeddings" author: - name: "Martin Bravenboer" link: "http://martin.bravenboer.name/" - name: "Eelco Dolstra" link: "https://researchr.org/profile/eelcodolstra/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2007" doi: "http://doi.acm.org/10.1145/1289971.1289975" abstract: "Software written in one language often needs to construct sentences in another language, such as SQL queries, XML output, or shell command invocations. This is almost always done using unhygienic string manipulation, the concatenation of constants and client-supplied strings. A client can then supply specially crafted input that causes the constructed sentence to be interpreted in an unintended way, leading to an injection attack. We describe a more natural style of programming that yields code that is impervious to injections by construction. Our approach embeds the grammars of the guest languages (e.g., SQL) into that of the host language (e.g., Java) and automatically generates code that maps the embedded language to constructs in the host language that reconstruct the embedded sentences, adding escaping functions where appropriate. This approach is generic, meaning that it can be applied with relative ease to any combination of host and guest languages." links: doi: "http://doi.acm.org/10.1145/1289971.1289975" successor: "https://researchr.org/publication/BravenboerDV10" tags: - "programming languages" - "syntax embedding" - "Java" - "preventing injection attacks" - "generic programming" - "injection attack" - "SDF" - "XML" - "embedded software" - "XML Schema" - "SQL" - "security" - "language embedding" - "DSL" - "programming" - "systematic-approach" - "ASF+SDF" - "grammar" - "query language" researchr: "https://researchr.org/publication/BravenboerDV07" cites: 0 citedby: 4 pages: "3-12" booktitle: "Generative Programming and Component Engineering, 6th International Conference, GPCE 2007" editor: - name: "Charles Consel" link: "https://researchr.org/alias/charles-consel" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" address: "Salzburg, Austria" publisher: "ACM" isbn: "978-1-59593-855-8" kind: "inproceedings" key: "BravenboerDV07" - title: "Connecting Traces: Understanding Client-Server Interactions in Ajax Applications" author: - name: "Nick Matthijssen" link: "https://researchr.org/alias/nick-matthijssen" - name: "Andy Zaidman" link: "http://www.st.ewi.tudelft.nl/~zaidman" - name: "Margaret-Anne D. Storey" link: "http://" - name: "R. Ian Bull" link: "https://researchr.org/alias/r.-ian-bull" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" year: "2010" doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.14" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/iwpc/MatthijssenZSBD10" tags: - "AJAX" researchr: "https://researchr.org/publication/MatthijssenZSBD10" cites: 0 citedby: 0 pages: "216-225" booktitle: "The 18th IEEE International Conference on Program Comprehension, ICPC 2010, Braga, Minho, Portugal, June 30-July 2, 2010" publisher: "IEEE Computer Society" isbn: "978-0-7695-4113-6" kind: "inproceedings" key: "MatthijssenZSBD10"