publications: - title: "Identifying and introducing interfaces and callbacks using Wrangler" author: - name: "Pablo Lamela Seijas" link: "https://researchr.org/alias/pablo-lamela-seijas" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" year: "2016" doi: "http://doi.acm.org/10.1145/3064899.3064909" links: doi: "http://doi.acm.org/10.1145/3064899.3064909" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ifl/SeijasT16" researchr: "https://researchr.org/publication/SeijasT16" cites: 0 citedby: 0 booktitle: "IFL" kind: "inproceedings" key: "SeijasT16" - title: "An O(m log n) Algorithm for Computing Stuttering Equivalence and Branching Bisimulation" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "David N. Jansen" link: "https://researchr.org/alias/david-n.-jansen" - name: "Jeroen J. A. Keiren" link: "https://www.jeroenkeiren.nl" - name: "Anton Wijs" link: "https://researchr.org/alias/anton-wijs" year: "2017" doi: "http://doi.acm.org/10.1145/3060140" links: doi: "http://doi.acm.org/10.1145/3060140" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/tocl/GrooteJKW17" researchr: "https://researchr.org/publication/GrooteJKW17" cites: 0 citedby: 0 journal: "tocl" volume: "18" number: "2" kind: "article" key: "GrooteJKW17" - title: "Specification and verification of concurrent systems in CESAR" author: - name: "Jean-Pierre Queille" link: "https://researchr.org/alias/jean-pierre-queille" - name: "Joseph Sifakis" link: "https://researchr.org/alias/joseph-sifakis" year: "1982" researchr: "https://researchr.org/publication/QueilleS82" cites: 0 citedby: 0 pages: "337-351" booktitle: "programm" kind: "inproceedings" key: "QueilleS82" - title: "Evaluating the effect of a lightweight formal technique in industry" author: - name: "Ammar Osaiweran" link: "https://researchr.org/alias/ammar-osaiweran" - name: "Mathijs Schuts" link: "https://researchr.org/alias/mathijs-schuts" - name: "Jozef Hooman" link: "https://researchr.org/alias/jozef-hooman" - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "Bart J. van Rijnsoever" link: "https://researchr.org/alias/bart-j.-van-rijnsoever" year: "2016" doi: "http://dx.doi.org/10.1007/s10009-015-0374-1" links: doi: "http://dx.doi.org/10.1007/s10009-015-0374-1" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/sttt/OsaiweranSHGR16" researchr: "https://researchr.org/publication/OsaiweranSHGR16" cites: 0 citedby: 0 journal: "STTT" volume: "18" number: "1" pages: "93-108" kind: "article" key: "OsaiweranSHGR16" - title: "LTSmin: High-Performance Language-Independent Model Checking" author: - name: "Gijs Kant" link: "https://researchr.org/alias/gijs-kant" - name: "Alfons Laarman" link: "https://researchr.org/alias/alfons-laarman" - name: "Jeroen Meijer" link: "https://researchr.org/alias/jeroen-meijer" - name: "Jaco van de Pol" link: "https://researchr.org/alias/jaco-van-de-pol" - name: "Stefan Blom" link: "https://researchr.org/alias/stefan-blom" - name: "Tom van Dijk" link: "https://researchr.org/alias/tom-van-dijk" year: "2015" doi: "http://dx.doi.org/10.1007/978-3-662-46681-0_61" links: doi: "http://dx.doi.org/10.1007/978-3-662-46681-0_61" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/tacas/KantLMPBD15" researchr: "https://researchr.org/publication/KantLMPBD15" cites: 0 citedby: 0 pages: "692-707" booktitle: "TACAS" kind: "inproceedings" key: "KantLMPBD15" - title: "Refactoring Tools are Trustworthy Enough and Trust Must be Earned" author: - name: "John Brant" link: "https://researchr.org/alias/john-brant" - name: "Friedrich Steimann" link: "http://www.fernuni-hagen.de/ps/team/friedrich.steimann.shtml" year: "2015" doi: "http://doi.ieeecomputersociety.org/10.1109/MS.2015.145" links: doi: "http://doi.ieeecomputersociety.org/10.1109/MS.2015.145" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/software/BrantS15" researchr: "https://researchr.org/publication/BrantS15" cites: 0 citedby: 0 journal: "IEEE Software" volume: "32" number: "6" pages: "80-83" kind: "article" key: "BrantS15" - title: "Refactoring Erlang Programs" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon Thompson" link: "https://researchr.org/alias/simon-thompson" - name: "László Lövei" link: "https://researchr.org/alias/l%C3%A1szl%C3%B3-l%C3%B6vei" - name: "Zoltán Horváth" link: "https://researchr.org/alias/zolt%C3%A1n-horv%C3%A1th" - name: "Tamás Kozsik" link: "https://researchr.org/alias/tam%C3%A1s-kozsik" - name: "Anikó Víg" link: "https://researchr.org/alias/anik%C3%B3-v%C3%ADg" - name: "Tamás Nagy" link: "https://researchr.org/alias/tam%C3%A1s-nagy" year: "2006" month: "November" links: "url": "http://www.cs.kent.ac.uk/pubs/2006/2455" tags: - "refactoring" researchr: "https://researchr.org/publication/2455" cites: 0 citedby: 0 booktitle: "The Proceedings of 12th International Erlang/OTP User Conference" kind: "inproceedings" key: "2455" - title: "Bounded model checking of C++ programs based on the Qt cross-platform framework" author: - name: "Felipe R. Monteiro" link: "https://researchr.org/alias/felipe-r.-monteiro" - name: "Mário Garcia" link: "https://researchr.org/alias/m%C3%A1rio-garcia" - name: "Lucas C. Cordeiro" link: "https://researchr.org/alias/lucas-c.-cordeiro" - name: "Eddie Batista de Lima Filho" link: "https://researchr.org/alias/eddie-batista-de-lima-filho" year: "2017" doi: "http://dx.doi.org/10.1002/stvr.1632" links: doi: "http://dx.doi.org/10.1002/stvr.1632" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/stvr/MonteiroGCF17" researchr: "https://researchr.org/publication/MonteiroGCF17" cites: 0 citedby: 0 journal: "stvr" volume: "27" number: "3" kind: "article" key: "MonteiroGCF17" - title: "Clang and Coccinelle: Synergising program analysis tools for CERT C Secure Coding Standard certification" author: - name: "Mads Chr. Olesen" link: "https://researchr.org/alias/mads-chr.-olesen" - name: "René Rydhof Hansen" link: "https://researchr.org/alias/ren%C3%A9-rydhof-hansen" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" - name: "Nicolas Palix" link: "https://researchr.org/alias/nicolas-palix" year: "2010" doi: "http://journal.ub.tu-berlin.de/index.php/eceasst/article/view/455" links: doi: "http://journal.ub.tu-berlin.de/index.php/eceasst/article/view/455" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/eceasst/OlesenHLP10" tags: - "program analysis" - "analysis" - "C++" - "certification" researchr: "https://researchr.org/publication/OlesenHLP10" cites: 0 citedby: 0 journal: "eceasst" volume: "33" kind: "article" key: "OlesenHLP10" - title: "Formal verification of translation validators: a case study on instruction scheduling optimizations" author: - name: "Jean-Baptiste Tristan" link: "https://researchr.org/alias/jean-baptiste-tristan" - name: "Xavier Leroy" link: "http://pauillac.inria.fr/~xleroy/" year: "2008" doi: "http://doi.acm.org/10.1145/1328438.1328444" links: doi: "http://doi.acm.org/10.1145/1328438.1328444" tags: - "optimization" - "translation" - "case study" researchr: "https://researchr.org/publication/TristanL08" cites: 0 citedby: 0 pages: "17-27" booktitle: "POPL" kind: "inproceedings" key: "TristanL08" - title: "Formal certification of a compiler back-end or: programming a compiler with a proof assistant" author: - name: "Xavier Leroy" link: "http://pauillac.inria.fr/~xleroy/" year: "2006" doi: "http://doi.acm.org/10.1145/1111037.1111042" links: doi: "http://doi.acm.org/10.1145/1111037.1111042" tags: - "proof assistant" - "certification" - "compiler" - "programming" researchr: "https://researchr.org/publication/Leroy06-POPL" cites: 0 citedby: 1 pages: "42-54" booktitle: "POPL" kind: "inproceedings" key: "Leroy06-POPL" - title: "PhASAR: An Inter-procedural Static Analysis Framework for C/C++" author: - name: "Philipp Dominik Schubert" link: "https://researchr.org/alias/philipp-dominik-schubert" - name: "Ben Hermann" link: "https://researchr.org/alias/ben-hermann" - name: "Eric Bodden" link: "https://researchr.org/alias/eric-bodden" year: "2019" doi: "https://doi.org/10.1007/978-3-030-17465-1_22" links: doi: "https://doi.org/10.1007/978-3-030-17465-1_22" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/tacas/SchubertHB19" researchr: "https://researchr.org/publication/SchubertHB19" cites: 0 citedby: 0 pages: "393-410" booktitle: "TACAS" kind: "inproceedings" key: "SchubertHB19" - title: "Documenting and automating collateral evolutions in linux device drivers" author: - name: "Yoann Padioleau" link: "https://researchr.org/alias/yoann-padioleau" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" - name: "René Rydhof Hansen" link: "https://researchr.org/alias/ren%C3%A9-rydhof-hansen" - name: "Gilles Muller" link: "https://researchr.org/alias/gilles-muller" year: "2008" doi: "http://doi.acm.org/10.1145/1352592.1352618" links: doi: "http://doi.acm.org/10.1145/1352592.1352618" researchr: "https://researchr.org/publication/PadioleauLHM08" cites: 0 citedby: 0 pages: "247-260" booktitle: "eurosys" kind: "inproceedings" key: "PadioleauLHM08" - title: "LLBMC: Bounded Model Checking of C and C++ Programs Using a Compiler IR" author: - name: "Florian Merz" link: "https://researchr.org/alias/florian-merz" - name: "Stephan Falke" link: "https://researchr.org/alias/stephan-falke" - name: "Carsten Sinz" link: "https://researchr.org/alias/carsten-sinz" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-27705-4_12" links: doi: "http://dx.doi.org/10.1007/978-3-642-27705-4_12" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/vstte/MerzFS12" researchr: "https://researchr.org/publication/MerzFS12" cites: 0 citedby: 0 pages: "146-161" booktitle: "vstte" kind: "inproceedings" key: "MerzFS12" - title: "Clang’s refactoring engine" author: - name: "The Clang Team" link: "https://researchr.org/alias/the-clang-team" year: "2019" researchr: "https://researchr.org/publication/Team2019" cites: 0 citedby: 0 kind: "misc" key: "Team2019" - title: "Refactoring Support for Modularity Maintenance in Erlang" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" year: "2010" doi: "http://dx.doi.org/10.1109/SCAM.2010.17" links: doi: "http://dx.doi.org/10.1109/SCAM.2010.17" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/scam/LiT10" tags: - "refactoring" - "maintenance" researchr: "https://researchr.org/publication/LiT10-17" cites: 0 citedby: 0 pages: "157-166" booktitle: "SCAM" kind: "inproceedings" key: "LiT10-17" - title: "State Space Reduction Using Partial tau-Confluence" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "Jaco van de Pol" link: "https://researchr.org/alias/jaco-van-de-pol" year: "2000" doi: "http://link.springer.de/link/service/series/0558/bibs/1893/18930383.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1893/18930383.htm" researchr: "https://researchr.org/publication/GrooteP00" cites: 0 citedby: 0 pages: "383-393" booktitle: "mfcs" kind: "inproceedings" key: "GrooteP00" - title: "ReSharper: Structural Search and Replace" author: - name: "JetBrains" link: "https://researchr.org/alias/jetbrains" year: "2019" links: "url": "https://www.jetbrains.com/help/resharper/Navigation_and_Search__Structural_Search_and_Replace.html" researchr: "https://researchr.org/publication/ReSharper2019structural" cites: 0 citedby: 0 kind: "misc" key: "ReSharper2019structural" - title: "System Validation (4): Modelling Software, Protocols, and other behaviour" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" year: "2019" researchr: "https://researchr.org/publication/Groote2019-2" cites: 0 citedby: 0 kind: "misc" key: "Groote2019-2" - title: "Eclipse CDT" year: "2019" researchr: "https://researchr.org/publication/Eclipse2019cdt" cites: 0 citedby: 0 kind: "misc" key: "Eclipse2019cdt" - title: "Source transformation, analysis and generation in TXL" author: - name: "James R. Cordy" link: "http://research.cs.queensu.ca/~cordy/" year: "2006" doi: "http://doi.acm.org/10.1145/1111542.1111544" links: doi: "http://doi.acm.org/10.1145/1111542.1111544" tags: - "model-to-model transformation" - "meta-model" - "points-to analysis" - "analysis" - "source-to-source" - "TXL" - "model transformation" - "peer-to-peer" - "Meta-Environment" - "open-source" - "transformation" researchr: "https://researchr.org/publication/Cordy06-TXL" cites: 0 citedby: 0 pages: "1-11" booktitle: "PEPM" kind: "inproceedings" key: "Cordy06-TXL" - title: "Concrete Syntax with Black Box Parsers" author: - name: "Rodin Aarssen" link: "https://researchr.org/alias/rodin-aarssen" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Tijs van der Storm" link: "http://homepages.cwi.nl/~storm/" year: "2019" doi: "https://doi.org/10.22152/programming-journal.org/2019/3/15" links: doi: "https://doi.org/10.22152/programming-journal.org/2019/3/15" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/programming/AarssenVS19" researchr: "https://researchr.org/publication/AarssenVS19" cites: 0 citedby: 0 journal: "Programming" volume: "3" number: "3" pages: "15" kind: "article" key: "AarssenVS19" - title: "Extreme Programming Explained: Embrace Change" author: - name: "Beck, Kent" link: "https://researchr.org/alias/beck%2C-kent" year: "2000" researchr: "https://researchr.org/publication/Beck1999extremeprogramming" cites: 0 citedby: 0 address: "Boston, MA, USA" publisher: "Addison-Wesley Longman Publishing Co., Inc." isbn: "0-201-61641-6" kind: "book" key: "Beck1999extremeprogramming" - title: "Declarative Specification of Template-Based Textual Editors" author: - name: "Tobi Vollebregt" link: "http://www.tobivollebregt.nl/" year: "2012" month: "April" doi: "http://resolver.tudelft.nl/uuid:8907468c-b102-4a35-aa84-d49bb2110541" abstract: "Syntax discoverability has been a crucial advantage of structure editors for new users of a language. Despite this advantage, structure editors have not been widely adopted. Nevertheless, the Cheetah system, developed at Capgemini, leverages a structure editor to aid domain experts modeling tax-benefit rules in a domain specific language. The structure editor suffers from a lack of free form editing and conversions from/to plain text. The Spoofax language workbench, developed at Delft University of Technology, uses a textual editor, which is syntax-aware due to immediate parsing and analyses. In this thesis we describe a migration from Cheetah to Spoofax, which aims to bring the advantages of text editing to the tax-benefit rule modeling language. During the migration, we experienced that current text-based language workbenches, such as Spoofax, require redundant specification of the ingredients for a template-based editor, which is detrimental to the quality of syntactic completion, as consistency and completeness of the definition cannot be guaranteed. We describe the design and implementation of a specification language for syntax definition based on templates. It unifies the specification of parser, pretty printer and template-based editor. We evaluate the template language by application to the tax-benefit rule modeling language and a language for mobile web applications." links: doi: "http://resolver.tudelft.nl/uuid:8907468c-b102-4a35-aa84-d49bb2110541" "pdf": "http://repository.tudelft.nl/assets/uuid:8907468c-b102-4a35-aa84-d49bb2110541/thesis-final.pdf" "tud repository": "http://resolver.tudelft.nl/uuid:8907468c-b102-4a35-aa84-d49bb2110541" tags: - "workbench" - "rule-based" - "syntax definition" - "completeness" - "model editor" - "meta-model" - "modeling language" - "modeling" - "language modeling" - "language design" - "rules" - "migration" - "web applications" - "consistency" - "language workbench" - "Spoofax" - "Meta-Environment" - "parsing" - "domain-specific language" researchr: "https://researchr.org/publication/Vollebregt2012" cites: 0 citedby: 0 school: "Delft University of Technology" address: "Delft, The Netherlands" advisor: - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" kind: "mastersthesis" key: "Vollebregt2012" - title: "All from One, One for All: on Model Checking Using Representatives" author: - name: "Doron Peled" link: "https://researchr.org/alias/doron-peled" year: "1993" tags: - "model checking" - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/Peled93" cites: 0 citedby: 0 pages: "409-423" booktitle: "cav" kind: "inproceedings" key: "Peled93" - title: "Refactoring Object-Oriented Frameworks" author: - name: "William F. Opdyke" link: "https://researchr.org/alias/william-f.-opdyke" year: "1992" abstract: "This thesis defines a set of program restructuring operations (refactorings) that support the design, evolution and reuse of object-oriented application frameworks. The focus of the thesis is on automating the refactorings in a way that preserves the behavior of a program. The refactorings are defined to be behavior preserving, provided that their preconditions are met. Most of the refactorings are simple to implement and it is almost trivial to show that they are behavior preserving. However, for a few refactorings, one or more of their preconditions are in general undecidable. Fortunately, for some cases it can be determined whether these refactorings can be applied safely. Three of the most complex refactorings are defined in detail: generalizing the inheritance hierarchy, specializing the inheritance hierarchy and using aggregations to model the relationships among classes. These operations are decomposed into more primitive parts, and the power of these operations is discussed from the perspectives of automatability and usefulness in supporting design. Two design constraints needed in refactoring are class invariants and exclusive components. These constraints are needed to ensure that behavior is preserved across some refactorings. This thesis gives some conservative algorithms for determining whether a program satisfies these constraints, and describes how to use this design information to refactor a program." links: "acm dl": "http://portal.acm.org/citation.cfm?id=169783" tags: - "object-oriented programming" - "reusable components" - "meta programming" - "application framework" - "meta-model" - "model refactoring" - "refactoring" - "constraints" - "reuse" - "object-role modeling" - "information models" - "subject-oriented programming" - "Meta-Environment" - "design" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/Opdyke1992" cites: 0 citedby: 0 school: "University of Illinois" address: "Urbana-Champaign, IL, USA" advisor: - name: "Ralph E. Johnson" link: "http://st-www.cs.illinois.edu/users/johnson/" kind: "phdthesis" key: "Opdyke1992" - title: "Concurrency and Automata on Infinite Sequences" author: - name: "David Michael Ritchie Park" link: "https://researchr.org/alias/david-michael-ritchie-park" year: "1981" researchr: "https://researchr.org/publication/Park81" cites: 0 citedby: 0 pages: "167-183" booktitle: "tcs" kind: "inproceedings" key: "Park81" - title: "Model Based Testing with Labelled Transition Systems" author: - name: "Jan Tretmans" link: "https://researchr.org/alias/jan-tretmans" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-78917-8_1" links: doi: "http://dx.doi.org/10.1007/978-3-540-78917-8_1" tags: - "rule-based" - "testing" researchr: "https://researchr.org/publication/Tretmans08" cites: 0 citedby: 0 pages: "1-38" booktitle: "fortest" kind: "inproceedings" key: "Tretmans08" - title: "Transformation for class immutability" author: - name: "Fredrik Kjolstad" link: "https://researchr.org/alias/fredrik-kjolstad" - name: "Danny Dig" link: "https://researchr.org/alias/danny-dig" - name: "Gabriel Acevedo" link: "https://researchr.org/alias/gabriel-acevedo" - name: "Marc Snir" link: "https://researchr.org/alias/marc-snir" year: "2011" doi: "http://doi.acm.org/10.1145/1985793.1985803" links: doi: "http://doi.acm.org/10.1145/1985793.1985803" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/KjolstadDAS11" tags: - "transformation" researchr: "https://researchr.org/publication/KjolstadDAS11" cites: 0 citedby: 0 pages: "61-70" booktitle: "ICSE" kind: "inproceedings" key: "KjolstadDAS11" - title: "Tool support for refactoring functional programs" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Claus Reinke" link: "https://researchr.org/alias/claus-reinke" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" year: "2003" doi: "http://doi.acm.org/10.1145/871895.871899" links: doi: "http://doi.acm.org/10.1145/871895.871899" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/haskell/LiRT03" researchr: "https://researchr.org/publication/LiRT03" cites: 0 citedby: 0 pages: "27-38" booktitle: "haskell" kind: "inproceedings" key: "LiRT03" - title: "Separation of Concerns and Linguistic Integration in WebDSL" author: - name: "Danny M. Groenewegen" link: "https://www.linkedin.com/in/dannygroenewegen/" - name: "Zef Hemel" link: "http://zef.me" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2010" doi: "http://dx.doi.org/10.1109/MS.2010.92" abstract: "WebDSL is a domain-specific language for Web information systems that maintains separation of concerns while integrating its sublanguages, enabling consistency checking and reusing common language concepts." links: doi: "http://dx.doi.org/10.1109/MS.2010.92" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/software/GroenewegenHV10" tags: - "WebDSL" - "separation of concerns" researchr: "https://researchr.org/publication/GroenewegenHV10" cites: 0 citedby: 0 journal: "IEEE Software" volume: "27" number: "5" pages: "31-37" kind: "article" key: "GroenewegenHV10" - title: "Proof-Carrying Code" author: - name: "George C. Necula" link: "https://researchr.org/alias/george-c.-necula" year: "1997" doi: "http://doi.acm.org/10.1145/263699.263712" links: doi: "http://doi.acm.org/10.1145/263699.263712" tags: - "C++" researchr: "https://researchr.org/publication/Necula97" cites: 0 citedby: 0 pages: "106-119" booktitle: "POPL" kind: "inproceedings" key: "Necula97" - title: "FlowSpec: declarative dataflow analysis specification" author: - name: "Jeff Smits" link: "https://www.jeffsmits.net/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2017" doi: "http://doi.acm.org/10.1145/3136014.3136029" abstract: "We present FlowSpec, a declarative specification language for the domain of dataflow analysis. FlowSpec has declarative support for the specification of control flow graphs of programming languages, and dataflow analyses on these control flow graphs. We define the formal semantics of FlowSpec, which is rooted in Monotone Frameworks. We also discuss a prototype implementation of the language, built in the Spoofax Language Workbench. Finally, we evaluate the expressiveness and conciseness of the language with two case studies. These case studies are analyses for Green-Marl, an industrial, domain-specific language for graph processing. The first case study is a classical dataflow analysis, scaled to this full language. The second case study is a domain-specific analysis of Green-Marl. " links: doi: "http://doi.acm.org/10.1145/3136014.3136029" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/SmitsV17" successor: "https://researchr.org/publication/SmitsWV20" researchr: "https://researchr.org/publication/SmitsV17" cites: 0 citedby: 0 pages: "221-231" booktitle: "SLE" kind: "inproceedings" key: "SmitsV17" - title: "MetaML and multi-stage programming with explicit annotations" author: - name: "Walid Taha" link: "http://www.cs.rice.edu/~taha/" - name: "Tim Sheard" link: "http://web.cecs.pdx.edu/~sheard/" year: "2000" doi: "http://dx.doi.org/10.1016/S0304-3975(00)00053-0" abstract: "Abstract We introduce MetaML, a practically motivated, statically typed multi-stage programming language. MetaML is a “real” language. We have built an implementation and used it to solve multi-stage problems. MetaML allows the programmer to construct, combine, and execute code fragments in a type-safe manner. Code fragments can contain free variables, but they obey the static-scoping principle. MetaML performs type-checking for all stages once and for all before the execution of the first stage. Certain anomalies with our first MetaML implementation led us to formalize an illustrative subset of the MetaML implementation. We present both a big-step semantics and type system for this subset, and prove the type system's soundness with respect to a big-step semantics. From a software engineering point of view, this means that generators written in the MetaML subset never generate unsafe programs. A type system and semantics for full MetaML is still ongoing work. We argue that multi-stage languages are useful as programming languages in their own right, that they supply a sound basis for high-level program generation technology, and that they should support features that make it possible for programmers to write staged computations without significantly changing their normal programming style. To illustrate this we provide a simple three-stage example elaborating a number of practical issues. The design of MetaML was based on two main principles that we identified as fundamental for high-level program generation, namely, cross-stage persistence and cross-stage safety. We present these principles, explain the technical problems they give rise to, and how we address with these problems in our implementation." links: doi: "http://dx.doi.org/10.1016/S0304-3975(00)00053-0" tags: - "programming languages" - "semantics" - "rule-based" - "type soundness" - "language engineering" - "software language engineering" - "language design" - "principles" - "type system" - "software engineering" - "code generation" - "type checking" - "programming" - "staged computation" - "design" researchr: "https://researchr.org/publication/TahaS00" cites: 0 citedby: 1 journal: "TCS" volume: "248" number: "1-2" pages: "211-242" kind: "article" key: "TahaS00" - title: "Mechanical verification of refactorings" author: - name: "Nik Sultana" link: "https://researchr.org/alias/nik-sultana" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" year: "2008" doi: "http://doi.acm.org/10.1145/1328408.1328417" links: doi: "http://doi.acm.org/10.1145/1328408.1328417" tags: - "refactoring" researchr: "https://researchr.org/publication/SultanaT08" cites: 0 citedby: 0 pages: "51-60" booktitle: "PEPM" kind: "inproceedings" key: "SultanaT08" - title: "Control Flow Analysis" author: - name: "Allen, Frances E." link: "https://researchr.org/alias/allen%2C-frances-e." year: "1970" doi: "10.1145/800028.808479" links: "url": "http://doi.acm.org/10.1145/800028.808479" researchr: "https://researchr.org/publication/Allen%3A1970%3ACFA%3A800028.808479" cites: 0 citedby: 0 pages: "1-19" booktitle: "Proceedings of a Symposium on Compiler Optimization" kind: "inproceedings" key: "Allen:1970:CFA:800028.808479" - title: "Laws of Software Evolution Revisited" author: - name: "M. M. Lehman" link: "https://researchr.org/alias/m.-m.-lehman" year: "1996" tags: - "software evolution" researchr: "https://researchr.org/publication/Lehman96a" cites: 0 citedby: 0 pages: "108-124" booktitle: "ewspt" kind: "inproceedings" key: "Lehman96a" - title: "Characterising Renaming within OCaml's Module System: Theory and Implementation" author: - name: "Reuben N. S. Rowe" link: "https://researchr.org/alias/reuben-n.-s.-rowe" - name: "Hugo F\\'{e}r\\'{e}" link: "https://researchr.org/alias/hugo-f%5Eb%27%7Be%7Dr%5Eb%27%7Be%7D" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" - name: "Scott Owens" link: "https://researchr.org/alias/scott-owens" year: "2019" researchr: "https://researchr.org/publication/Rowe2019characterising" cites: 0 citedby: 0 booktitle: "Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019" kind: "inproceedings" key: "Rowe2019characterising" - title: "Managing technical debt" author: - name: "Eric Allman" link: "https://researchr.org/alias/eric-allman" year: "2012" doi: "http://doi.acm.org/10.1145/2160718.2160733" links: doi: "http://doi.acm.org/10.1145/2160718.2160733" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/cacm/Allman12" researchr: "https://researchr.org/publication/Allman12-0" cites: 0 citedby: 0 journal: "CACM" volume: "55" number: "5" pages: "50-55" kind: "article" key: "Allman12-0" - title: "Refactoring using type constraints" author: - name: "Frank Tip" link: "http://domino.research.ibm.com/comm/research_people.nsf/pages/tip.index.html" - name: "Robert M. Fuhrer" link: "https://researchr.org/alias/robert-m.-fuhrer" - name: "Adam Kiezun" link: "https://researchr.org/alias/adam-kiezun" - name: "Michael D. Ernst" link: "https://researchr.org/alias/michael-d.-ernst" - name: "Ittai Balaban" link: "https://researchr.org/alias/ittai-balaban" - name: "Bjorn De Sutter" link: "https://researchr.org/alias/bjorn-de-sutter" year: "2011" doi: "http://doi.acm.org/10.1145/1961204.1961205" links: doi: "http://doi.acm.org/10.1145/1961204.1961205" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/toplas/TipFKEBS11" tags: - "refactoring" - "constraints" researchr: "https://researchr.org/publication/TipFKEBS11" cites: 0 citedby: 0 journal: "TOPLAS" volume: "33" number: "3" pages: "9" kind: "article" key: "TipFKEBS11" - title: "A Theory of Name Resolution" author: - name: "Pierre Néron" link: "https://researchr.org/profile/pierrejeanmichelneron/publications" - name: "Andrew P. Tolmach" link: "http://www.cs.pdx.edu/~apt" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Guido Wachsmuth" link: "https://www.linkedin.com/in/guidowachsmuth/" year: "2015" doi: "http://dx.doi.org/10.1007/978-3-662-46669-8_9" abstract: "We describe a language-independent theory for name binding and resolution, suitable for programming languages with complex scoping rules including both lexical scoping and modules. We formulate name resolution as a two-stage problem. First a language-independent scope graph is constructed using language-specific rules from an abstract syntax tree. Then references in the scope graph are resolved to corresponding declarations using a language-independent resolution process. We introduce a resolution calculus as a concise, declarative, and languageindependent specification of name resolution. We develop a resolution algorithm that is sound and complete with respect to the calculus. Based on the resolution calculus we develop language-independent definitions of α-equivalence and rename refactoring. We illustrate the approach using a small example language with modules. In addition, we show how our approach provides a model for a range of name binding patterns in existing languages." links: doi: "http://dx.doi.org/10.1007/978-3-662-46669-8_9" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/esop/NeronTVW15" technicalreport: "https://researchr.org/publication/TUD-SERG-2015-001" researchr: "https://researchr.org/publication/NeronTVW15" cites: 0 citedby: 0 pages: "205-231" booktitle: "ESOP" kind: "inproceedings" key: "NeronTVW15" - title: "Testing Erlang Refactorings with QuickCheck" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon Thompson" link: "https://researchr.org/alias/simon-thompson" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-85373-2_2" links: doi: "http://dx.doi.org/10.1007/978-3-540-85373-2_2" tags: - "refactoring" - "testing" - "QuickCheck" researchr: "https://researchr.org/publication/LiT07%3A2" cites: 0 citedby: 0 pages: "19-36" booktitle: "IFL" kind: "inproceedings" key: "LiT07:2" - title: "A language generic solution for name binding preservation in refactorings" author: - name: "Maartje de Jonge" link: "https://researchr.org/profile/maartjedejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2012" doi: "http://doi.acm.org/10.1145/2427048.2427050" abstract: "The implementation of refactorings for new languages requires considerable effort from the language developer. We aim at reducing that effort by using language generic techniques. This paper focuses on behavior preservation, in particular the preservation of static name bindings. To detect name binding violations, we implement a technique that reuses the name analysis defined in the compiler front end. Some languages offer the possibility to access variables using qualified names. As a refinement to violation detection, we show that name analysis can be defined as a reusable traversal strategy that can be applied to restore name bindings by creating qualified names. These techniques offer an efficient and reliable solution; the semantics of the language is implemented only once, with the compiler being the single source of truth. We evaluate our approach by implementing a language generic rename refactoring, which we apply to two domain specific languages and a subset of the Java language." links: doi: "http://doi.acm.org/10.1145/2427048.2427050" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ldta/JongeV12" researchr: "https://researchr.org/publication/JongeV12-LDTA" cites: 0 citedby: 0 pages: "2" booktitle: "LDTA" kind: "inproceedings" key: "JongeV12-LDTA" - title: "ESBMC 5.0: an industrial-strength C model checker" author: - name: "Mikhail Y. R. Gadelha" link: "https://researchr.org/alias/mikhail-y.-r.-gadelha" - name: "Felipe R. Monteiro" link: "https://researchr.org/alias/felipe-r.-monteiro" - name: "Jeremy Morse" link: "https://researchr.org/alias/jeremy-morse" - name: "Lucas C. Cordeiro" link: "https://researchr.org/alias/lucas-c.-cordeiro" - name: "Bernd Fischer 0002" link: "https://researchr.org/alias/bernd-fischer-0002" - name: "Denis A. Nicole" link: "https://researchr.org/alias/denis-a.-nicole" year: "2018" doi: "https://doi.org/10.1145/3238147.3240481" links: doi: "https://doi.org/10.1145/3238147.3240481" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/kbse/GadelhaMMC0N18" researchr: "https://researchr.org/publication/GadelhaMMC0N18" cites: 0 citedby: 0 pages: "888-891" booktitle: "ASE" kind: "inproceedings" key: "GadelhaMMC0N18" - title: "The Linear Time-Branching Time Spectrum (Extended Abstract)" author: - name: "Rob J. van Glabbeek" link: "http://theory.stanford.edu/~rvg/" year: "1990" researchr: "https://researchr.org/publication/Glabbeek90" cites: 0 citedby: 0 pages: "278-297" booktitle: "concur" kind: "inproceedings" key: "Glabbeek90" - title: "ClangFormat" year: "2019" doi: "https://clang.llvm.org/docs/ClangFormat.html" links: doi: "https://clang.llvm.org/docs/ClangFormat.html" researchr: "https://researchr.org/publication/ClangFormat" cites: 0 citedby: 0 organization: "The Clang Team" kind: "manual" key: "ClangFormat" - title: "Pitfalls in Applying Model Learning to Industrial Legacy Software" author: - name: "Omar al Duhaiby" link: "https://researchr.org/alias/omar-al-duhaiby" - name: "Arjan J. Mooij" link: "https://researchr.org/alias/arjan-j.-mooij" - name: "Hans van Wezep" link: "https://researchr.org/alias/hans-van-wezep" - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" year: "2018" doi: "https://doi.org/10.1007/978-3-030-03427-6_13" links: doi: "https://doi.org/10.1007/978-3-030-03427-6_13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/isola/DuhaibyMWG18" researchr: "https://researchr.org/publication/DuhaibyMWG18" cites: 0 citedby: 0 pages: "121-138" booktitle: "ISoLA" kind: "inproceedings" key: "DuhaibyMWG18" - 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: "JSC" volume: "46" number: "2" pages: "150-182" kind: "article" key: "HemelGKV11" - title: "Model Checking of C and C++ with DIVINE 4" author: - name: "Zuzana Baranová" link: "https://researchr.org/alias/zuzana-baranov%C3%A1" - name: "Jiri Barnat" link: "https://researchr.org/alias/jiri-barnat" - name: "Katarína Kejstová" link: "https://researchr.org/alias/katar%C3%ADna-kejstov%C3%A1" - name: "Tadeás Kucera" link: "https://researchr.org/alias/tade%C3%A1s-kucera" - name: "Henrich Lauko" link: "https://researchr.org/alias/henrich-lauko" - name: "Jan Mrázek" link: "https://researchr.org/alias/jan-mr%C3%A1zek" - name: "Petr Rockai" link: "https://researchr.org/alias/petr-rockai" - name: "Vladimír Still" link: "https://researchr.org/alias/vladim%C3%ADr-still" year: "2017" doi: "https://doi.org/10.1007/978-3-319-68167-2_14" links: doi: "https://doi.org/10.1007/978-3-319-68167-2_14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/atva/BaranovaBKKLMRS17" researchr: "https://researchr.org/publication/BaranovaBKKLMRS17" cites: 0 citedby: 0 pages: "201-207" booktitle: "ATVA" kind: "inproceedings" key: "BaranovaBKKLMRS17" - title: "System Validation: Automata and behavioural equivalences" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" year: "2019" researchr: "https://researchr.org/publication/Groote2019" cites: 0 citedby: 0 kind: "misc" key: "Groote2019" - title: "Applied Software Measurement: Assuring Productivity and Quality" author: - name: "Jones, Capers" link: "https://researchr.org/alias/jones%2C-capers" year: "1997" researchr: "https://researchr.org/publication/Jones1996ASM" cites: 0 citedby: 0 edition: "2" address: "New York, NY, USA" publisher: "McGraw-Hill, Inc." isbn: "0-07-032826-9" kind: "book" key: "Jones1996ASM" - title: "Specification, implementation and verification of refactorings" author: - name: "Max Schaefer" link: "https://researchr.org/alias/max-schaefer" year: "2010" doi: "http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.580861" links: doi: "http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.580861" dblp: "http://dblp.uni-trier.de/rec/bibtex/phd/ethos/Schaefer10" researchr: "https://researchr.org/publication/ethos-2395" cites: 0 citedby: 0 school: "University of Oxford, UK" kind: "phdthesis" key: "ethos-2395" - title: "QuickCheck: a lightweight tool for random testing of Haskell programs" author: - name: "Koen Claessen" link: "http://www.cse.chalmers.se/~koen/" - name: "John Hughes" link: "http://www.cse.chalmers.se/~rjmh" year: "2000" doi: "http://doi.acm.org/10.1145/351240.351266" abstract: "Quick Check is a tool which aids the Haskell programmer in formulating and testing properties of programs. Properties are described as Haskell functions, and can be automatically tested on random input, but it is also possible to define custom test data generators. We present a number of case studies, in which the tool was successfully used, and also point out some pitfalls to avoid. Random testing is especially suitable for functional programs because properties can be stated at a fine grain. When a function is built from separately tested components, then random testing suffices to obtain good coverage of the definition under test." links: doi: "http://doi.acm.org/10.1145/351240.351266" tags: - "test coverage" - "case study" - "functional programming" - "testing" - "Haskell" - "data-flow programming" - "data-flow" - "random testing" - "programming" - "coverage" - "QuickCheck" researchr: "https://researchr.org/publication/ClaessenH00" cites: 19 citedby: 0 pages: "268-279" booktitle: "ICFP" kind: "inproceedings" key: "ClaessenH00" - title: "Let's make refactoring tools user-extensible!" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" year: "2012" doi: "http://doi.acm.org/10.1145/2328876.2328881" links: doi: "http://doi.acm.org/10.1145/2328876.2328881" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/LiT12" researchr: "https://researchr.org/publication/LiT12-19" cites: 0 citedby: 0 pages: "32-39" booktitle: "ICSE" kind: "inproceedings" key: "LiT12-19" - title: "Logic Verification of ANSI-C Code with SPIN" author: - name: "Gerard J. Holzmann" link: "https://researchr.org/alias/gerard-j.-holzmann" year: "2000" tags: - "C++" - "logic" researchr: "https://researchr.org/publication/Holzmann00" cites: 0 citedby: 0 pages: "131-147" booktitle: "spin" kind: "inproceedings" key: "Holzmann00" - title: "A Symbolic Framework for Model-Based Testing" author: - name: "Lars Frantzen" link: "http://www.frantzen.info/" - name: "Jan Tretmans" link: "https://researchr.org/alias/jan-tretmans" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" year: "2006" doi: "http://dx.doi.org/10.1007/11940197_3" links: doi: "http://dx.doi.org/10.1007/11940197_3" tags: - "rule-based" - "testing" - "C++" researchr: "https://researchr.org/publication/FrantzenTW06" cites: 0 citedby: 0 pages: "40-54" booktitle: "fates" kind: "inproceedings" key: "FrantzenTW06" - title: "Software Quality: Producing Practical, Consistent Software" author: - name: "Ben-Menachem, M." link: "https://researchr.org/alias/ben-menachem%2C-m." - name: "Marliss, G.S." link: "https://researchr.org/alias/marliss%2C-g.s." year: "1997" researchr: "https://researchr.org/publication/Ben-Menachem1997software-quality" cites: 0 citedby: 0 series: "ITCP Computer Science Series" publisher: "International Thomson Computer Press" isbn: "9781850323266" kind: "book" key: "Ben-Menachem1997software-quality" - title: "TXL - A Language for Programming Language Tools and Applications " year: "2004" doi: "http://dx.doi.org/10.1016/j.entcs.2004.11.006" links: doi: "http://dx.doi.org/10.1016/j.entcs.2004.11.006" tags: - "programming languages" - "TXL" - "programming" researchr: "https://researchr.org/publication/Cordy04" cites: 0 citedby: 0 journal: "ENTCS" volume: "110" pages: "3-31" kind: "article" key: "Cordy04" - title: "Custom declarative refactoring in NetBeans: tool demonstration" author: - name: "Jan Lahoda" link: "https://researchr.org/alias/jan-lahoda" - name: "Jan Becicka" link: "https://researchr.org/alias/jan-becicka" - name: "Ralph Benjamin Ruijs" link: "https://researchr.org/alias/ralph-benjamin-ruijs" year: "2012" doi: "http://doi.acm.org/10.1145/2328876.2328886" links: doi: "http://doi.acm.org/10.1145/2328876.2328886" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/LahodaBR12" researchr: "https://researchr.org/publication/LahodaBR12" cites: 0 citedby: 0 pages: "63-64" booktitle: "ICSE" kind: "inproceedings" key: "LahodaBR12" - title: "Clang’s refactoring engine " author: - name: "The Clang Team" link: "https://researchr.org/alias/the-clang-team" year: "2019" doi: "https://clang.llvm.org/docs/RefactoringEngine.html" links: doi: "https://clang.llvm.org/docs/RefactoringEngine.html" researchr: "https://researchr.org/publication/ClangRefactor" cites: 0 citedby: 0 organization: "The Clang Team" kind: "manual" key: "ClangRefactor" - title: "Incremental parametric syntax for multi-language transformation" author: - name: "James Koppel" link: "https://researchr.org/alias/james-koppel" - name: "Armando Solar-Lezama" link: "https://researchr.org/alias/armando-solar-lezama" year: "2017" doi: "https://doi.org/10.1145/3135932.3135940" links: doi: "https://doi.org/10.1145/3135932.3135940" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/KoppelS17" researchr: "https://researchr.org/publication/KoppelS17" cites: 0 citedby: 0 pages: "53-54" booktitle: "OOPSLA" kind: "inproceedings" key: "KoppelS17" - title: "Graph-Based Algorithms for Boolean Function Manipulation" author: - name: "Randal E. Bryant" link: "https://researchr.org/alias/randal-e.-bryant" year: "1986" tags: - "rule-based" - "graph-rewriting" - "e-science" - "rewriting" researchr: "https://researchr.org/publication/Bryant86" cites: 0 citedby: 0 journal: "TC" volume: "35" number: "8" pages: "677-691" kind: "article" key: "Bryant86" - title: "Data types à la carte" author: - name: "Wouter Swierstra" link: "http://www.cse.chalmers.se/~wouter/" year: "2008" doi: "http://dx.doi.org/10.1017/S0956796808006758" links: doi: "http://dx.doi.org/10.1017/S0956796808006758" tags: - "data-flow" researchr: "https://researchr.org/publication/Swierstra08" cites: 0 citedby: 0 journal: "JFP" volume: "18" number: "4" pages: "423-436" kind: "article" key: "Swierstra08" - title: "Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem" author: - name: "Patrice Godefroid" link: "https://researchr.org/alias/patrice-godefroid" year: "1996" tags: - "systematic-approach" researchr: "https://researchr.org/publication/Godefroid96" cites: 0 citedby: 0 volume: "1032" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-60761-7" kind: "book" key: "Godefroid96" - title: "Multi-core symbolic bisimulation minimisation" author: - name: "Tom van Dijk" link: "https://researchr.org/alias/tom-van-dijk" - name: "Jaco van de Pol" link: "https://researchr.org/alias/jaco-van-de-pol" year: "2018" doi: "https://doi.org/10.1007/s10009-017-0468-z" links: doi: "https://doi.org/10.1007/s10009-017-0468-z" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/sttt/DijkP18" researchr: "https://researchr.org/publication/DijkP18" cites: 0 citedby: 0 journal: "STTT" volume: "20" number: "2" pages: "157-177" kind: "article" key: "DijkP18" - title: "Verifying Multi-threaded C Programs with SPIN" author: - name: "Anna Zaks" link: "https://researchr.org/alias/anna-zaks" - name: "Rajeev Joshi" link: "https://researchr.org/alias/rajeev-joshi" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-85114-1_22" links: doi: "http://dx.doi.org/10.1007/978-3-540-85114-1_22" tags: - "program verification" - "C++" researchr: "https://researchr.org/publication/ZaksJ08" cites: 0 citedby: 0 pages: "325-342" booktitle: "spin" kind: "inproceedings" key: "ZaksJ08" - title: "The nuXmv Symbolic Model Checker" author: - name: "Roberto Cavada" link: "https://researchr.org/alias/roberto-cavada" - name: "Alessandro Cimatti" link: "https://researchr.org/alias/alessandro-cimatti" - name: "Michele Dorigatti" link: "https://researchr.org/alias/michele-dorigatti" - name: "Alberto Griggio" link: "https://researchr.org/alias/alberto-griggio" - name: "Alessandro Mariotti" link: "https://researchr.org/alias/alessandro-mariotti" - name: "Andrea Micheli" link: "https://researchr.org/alias/andrea-micheli" - name: "Sergio Mover" link: "https://researchr.org/alias/sergio-mover" - name: "Marco Roveri" link: "https://researchr.org/alias/marco-roveri" - name: "Stefano Tonetta" link: "https://researchr.org/alias/stefano-tonetta" year: "2014" doi: "http://dx.doi.org/10.1007/978-3-319-08867-9_22" links: doi: "http://dx.doi.org/10.1007/978-3-319-08867-9_22" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/cav/CavadaCDGMMMRT14" researchr: "https://researchr.org/publication/CavadaCDGMMMRT14" cites: 0 citedby: 0 pages: "334-342" booktitle: "cav" kind: "inproceedings" key: "CavadaCDGMMMRT14" - title: "Symbolic Bisimulation Minimisation" author: - name: "Amar Bouali" link: "https://researchr.org/alias/amar-bouali" - name: "Robert de Simone" link: "https://researchr.org/alias/robert-de-simone" year: "1992" researchr: "https://researchr.org/publication/BoualiS92" cites: 0 citedby: 0 pages: "96-108" booktitle: "cav" kind: "inproceedings" key: "BoualiS92" - title: "An Algorithm for Layout Preservation in Refactoring Transformations" author: - name: "Maartje de Jonge" link: "https://researchr.org/profile/maartjedejonge/publications" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-28830-2_3" abstract: "Transformations and semantic analysis for source-to-source transformations such as refactorings are most effectively implemented using an abstract representation of the source code. An intrinsic limitation of transformation techniques based on abstract syntax trees is the loss of layout, i.e. comments and whitespace. This is especially relevant in the context of refactorings, which produce source code for human consumption. In this paper, we present an algorithm for fully automatic source code reconstruction for source-to-source transformations. The algorithm preserves the layout and comments of the unaffected parts and reconstructs the indentation of the affected parts, using a set of clearly defined heuristic rules to handle comments." links: doi: "http://dx.doi.org/10.1007/978-3-642-28830-2_3" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/JongeV11" technicalreport: "https://researchr.org/publication/DeJongeVisser2012-TUD-SERG-2011-027" researchr: "https://researchr.org/publication/JongeV11" cites: 0 citedby: 0 pages: "40-59" booktitle: "SLE" kind: "inproceedings" key: "JongeV11" - title: "Industrial Software Rejuvenation Using Open-Source Parsers" author: - name: "Arjan J. Mooij" link: "https://researchr.org/alias/arjan-j.-mooij" - name: "M. M. Joy" link: "https://researchr.org/alias/m.-m.-joy" - name: "Gernot Eggen" link: "https://researchr.org/alias/gernot-eggen" - name: "P. Janson" link: "https://researchr.org/alias/p.-janson" - name: "A. Radulescu" link: "https://researchr.org/alias/a.-radulescu" year: "2016" doi: "http://dx.doi.org/10.1007/978-3-319-42064-6_11" links: doi: "http://dx.doi.org/10.1007/978-3-319-42064-6_11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icmt/MooijJEJR16" researchr: "https://researchr.org/publication/MooijJEJR16" cites: 0 citedby: 0 pages: "157-172" booktitle: "ICMT" kind: "inproceedings" key: "MooijJEJR16" - title: "Credible Compilation with Pointers" author: - name: "M. Rinard" link: "https://researchr.org/alias/m.-rinard" - name: "D. Marinov" link: "https://researchr.org/alias/d.-marinov" year: "1999" month: "Jul" researchr: "https://researchr.org/publication/RM99%3ARRV" cites: 0 citedby: 0 booktitle: "Proceedings of the FLoC Workshop on Run-Time Result Verification" kind: "inproceedings" key: "RM99:RRV" - title: "Formalizing and testing the consistency of DSL transformations" author: - name: "Sarmen Keshishzadeh" link: "https://researchr.org/alias/sarmen-keshishzadeh" - name: "Arjan J. Mooij" link: "https://researchr.org/alias/arjan-j.-mooij" year: "2016" doi: "http://dx.doi.org/10.1007/s00165-016-0359-1" links: doi: "http://dx.doi.org/10.1007/s00165-016-0359-1" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/fac/KeshishzadehM16" researchr: "https://researchr.org/publication/KeshishzadehM16" cites: 0 citedby: 0 journal: "fac" volume: "28" number: "2" pages: "181-206" kind: "article" key: "KeshishzadehM16" - title: "Parameterised boolean equation systems" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" year: "2005" doi: "http://dx.doi.org/10.1016/j.tcs.2005.06.016" links: doi: "http://dx.doi.org/10.1016/j.tcs.2005.06.016" tags: - "C++" researchr: "https://researchr.org/publication/GrooteW05%3A0" cites: 0 citedby: 0 journal: "TCS" volume: "343" number: "3" pages: "332-369" kind: "article" key: "GrooteW05:0" - title: "Matching Logic" author: - name: "Grigore Rosu" link: "https://researchr.org/alias/grigore-rosu" year: "2017" doi: "https://doi.org/10.23638/LMCS-13(4:28)2017" links: doi: "https://doi.org/10.23638/LMCS-13(4:28)2017" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/lmcs/Rosu17" researchr: "https://researchr.org/publication/Rosu17" cites: 0 citedby: 0 journal: "lmcs" volume: "13" number: "4" kind: "article" key: "Rosu17" - title: "One tool, many languages: language-parametric transformation with incremental parametric syntax" author: - name: "James Koppel" link: "https://researchr.org/alias/james-koppel" - name: "Varot Premtoon" link: "https://researchr.org/alias/varot-premtoon" - name: "Armando Solar-Lezama" link: "https://researchr.org/alias/armando-solar-lezama" year: "2018" doi: "https://doi.org/10.1145/3276492" links: doi: "https://doi.org/10.1145/3276492" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/KoppelPS18" researchr: "https://researchr.org/publication/KoppelPS18" cites: 0 citedby: 0 journal: "PACMPL" volume: "2" number: "OOPSLA" kind: "article" key: "KoppelPS18" - title: "Formal verification of a realistic compiler" author: - name: "Xavier Leroy" link: "http://pauillac.inria.fr/~xleroy/" year: "2009" doi: "http://doi.acm.org/10.1145/1538788.1538814" abstract: "This paper reports on the development and formal verification (proof of semantic preservation) of CompCert, a compiler from Clight (a large subset of the C programming language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness. Such a verified compiler is useful in the context of critical software and its formal verification: the verification of the compiler guarantees that the safety properties proved on the source code hold for the executable compiled code as well." links: doi: "http://doi.acm.org/10.1145/1538788.1538814" tags: - "programming languages" - "semantics" - "semantic preservation" - "proof assistant" - "CompCert" - "program verification" - "formal semantics" - "type soundness" - "source-to-source" - "C++" - "compiler" - "programming" - "context-aware" - "open-source" researchr: "https://researchr.org/publication/Leroy09" cites: 0 citedby: 0 journal: "CACM" volume: "52" number: "7" pages: "107-115" kind: "article" key: "Leroy09" - title: "Decision of the Governing Board of the ECSEL Joint Undertaking: Adopting the ECSEL Multi-annual Strategic Plan 2017" author: - name: "{ECSEL Joint Undertaking}" link: "https://researchr.org/alias/%7Becsel-joint-undertaking%7D" year: "2017" doi: "https://www.ecsel.eu/sites/default/files/2017-09/ecsel_gb_2016_70_-_masp_2017-annotated.pdf" links: doi: "https://www.ecsel.eu/sites/default/files/2017-09/ecsel_gb_2016_70_-_masp_2017-annotated.pdf" researchr: "https://researchr.org/publication/ECSEL-MASP2017" cites: 0 citedby: 0 howpublished: "\\url{https://www.ecsel.eu/sites/default/files/2017-09/ecsel_gb_2016_70_-_masp_2017-annotated.pdf}" kind: "misc" key: "ECSEL-MASP2017" - title: "The SPIN Model Checker - primer and reference manual" author: - name: "Gerard J. Holzmann" link: "https://researchr.org/alias/gerard-j.-holzmann" year: "2004" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/books/daglib/0020982" researchr: "https://researchr.org/publication/0020982" cites: 0 citedby: 0 publisher: "Addison-Wesley" isbn: "978-0-321-22862-8" kind: "book" key: "0020982" - title: "Formalising the Dezyne Modelling Language in mCRL2" author: - name: "Rutger van Beusekom" link: "https://researchr.org/alias/rutger-van-beusekom" - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "Paul F. Hoogendijk" link: "https://researchr.org/alias/paul-f.-hoogendijk" - name: "Robert Howe" link: "https://researchr.org/alias/robert-howe" - name: "Wieger Wesselink" link: "https://researchr.org/alias/wieger-wesselink" - name: "Rob Wieringa" link: "https://researchr.org/alias/rob-wieringa" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" year: "2017" doi: "https://doi.org/10.1007/978-3-319-67113-0_14" links: doi: "https://doi.org/10.1007/978-3-319-67113-0_14" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/fmics/BeusekomGHHWWW17" researchr: "https://researchr.org/publication/BeusekomGHHWWW17" cites: 0 citedby: 0 pages: "217-233" booktitle: "fmics" kind: "inproceedings" key: "BeusekomGHHWWW17" - title: "Symbolic Model Checking: 10^20 States and Beyond" author: - name: "Jerry R. Burch" link: "https://researchr.org/alias/jerry-r.-burch" - name: "Edmund M. Clarke" link: "https://researchr.org/alias/edmund-m.-clarke" - name: "Kenneth L. McMillan" link: "https://researchr.org/alias/kenneth-l.-mcmillan" - name: "David L. Dill" link: "https://researchr.org/alias/david-l.-dill" - name: "L. J. Hwang" link: "https://researchr.org/alias/l.-j.-hwang" year: "1992" month: "June" tags: - "model checking" - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/BurchCMDH92" cites: 0 citedby: 0 journal: "iandc" volume: "98" number: "2" pages: "142-170" kind: "article" key: "BurchCMDH92" - title: "The mCRL2 Toolset for Analysing Concurrent Systems - Improvements in Expressivity and Usability" author: - name: "Olav Bunte" link: "https://researchr.org/alias/olav-bunte" - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "Jeroen J. A. Keiren" link: "https://www.jeroenkeiren.nl" - name: "Maurice Laveaux" link: "https://researchr.org/alias/maurice-laveaux" - name: "Thomas Neele" link: "https://researchr.org/alias/thomas-neele" - name: "Erik P. de Vink" link: "https://researchr.org/alias/erik-p.-de-vink" - name: "Wieger Wesselink" link: "https://researchr.org/alias/wieger-wesselink" - name: "Anton Wijs" link: "https://researchr.org/alias/anton-wijs" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" year: "2019" doi: "https://doi.org/10.1007/978-3-030-17465-1_2" links: doi: "https://doi.org/10.1007/978-3-030-17465-1_2" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/tacas/BunteGKLNVWWW19" researchr: "https://researchr.org/publication/BunteGKLNVWWW19" cites: 0 citedby: 0 pages: "21-39" booktitle: "TACAS" kind: "inproceedings" key: "BunteGKLNVWWW19" - title: "Translation Validation" author: - name: "Amir Pnueli" link: "http://www.wisdom.weizmann.ac.il/~amir/" - name: "Michael Siegel" link: "https://researchr.org/alias/michael-siegel" - name: "Eli Singerman" link: "https://researchr.org/alias/eli-singerman" year: "1998" doi: "http://link.springer.de/link/service/series/0558/bibs/1384/13840151.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1384/13840151.htm" tags: - "translation" researchr: "https://researchr.org/publication/PnueliSS98%3A2" cites: 0 citedby: 0 pages: "151-166" booktitle: "TACAS" kind: "inproceedings" key: "PnueliSS98:2" - title: "Stubborn sets for reduced state space generation" author: - name: "Antti Valmari" link: "https://researchr.org/alias/antti-valmari" year: "1989" researchr: "https://researchr.org/publication/Valmari89" cites: 0 citedby: 0 pages: "491-515" booktitle: "apn" kind: "inproceedings" key: "Valmari89" - title: "A Unified Approach to Global Program Optimization" author: - name: "Gary A. Kildall" link: "https://researchr.org/alias/gary-a.-kildall" year: "1973" tags: - "optimization" - "program optimization" - "systematic-approach" researchr: "https://researchr.org/publication/Kildall73" cites: 0 citedby: 0 pages: "194-206" booktitle: "POPL" kind: "inproceedings" key: "Kildall73" - title: "An Implementation of an Efficient Algorithm for Bisimulation Equivalence" author: - name: "Jean-Claude Fernandez" link: "https://researchr.org/alias/jean-claude-fernandez" year: "1989" researchr: "https://researchr.org/publication/Fernandez89" cites: 0 citedby: 0 journal: "SCP" volume: "13" number: "1" pages: "219-236" kind: "article" key: "Fernandez89" - title: "CADP 2011: a toolbox for the construction and analysis of distributed processes" author: - name: "Hubert Garavel" link: "https://researchr.org/alias/hubert-garavel" - name: "Frédéric Lang" link: "https://researchr.org/alias/fr%C3%A9d%C3%A9ric-lang" - name: "Radu Mateescu" link: "https://researchr.org/alias/radu-mateescu" - name: "Wendelin Serwe" link: "https://researchr.org/alias/wendelin-serwe" year: "2013" doi: "http://dx.doi.org/10.1007/s10009-012-0244-z" links: doi: "http://dx.doi.org/10.1007/s10009-012-0244-z" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/sttt/GaravelLMS13" researchr: "https://researchr.org/publication/GaravelLMS13" cites: 0 citedby: 0 journal: "STTT" volume: "15" number: "2" pages: "89-107" kind: "article" key: "GaravelLMS13" - title: "Clang 9 documentation" author: - name: "The Clang Team" link: "https://researchr.org/alias/the-clang-team" - name: "The Clang Team" link: "https://researchr.org/alias/the-clang-team" - name: "The Clang Team" link: "https://researchr.org/alias/the-clang-team" year: "2019" doi: "https://clang.llvm.org/docs/index.html" links: doi: "https://clang.llvm.org/docs/index.html" researchr: "https://researchr.org/publication/Clang9Documentation" cites: 0 citedby: 0 kind: "manual" key: "Clang9Documentation" - title: "System Validation (2): Model process behaviour" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" year: "2019" researchr: "https://researchr.org/publication/Groote2019-0" cites: 0 citedby: 0 kind: "misc" key: "Groote2019-0" - title: "Migrating custom DSL implementations to a language workbench (tool demo)" author: - name: "Jasper Denkers" link: "https://jasperdenkers.com" - name: "Louis van Gool" link: "https://researchr.org/alias/louis-van-gool" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "https://doi.org/10.1145/3276604.3276608" abstract: "We present a tool architecture that supports migrating custom domain-specific language (DSL) implementations to a language workbench. We demonstrate an implementation of this architecture for models in the domains of defining component interfaces (IDL) and modeling system behavior (OIL) which are developed and used at a digital printer manufacturing company. Increasing complexity and the lack of DSL syntax and IDE support for existing implementations in Python based on XML syntax hindered their evolution and adoption. A reimplementation in Spoofax using modular language definition enables composition between IDL and OIL and introduces more concise DSL syntax and IDE support. The presented tool supports migrating to new implementations while being backward compatible with existing syntax and related tooling." links: doi: "https://doi.org/10.1145/3276604.3276608" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/DenkersGV18" researchr: "https://researchr.org/publication/DenkersGV18" cites: 0 citedby: 0 pages: "205-209" booktitle: "SLE" kind: "inproceedings" key: "DenkersGV18" - 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: "GPCE" kind: "inproceedings" key: "BravenboerVVV05" - title: "Automating property-based testing of evolving web services" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" - name: "Pablo Lamela Seijas" link: "https://researchr.org/alias/pablo-lamela-seijas" - name: "Miguel Angel Francisco" link: "https://researchr.org/alias/miguel-angel-francisco" year: "2014" doi: "http://doi.acm.org/10.1145/2543728.2543741" links: doi: "http://doi.acm.org/10.1145/2543728.2543741" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/pepm/LiTSF14" researchr: "https://researchr.org/publication/LiTSF14" cites: 0 citedby: 0 pages: "169-180" booktitle: "PEPM" kind: "inproceedings" key: "LiTSF14" - title: "WYSIWIB: A declarative approach to finding API protocols and bugs in Linux code" author: - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" - name: "Julien Brunel" link: "https://researchr.org/alias/julien-brunel" - name: "Nicolas Palix" link: "https://researchr.org/alias/nicolas-palix" - name: "René Rydhof Hansen" link: "https://researchr.org/alias/ren%C3%A3%C2%A9-rydhof-hansen" - name: "Henrik Stuart" link: "https://researchr.org/alias/henrik-stuart" - name: "Gilles Muller" link: "https://researchr.org/alias/gilles-muller" year: "2009" doi: "http://dx.doi.org/10.1109/DSN.2009.5270354" links: doi: "http://dx.doi.org/10.1109/DSN.2009.5270354" tags: - "protocol" - "systematic-approach" researchr: "https://researchr.org/publication/LawallBPHSM09" cites: 0 citedby: 0 pages: "43-52" booktitle: "dsn" kind: "inproceedings" key: "LawallBPHSM09" - title: "ReSharper" author: - name: "JetBrains" link: "https://researchr.org/alias/jetbrains" year: "2019" researchr: "https://researchr.org/publication/ReSharper2019" cites: 0 citedby: 0 kind: "misc" key: "ReSharper2019" - title: "System Validation (3): Requirements by modal formulas" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" year: "2019" researchr: "https://researchr.org/publication/Groote2019-1" cites: 0 citedby: 0 kind: "misc" key: "Groote2019-1" - title: "The long-term growth rate of evolving software: Empirical results and implications" author: - name: "Les Hatton" link: "https://researchr.org/alias/les-hatton" - name: "Diomidis Spinellis" link: "https://researchr.org/alias/diomidis-spinellis" - name: "Michiel van Genuchten" link: "https://researchr.org/alias/michiel-van-genuchten" year: "2017" doi: "https://doi.org/10.1002/smr.1847" links: doi: "https://doi.org/10.1002/smr.1847" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/smr/HattonSG17" researchr: "https://researchr.org/publication/HattonSG17" cites: 0 citedby: 0 journal: "SMR" volume: "29" number: "5" kind: "article" key: "HattonSG17" - title: "JunGL: a scripting language for refactoring" author: - name: "Mathieu Verbaere" link: "https://researchr.org/alias/mathieu-verbaere" - name: "Ran Ettinger" link: "https://researchr.org/alias/ran-ettinger" - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" year: "2006" doi: "http://doi.acm.org/10.1145/1134311" links: doi: "http://doi.acm.org/10.1145/1134311" tags: - "refactoring" researchr: "https://researchr.org/publication/VerbaereEM06" cites: 0 citedby: 0 pages: "172-181" booktitle: "ICSE" kind: "inproceedings" key: "VerbaereEM06" - title: "Analysing the Control Software of the Compact Muon Solenoid Experiment at the Large Hadron Collider" author: - name: "Yi-Ling Hwong" link: "https://researchr.org/alias/yi-ling-hwong" - name: "Vincent J. J. Kusters" link: "https://researchr.org/alias/vincent-j.-j.-kusters" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" year: "2011" doi: "http://dx.doi.org/10.1007/978-3-642-29320-7_12" links: doi: "http://dx.doi.org/10.1007/978-3-642-29320-7_12" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/fsen/HwongKW11" researchr: "https://researchr.org/publication/HwongKW11" cites: 0 citedby: 0 pages: "174-189" booktitle: "fsen" kind: "inproceedings" key: "HwongKW11" - title: "Increasing usability of spin-based C code verification using a harness definition language: leveraging model-driven code checking to practitioners" author: - name: "Daniel Ratiu" link: "https://researchr.org/alias/daniel-ratiu" - name: "Andreas Ulrich" link: "https://researchr.org/alias/andreas-ulrich" year: "2017" doi: "http://doi.acm.org/10.1145/3092282.3092283" links: doi: "http://doi.acm.org/10.1145/3092282.3092283" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/spin/RatiuU17" researchr: "https://researchr.org/publication/RatiuU17" cites: 0 citedby: 0 pages: "60-69" booktitle: "spin" kind: "inproceedings" key: "RatiuU17" - title: "Verification of C++ Flight Software with the MCP Model Checker" author: - name: "S. Thompson" link: "https://researchr.org/alias/s.-thompson" - name: "G. Brat" link: "https://researchr.org/alias/g.-brat" year: "2008" month: "March" doi: "10.1109/AERO.2008.4526577" researchr: "https://researchr.org/publication/ThomsonB08" cites: 0 citedby: 0 pages: "1-9" booktitle: "2008 IEEE Aerospace Conference" kind: "inproceedings" key: "ThomsonB08" - title: "Semantic patch inference" author: - name: "Jesper Andersen" link: "https://researchr.org/alias/jesper-andersen" - name: "Anh Cuong Nguyen" link: "https://researchr.org/alias/anh-cuong-nguyen" - name: "David Lo" link: "https://researchr.org/alias/david-lo" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" - name: "Siau-Cheng Khoo" link: "https://researchr.org/alias/siau-cheng-khoo" year: "2012" doi: "http://doi.acm.org/10.1145/2351676.2351753" links: doi: "http://doi.acm.org/10.1145/2351676.2351753" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/kbse/AndersenNLLK12" researchr: "https://researchr.org/publication/AndersenNLLK12" cites: 0 citedby: 0 pages: "382-385" booktitle: "ASE" kind: "inproceedings" key: "AndersenNLLK12" - title: "Minimization of Large State Spaces using Symbolic Branching Bisimulation" author: - name: "Ralf Wimmer" link: "https://researchr.org/alias/ralf-wimmer" - name: "Marc Herbstritt" link: "https://researchr.org/alias/marc-herbstritt" - name: "Bernd Becker" link: "https://researchr.org/alias/bernd-becker" year: "2006" researchr: "https://researchr.org/publication/WimmerHB06" cites: 0 citedby: 0 pages: "9-14" booktitle: "ddecs" kind: "inproceedings" key: "WimmerHB06" - title: "TorXakis" author: - name: "TorXakis" link: "https://researchr.org/alias/torxakis" year: "2019" researchr: "https://researchr.org/publication/TorXakis" cites: 0 citedby: 0 kind: "misc" key: "TorXakis" - 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." 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: "JTorX: A Tool for On-Line Model-Driven Test Derivation and Execution" author: - name: "Axel Belinfante" link: "https://researchr.org/alias/axel-belinfante" year: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-12002-2_21" links: doi: "http://dx.doi.org/10.1007/978-3-642-12002-2_21" tags: - "testing" researchr: "https://researchr.org/publication/Belinfante10" cites: 0 citedby: 0 pages: "266-270" booktitle: "TACAS" kind: "inproceedings" key: "Belinfante10" - title: "Hygienic Macro Expansion" author: - name: "Eugene E. Kohlbecker" link: "https://researchr.org/alias/eugene-e.-kohlbecker" - name: "Daniel P. Friedman" link: "https://researchr.org/alias/daniel-p.-friedman" - name: "Matthias Felleisen" link: "http://www.ccs.neu.edu/home/matthias/" - name: "Bruce F. Duba" link: "https://researchr.org/alias/bruce-f.-duba" year: "1986" doi: "http://delivery.acm.org/10.1145/320000/319859/p151-kohlbecker.pdf?key1=319859&key2=7573098711&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618" links: doi: "http://delivery.acm.org/10.1145/320000/319859/p151-kohlbecker.pdf?key1=319859&key2=7573098711&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618" tags: - "macros" - "e-science" - "Hygienic Macro" researchr: "https://researchr.org/publication/KohlbeckerFFD86" cites: 0 citedby: 0 pages: "151-161" booktitle: "lfp" kind: "inproceedings" key: "KohlbeckerFFD86" - title: "A software maintenance survey" author: - name: "S. W. L. Yip" link: "https://researchr.org/alias/s.-w.-l.-yip" - name: "T. Lam" link: "https://researchr.org/alias/t.-lam" year: "1994" doi: "http://dx.doi.org/10.1109/APSEC.1994.465272" links: doi: "http://dx.doi.org/10.1109/APSEC.1994.465272" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/apsec/YipL94" researchr: "https://researchr.org/publication/YipL94" cites: 0 citedby: 0 pages: "70-79" booktitle: "apsec" kind: "inproceedings" key: "YipL94" - title: "Model Checking and Abstraction" author: - name: "Edmund M. Clarke" link: "https://researchr.org/alias/edmund-m.-clarke" - name: "Orna Grumberg" link: "https://researchr.org/alias/orna-grumberg" - name: "David E. Long" link: "https://researchr.org/alias/david-e.-long" year: "1994" doi: "http://doi.acm.org/10.1145/186025.186051" links: doi: "http://doi.acm.org/10.1145/186025.186051" tags: - "model checking" - "meta-model" - "e-science" - "abstraction" - "Meta-Environment" researchr: "https://researchr.org/publication/ClarkeGL94" cites: 0 citedby: 0 journal: "TOPLAS" volume: "16" number: "5" pages: "1512-1542" kind: "article" key: "ClarkeGL94" - title: "Intrinsically-typed definitional interpreters for imperative languages" author: - name: "Casper Bach Poulsen" link: "http://www.casperbp.net" - name: "Arjen Rouvoet" link: "https://www.linkedin.com/in/arjen-rouvoet-760347a5/" - name: "Andrew P. Tolmach" link: "http://www.cs.pdx.edu/~apt" - name: "Robbert Krebbers" link: "https://robbertkrebbers.nl" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "http://doi.acm.org/10.1145/3158104" abstract: " A definitional interpreter defines the semantics of an object language in terms of the (well-known) semantics of a host language, enabling understanding and validation of the semantics through execution. Combining a definitional interpreter with a separate type system requires a separate type safety proof. An alternative approach, at least for pure object languages, is to use a dependently-typed language to encode the object language type system in the definition of the abstract syntax. Using such intrinsically-typed abstract syntax definitions allows the host language type checker to verify automatically that the interpreter satisfies type safety. Does this approach scale to larger and more realistic object languages, and in particular to languages with mutable state and objects? In this paper, we describe and demonstrate techniques and libraries in Agda that successfully scale up intrinsically-typed definitional interpreters to handle rich object languages with non-trivial binding structures and mutable state. While the resulting interpreters are certainly more complex than the simply-typed λ-calculus interpreter we start with, we claim that they still meet the goals of being concise, comprehensible, and executable, while guaranteeing type safety for more elaborate object languages. We make the following contributions: (1) A dependent-passing style technique for hiding the weakening of indexed values as they propagate through monadic code. (2) An Agda library for programming with scope graphs and frames, which provides a uniform approach to dealing with name binding in intrinsically-typed interpreters. (3) Case studies of intrinsically-typed definitional interpreters for the simply-typed λ-calculus with references (STLC+Ref) and for a large subset of Middleweight Java (MJ). " links: doi: "http://doi.acm.org/10.1145/3158104" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/PoulsenRTKV18" technicalreport: "https://researchr.org/publication/preprint-PoulsenRTKV18" tags: - "Intrinsic-Verification" researchr: "https://researchr.org/publication/PoulsenRTKV18" cites: 0 citedby: 0 journal: "PACMPL" volume: "2" number: "POPL" kind: "article" key: "PoulsenRTKV18" - title: "An approach to improving the structure of error-handling code in the linux kernel" author: - name: "Suman Saha" link: "https://researchr.org/alias/suman-saha" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" - name: "Gilles Muller" link: "https://researchr.org/alias/gilles-muller" year: "2011" doi: "http://doi.acm.org/10.1145/1967677.1967684" links: doi: "http://doi.acm.org/10.1145/1967677.1967684" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/lctrts/SahaLM11" tags: - "systematic-approach" researchr: "https://researchr.org/publication/SahaLM11" cites: 0 citedby: 0 pages: "41-50" booktitle: "lctrts" kind: "inproceedings" key: "SahaLM11" - title: "Confluence for Process Verification" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "M. P. A. Sellink" link: "https://researchr.org/alias/m.-p.-a.-sellink" year: "1996" doi: "http://dx.doi.org/10.1016/S0304-3975(96)80702-X" links: doi: "http://dx.doi.org/10.1016/S0304-3975(96)80702-X" researchr: "https://researchr.org/publication/GrooteS96" cites: 0 citedby: 0 journal: "TCS" volume: "170" number: "1-2" pages: "47-81" kind: "article" key: "GrooteS96" - title: "Crossing the gap from imperative to functional programming through refactoring" author: - name: "Alex Gyori" link: "https://researchr.org/alias/alex-gyori" - name: "Lyle Franklin" link: "https://researchr.org/alias/lyle-franklin" - name: "Danny Dig" link: "https://researchr.org/alias/danny-dig" - name: "Jan Lahoda" link: "https://researchr.org/alias/jan-lahoda" year: "2013" doi: "http://doi.acm.org/10.1145/2491411.2491461" links: doi: "http://doi.acm.org/10.1145/2491411.2491461" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sigsoft/GyoriFDL13" researchr: "https://researchr.org/publication/GyoriFDL13" cites: 0 citedby: 0 pages: "543-553" booktitle: "FSE" kind: "inproceedings" key: "GyoriFDL13" - title: "A formal verification technique for behavioural model-to-model transformations" author: - name: "Sander de Putter" link: "https://researchr.org/alias/sander-de-putter" - name: "Anton Wijs" link: "https://researchr.org/alias/anton-wijs" year: "2018" doi: "https://doi.org/10.1007/s00165-017-0437-z" links: doi: "https://doi.org/10.1007/s00165-017-0437-z" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/fac/PutterW18" researchr: "https://researchr.org/publication/PutterW18" cites: 0 citedby: 0 journal: "fac" volume: "30" number: "1" pages: "3-43" kind: "article" key: "PutterW18" - title: "The Linear Time - Branching Time Spectrum II" author: - name: "Rob J. van Glabbeek" link: "http://theory.stanford.edu/~rvg/" year: "1993" researchr: "https://researchr.org/publication/Glabbeek93" cites: 0 citedby: 0 pages: "66-81" booktitle: "concur" kind: "inproceedings" key: "Glabbeek93" - title: "HTSM Roadmap Embedded Systems 2018" author: - name: "Hans Geelen" link: "https://researchr.org/alias/hans-geelen" - name: "Arjan van der Hoogt" link: "https://researchr.org/alias/arjan-van-der-hoogt" - name: "Wouter Leibbrandt" link: "https://researchr.org/alias/wouter-leibbrandt" - name: "Frans Beenker" link: "https://researchr.org/alias/frans-beenker" year: "2018" links: "url": "https://www.hollandhightech.nl/nationaal/innovatie/roadmaps/embedded-systems/roadmap-embedded-systems-2018" researchr: "https://researchr.org/publication/HTSM2019roadmap" cites: 0 citedby: 0 kind: "misc" key: "HTSM2019roadmap" - title: "A foundation for flow-based program matching: using temporal logic and model checking" author: - name: "Julien Brunel" link: "https://researchr.org/alias/julien-brunel" - name: "Damien Doligez" link: "https://researchr.org/alias/damien-doligez" - name: "René Rydhof Hansen" link: "https://researchr.org/alias/ren%C3%A9-rydhof-hansen" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" - name: "Gilles Muller" link: "https://researchr.org/alias/gilles-muller" year: "2009" doi: "http://doi.acm.org/10.1145/1480881.1480897" links: doi: "http://doi.acm.org/10.1145/1480881.1480897" tags: - "rule-based" - "meta programming" - "model checking" - "meta-model" - "data-flow programming" - "data-flow" - "logic programming" - "logic" - "Meta-Environment" researchr: "https://researchr.org/publication/BrunelDHLM09" cites: 0 citedby: 0 pages: "114-126" booktitle: "POPL" kind: "inproceedings" key: "BrunelDHLM09" - title: "Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics" author: - name: "Casper Bach Poulsen" link: "http://www.casperbp.net" - name: "Pierre Néron" link: "https://researchr.org/profile/pierrejeanmichelneron/publications" - name: "Andrew P. Tolmach" link: "http://www.cs.pdx.edu/~apt" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2016" doi: "10.4230/LIPIcs.ECOOP.2016.20" abstract: "Semantic specifications do not make a systematic connection between the names and scopes in the static structure of a program and memory layout, and access during its execution. In this paper, we introduce a systematic approach to the alignment of names in static semantics and memory in dynamic semantics, building on the scope graph framework for name resolution. We develop a uniform memory model consisting of frames that instantiate the scopes in the scope graph of a program. This provides a language-independent correspondence between static scopes and run-time memory layout, and between static resolution paths and run-time memory access paths. The approach scales to a range of binding features, supports straightforward type soundness proofs, and provides the basis for a language-independent specification of sound reachability-based garbage collection. " links: dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/PoulsenNTV16" technicalreport: "https://researchr.org/publication/TUD-SERG-2016-010" "pdf": "http://drops.dagstuhl.de/opus/volltexte/2016/6114/pdf/LIPIcs-ECOOP-2016-20.pdf" researchr: "https://researchr.org/publication/PoulsenNTV16" cites: 0 citedby: 0 booktitle: "ECOOP" kind: "inproceedings" key: "PoulsenNTV16" - title: "Correct and Efficient Antichain Algorithms for Refinement Checking" author: - name: "Maurice Laveaux" link: "https://researchr.org/alias/maurice-laveaux" - name: "Jan Friso Groote" link: "https://researchr.org/alias/jan-friso-groote" - name: " Tim A.C. Willemse" link: "https://researchr.org/alias/tim-a.c.-willemse" year: "2019" researchr: "https://researchr.org/publication/LaveauxGW2019" cites: 0 citedby: 0 booktitle: "Proc. of FORTE 2019" kind: "inproceedings" key: "LaveauxGW2019" - title: "EASY Meta-Programming with Rascal. Leveraging the Extract-Analyze-SYnthesize Paradigm for Meta-Programming" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Tijs van der Storm" link: "http://homepages.cwi.nl/~storm/" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" year: "2010" abstract: "Rascal is a new language for meta-programming and is intended to solve problems in the domain of source code analysis and transformation. In this article we give a high-level overview of the language and illustrate its use by many examples. Rascal is a work in progress both regarding implementation and documentation. More information is available at http://www.rascal-mpl.org/." tags: - "rascal" - "programming languages" - "model-to-model transformation" - "program analysis" - "meta programming" - "meta-model" - "transformation language" - "points-to analysis" - "domain analysis" - "analysis" - "static analysis" - "source-to-source" - "programming paradigms" - "model transformation" - "programming" - "metaprogramming" - "Meta-Environment" - "open-source" - "meta-objects" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/RascalGTTSE" cites: 0 citedby: 0 booktitle: "GTTSE" kind: "inproceedings" key: "RascalGTTSE" - title: "Reducing Code Duplication by Identifying Fresh Domain Abstractions" author: - name: "Steven Klusener" link: "https://researchr.org/alias/steven-klusener" - name: "Arjan J. Mooij" link: "https://researchr.org/alias/arjan-j.-mooij" - name: "Jeroen Ketema" link: "https://researchr.org/alias/jeroen-ketema" - name: "Hans van Wezep" link: "https://researchr.org/alias/hans-van-wezep" year: "2018" doi: "http://doi.ieeecomputersociety.org/10.1109/ICSME.2018.00020" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICSME.2018.00020" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icsm/KlusenerMKW18" researchr: "https://researchr.org/publication/KlusenerMKW18" cites: 0 citedby: 0 pages: "569-578" booktitle: "ICSM" kind: "inproceedings" key: "KlusenerMKW18" - title: "Binding as sets of scopes" author: - name: "Matthew Flatt" link: "http://www.cs.utah.edu/~mflatt/" year: "2016" doi: "http://doi.acm.org/10.1145/2837614.2837620" links: doi: "http://doi.acm.org/10.1145/2837614.2837620" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/popl/Flatt16" researchr: "https://researchr.org/publication/Flatt16" cites: 0 citedby: 0 pages: "705-717" booktitle: "POPL" kind: "inproceedings" key: "Flatt16" - title: "Unsafe Rust" author: - name: "{The Rust Team}" link: "https://researchr.org/alias/%7Bthe-rust-team%7D" year: "2019" researchr: "https://researchr.org/publication/Rust2019unsafe" cites: 0 citedby: 0 kind: "misc" key: "Rust2019unsafe" - title: "RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation" author: - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Tijs van der Storm" link: "http://homepages.cwi.nl/~storm/" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" year: "2009" doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2009.28" abstract: "Many automated software engineering tools require tight integration of techniques for source code analysis and manipulation. State-of-the-art tools exist for both, but the domains have remained notoriously separate because different computational paradigms fit each domain best. This impedance mismatch hampers the development of new solutions because the desired functionality and scalability can only be achieved by repeated and ad hoc integration of different techniques. Rascal is a domain-specific language that takes away most of this boilerplate by integrating source code analysis and manipulation at the conceptual, syntactic, semantic and technical level. We give an overview of the language and assess its merits by implementing a complex refactoring." links: doi: "http://doi.ieeecomputersociety.org/10.1109/SCAM.2009.28" tags: - "refactoring" - "language engineering" - "software language engineering" - "points-to analysis" - "domain analysis" - "analysis" - "source-to-source" - "software engineering" - "open-source" - "domain-specific language" researchr: "https://researchr.org/publication/KlintSV09" cites: 0 citedby: 1 pages: "168-177" booktitle: "SCAM" kind: "inproceedings" key: "KlintSV09" - title: "Decision of the Governing Board of the ECSEL Joint Undertaking: Adopting the ECSEL Multiannual Strategic Plan" year: "2014" links: "url": "http://ec.europa.eu/research/participants/data/ref/h2020/other/legal_basis/jtis/ecsel/ecsel-multi-stratplan_en.pdf" researchr: "https://researchr.org/publication/ECSEL2014decision" cites: 0 citedby: 0 kind: "misc" key: "ECSEL2014decision" - title: "Scopes as types" author: - name: "Hendrik van Antwerpen" link: "https://nl.linkedin.com/in/hendrikvanantwerpen" - name: "Casper Bach Poulsen" link: "http://www.casperbp.net" - name: "Arjen Rouvoet" link: "https://www.linkedin.com/in/arjen-rouvoet-760347a5/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "https://doi.org/10.1145/3276484" abstract: "Scope graphs are a promising generic framework to model the binding structures of programming languages, bridging formalization and implementation, supporting the definition of type checkers and the automation of type safety proofs. However, previous work on scope graphs has been limited to simple, nominal type systems. In this paper, we show that viewing scopes as types enables us to model the internal structure of types in a range of non-simple type systems (including structural records and generic classes) using the generic representation of scopes. Further, we show that relations between such types can be expressed in terms of generalized scope graph queries. We extend scope graphs with scoped relations and queries. We introduce Statix, a new domain-specific meta-language for the specification of static semantics, based on scope graphs and constraints. We evaluate the scopes as types approach and the Statix design in case studies of the simply-typed lambda calculus with records, System F, and Featherweight Generic Java." links: doi: "https://doi.org/10.1145/3276484" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/pacmpl/AntwerpenPRV18" researchr: "https://researchr.org/publication/AntwerpenPRV18" cites: 0 citedby: 0 journal: "PACMPL" volume: "2" number: "OOPSLA" kind: "article" key: "AntwerpenPRV18" - title: "Scalable incremental building with dynamic task dependencies" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "https://doi.org/10.1145/3238147.3238196" abstract: "Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the maintainability of build scripts. In this paper, we present a new incremental build algorithm that allows build engineers to use a full-fledged programming language with explicit task invocation, value and file inspection facilities, and conditional and iterative language constructs. In contrast to prior work on incrementality for such programmable builds, our algorithm scales with the number of tasks affected by a change and is independent of the size of the software project being built. Specifically, our algorithm accepts a set of changed files, transitively detects and re-executes affected build tasks, but also accounts for new task dependencies discovered during building. We have evaluated the performance of our algorithm in a real-world case study and confirm its scalability." links: doi: "https://doi.org/10.1145/3238147.3238196" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/kbse/KonatEV18" researchr: "https://researchr.org/publication/KonatEV18" cites: 0 citedby: 0 pages: "76-86" booktitle: "ASE" kind: "inproceedings" key: "KonatEV18" - title: "Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs" author: - name: "Tiark Rompf" link: "https://researchr.org/alias/tiark-rompf" - name: "Martin Odersky" link: "http://lampwww.epfl.ch/~odersky/" year: "2010" tags: - "code generation" - "compiler" - "DSL" - "systematic-approach" researchr: "https://researchr.org/publication/Rompf-GPCE-2010" cites: 0 citedby: 0 booktitle: "GPCE" kind: "inproceedings" key: "Rompf-GPCE-2010" - 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: "SCP" volume: "72" number: "1-2" pages: "52-70" kind: "article" key: "BravenboerKVV08" - title: "Formalizing refactorings with graph transformations" author: - name: "Tom Mens" link: "http://staff.umh.ac.be/Mens.Tom/" - name: "Niels Van Eetvelde" link: "https://researchr.org/alias/niels-van-eetvelde" - name: "Serge Demeyer" link: "http://win.ua.ac.be/~sdemey/" - name: "Dirk Janssens" link: "http://" year: "2005" doi: "http://dx.doi.org/10.1002/smr.316" links: doi: "http://dx.doi.org/10.1002/smr.316" tags: - "graph transformation" - "refactoring" - "graph-rewriting" - "rewriting" - "transformation" researchr: "https://researchr.org/publication/MensEDJ05" cites: 0 citedby: 0 journal: "SMR" volume: "17" number: "4" pages: "247-276" kind: "article" key: "MensEDJ05" - title: "Refactoring - Improving the Design of Existing Code" author: - name: "Martin Fowler" link: "http://martinfowler.com/" year: "1999" doi: "http://martinfowler.com/books/refactoring.html" abstract: "Refactoring is a controlled technique for improving the design of an existing code base. Its essence is applying a series of small behavior-preserving transformations, each of which \"too small to be worth doing\". However the cumulative effect of each of these transformations is quite significant. By doing them in small steps you reduce the risk of introducing errors. You also avoid having the system broken while you are carrying out the restructuring - which allows you to gradually refactor a system over an extended period of time. My book describes the process of refactoring and spends most of its time explaining how to do the various refactorings - the behavior preserving transformations. The book opens with a simple example that describes the whole process. There are then some introductory chapters that discuss broader issues around refactoring, the “code smells” that suggest refactoring, and the role of testing. " links: doi: "http://martinfowler.com/books/refactoring.html" dblp: "http://dblp.uni-trier.de/rec/bibtex/books/daglib/0019908" researchr: "https://researchr.org/publication/Fowler99" cites: 0 citedby: 0 series: "Addison Wesley object technology series" publisher: "Addison-Wesley" isbn: "978-0-201-48567-7" kind: "book" key: "Fowler99" - title: "Exploiting Symmetry in Temporal Logic Model Checking" author: - name: "Edmund M. Clarke" link: "https://researchr.org/alias/edmund-m.-clarke" - name: "Somesh Jha" link: "https://researchr.org/alias/somesh-jha" - name: "Reinhard Enders" link: "https://researchr.org/alias/reinhard-enders" - name: "Thomas Filkorn" link: "https://researchr.org/alias/thomas-filkorn" year: "1996" tags: - "model checking" - "meta-model" - "logic" - "Meta-Environment" researchr: "https://researchr.org/publication/ClarkeJEF96" cites: 0 citedby: 0 journal: "fmsd" volume: "9" number: "1/2" pages: "77-104" kind: "article" key: "ClarkeJEF96" - title: "Branching Time and Abstraction in Bisimulation Semantics" author: - name: "Rob J. van Glabbeek" link: "http://theory.stanford.edu/~rvg/" - name: "W. P. Weijland" link: "https://researchr.org/alias/w.-p.-weijland" year: "1996" doi: "http://doi.acm.org/10.1145/233551.233556" links: doi: "http://doi.acm.org/10.1145/233551.233556" tags: - "semantics" - "abstraction" researchr: "https://researchr.org/publication/GlabbeekW96" cites: 0 citedby: 0 journal: "JACM" volume: "43" number: "3" pages: "555-600" kind: "article" key: "GlabbeekW96" - title: "Parallel Graph AnalytiX (PGX) toolkit" author: - name: "Oracle" link: "https://researchr.org/alias/oracle" year: "2019" researchr: "https://researchr.org/publication/Oracle2019" cites: 0 citedby: 0 kind: "misc" key: "Oracle2019" - title: "NuSMV 2: An OpenSource Tool for Symbolic Model Checking" author: - name: "Alessandro Cimatti" link: "https://researchr.org/alias/alessandro-cimatti" - name: "Edmund M. Clarke" link: "https://researchr.org/alias/edmund-m.-clarke" - name: "Enrico Giunchiglia" link: "https://researchr.org/alias/enrico-giunchiglia" - name: "Fausto Giunchiglia" link: "https://researchr.org/alias/fausto-giunchiglia" - name: "Marco Pistore" link: "https://researchr.org/alias/marco-pistore" - name: "Marco Roveri" link: "http://es.fbk.eu/index.php?n=People.Roveri" - name: "Roberto Sebastiani" link: "https://researchr.org/alias/roberto-sebastiani" - name: "Armando Tacchella" link: "https://researchr.org/alias/armando-tacchella" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2404/24040359.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2404/24040359.htm" tags: - "model checking" - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/CimattiCGGPRST02" cites: 0 citedby: 0 pages: "359-364" booktitle: "cav" kind: "inproceedings" key: "CimattiCGGPRST02" - title: "Foundational Proof-Carrying Code" author: - name: "Andrew W. Appel" link: "http://www.cs.princeton.edu/~appel/" year: "2001" researchr: "https://researchr.org/publication/Appel01" cites: 0 citedby: 0 pages: "247-256" booktitle: "lics" kind: "inproceedings" key: "Appel01" - title: "Scalable, example-based refactorings with refaster" author: - name: "Louis Wasserman" link: "https://researchr.org/alias/louis-wasserman" year: "2013" doi: "http://doi.acm.org/10.1145/2541348.2541355" links: doi: "http://doi.acm.org/10.1145/2541348.2541355" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/Wasserman13" researchr: "https://researchr.org/publication/Wasserman13-SPLASH" cites: 0 citedby: 0 pages: "25-28" booktitle: "OOPSLA" kind: "inproceedings" key: "Wasserman13-SPLASH" - title: "Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications" author: - name: "Edmund M. Clarke" link: "https://researchr.org/alias/edmund-m.-clarke" - name: "E. Allen Emerson" link: "https://researchr.org/alias/e.-allen-emerson" - name: "A. Prasad Sistla" link: "https://researchr.org/alias/a.-prasad-sistla" year: "1986" doi: "http://doi.acm.org/10.1145/5397.5399" links: doi: "http://doi.acm.org/10.1145/5397.5399" tags: - "e-science" - "logic" researchr: "https://researchr.org/publication/ClarkeES86" cites: 0 citedby: 0 journal: "TOPLAS" volume: "8" number: "2" pages: "244-263" kind: "article" key: "ClarkeES86" - title: "On understanding laws, evolution, and conservation in the large-program life cycle" author: - name: "Meir M. Lehman" link: "https://researchr.org/alias/meir-m.-lehman" year: "1980" doi: "http://dx.doi.org/10.1016/0164-1212(79)90022-0" links: doi: "http://dx.doi.org/10.1016/0164-1212(79)90022-0" researchr: "https://researchr.org/publication/Lehman80" cites: 0 citedby: 0 journal: "jss" volume: "1" pages: "213-221" kind: "article" key: "Lehman80" - title: "Principles of program analysis" author: - name: "Flemming Nielson" link: "https://researchr.org/alias/flemming-nielson" - name: "Hanne Riis Nielson" link: "https://researchr.org/alias/hanne-riis-nielson" - name: "Chris Hankin" link: "https://researchr.org/alias/chris-hankin" year: "1999" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/books/daglib/0098888" tags: - "program analysis" - "analysis" - "principles" researchr: "https://researchr.org/publication/0098888" cites: 0 citedby: 0 publisher: "Springer" isbn: "978-3-540-65410-0" kind: "book" key: "0098888" - title: "Formal Verification of a C Compiler Front-End" author: - name: "Sandrine Blazy" link: "https://researchr.org/alias/sandrine-blazy" - name: "Zaynah Dargaye" link: "https://researchr.org/alias/zaynah-dargaye" - name: "Xavier Leroy" link: "http://pauillac.inria.fr/~xleroy/" year: "2006" doi: "http://dx.doi.org/10.1007/11813040_31" links: doi: "http://dx.doi.org/10.1007/11813040_31" tags: - "C++" - "compiler" researchr: "https://researchr.org/publication/BlazyDL06" cites: 0 citedby: 1 pages: "460-475" booktitle: "FM" kind: "inproceedings" key: "BlazyDL06" - title: "Visual Studio for C++" year: "2019" researchr: "https://researchr.org/publication/Microsoft2019visualstudiocpp" cites: 0 citedby: 0 kind: "misc" key: "Microsoft2019visualstudiocpp" - title: "The Haskell Refactorer, HaRe, and its API" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon Thompson" link: "https://researchr.org/alias/simon-thompson" - name: "Claus Reinke" link: "https://researchr.org/alias/claus-reinke" year: "2005" doi: "http://dx.doi.org/10.1016/j.entcs.2005.02.053" links: doi: "http://dx.doi.org/10.1016/j.entcs.2005.02.053" tags: - "Haskell" researchr: "https://researchr.org/publication/LiTR05" cites: 0 citedby: 0 journal: "ENTCS" volume: "141" number: "4" pages: "29-34" kind: "article" key: "LiTR05" - title: "The Theory and Practice of Concurrency" author: - name: "Roscoe, A. W." link: "https://researchr.org/alias/roscoe%2C-a.-w." year: "1997" researchr: "https://researchr.org/publication/Roscoe97" cites: 0 citedby: 0 address: "Upper Saddle River, NJ, USA" publisher: "Prentice Hall PTR" isbn: "0136744095" kind: "book" key: "Roscoe97" - title: "Software evolution and maintenance" author: - name: "Václav Rajlich" link: "https://researchr.org/alias/v%C3%A1clav-rajlich" year: "2014" doi: "http://doi.acm.org/10.1145/2593882.2593893" links: doi: "http://doi.acm.org/10.1145/2593882.2593893" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/Rajlich14" researchr: "https://researchr.org/publication/Rajlich14" cites: 0 citedby: 0 pages: "133-144" booktitle: "ICSE" kind: "inproceedings" key: "Rajlich14" - title: "Software Evolution" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-76440-3" links: doi: "http://dx.doi.org/10.1007/978-3-540-76440-3" tags: - "software evolution" researchr: "https://researchr.org/publication/springer%3A2008Mens" cites: 0 citedby: 0 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: "book" key: "springer:2008Mens" - title: "A Refactoring Tool for Smalltalk" author: - name: "Don Roberts" link: "https://researchr.org/alias/don-roberts" - name: "John Brant" link: "https://researchr.org/alias/john-brant" - name: "Ralph E. Johnson" link: "http://st-www.cs.illinois.edu/users/johnson/" year: "1997" tags: - "refactoring" - "e-science" researchr: "https://researchr.org/publication/RobertsBJ97" cites: 0 citedby: 0 journal: "tapos" volume: "3" number: "4" pages: "253-263" kind: "article" key: "RobertsBJ97" - title: "Capture-Avoiding and Hygienic Program Transformations" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Tijs van der Storm" link: "https://researchr.org/alias/tijs-van-der-storm" - name: "Yi Dai" link: "https://researchr.org/alias/yi-dai" year: "2014" doi: "http://dx.doi.org/10.1007/978-3-662-44202-9_20" links: doi: "http://dx.doi.org/10.1007/978-3-662-44202-9_20" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/ErdwegSD14" researchr: "https://researchr.org/publication/ErdwegSD14" cites: 0 citedby: 0 pages: "489-514" booktitle: "ECOOP" kind: "inproceedings" key: "ErdwegSD14" - title: "Declarative specification of template-based textual editors" author: - name: "Tobi Vollebregt" link: "http://www.tobivollebregt.nl/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2012" doi: "http://doi.acm.org/10.1145/2427048.2427056" abstract: "Syntax discoverability has been a crucial advantage of structure editors for new users of a language. Despite this advantage, structure editors have not been widely adopted. Based on immediate parsing and analyses, modern textual code editors are also increasingly syntax-aware: structure and textual editors are converging into a new editing paradigm that combines text and templates. Current text-based language workbenches require redundant specification of the ingredients for a template-based editor, which is detrimental to the quality of syntactic completion, as consistency and completeness of the definition cannot be guaranteed. In this paper we describe the design and implementation of a specification language for syntax definition based on templates. It unifies the specification of parsers, unparsers and template-based editors. We evaluate the template language by application to two domain-specific languages used for tax benefits and mobile applications. " links: doi: "http://doi.acm.org/10.1145/2427048.2427056" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ldta/VollebregtKV12" researchr: "https://researchr.org/publication/VollebregtKV12" cites: 0 citedby: 0 pages: "1-7" booktitle: "LDTA" kind: "inproceedings" key: "VollebregtKV12" - 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: "GPCE" kind: "inproceedings" key: "Visser02" - title: "Isabelle/HOL - A Proof Assistant for Higher-Order Logic" author: - name: "Tobias Nipkow" link: "https://researchr.org/alias/tobias-nipkow" - name: "Lawrence C. Paulson" link: "https://researchr.org/alias/lawrence-c.-paulson" - name: "Markus Wenzel" link: "https://researchr.org/alias/markus-wenzel" year: "2002" tags: - "proof assistant" - "C++" - "logic" researchr: "https://researchr.org/publication/NipkowPW02" cites: 0 citedby: 0 volume: "2283" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-43376-7" kind: "book" key: "NipkowPW02" - title: "Interactive Disambiguation of Meta Programs with Concrete Object Syntax" 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: "2010" doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_22" abstract: "In meta-programming with concrete object syntax, meta programs can be written using the concrete syntax of manipulated programs. Quotations of concrete syntax fragments and anti-quotations for meta-level expressions and variables are used to manipulate the abstract representation of programs. These small, isolated fragments are often ambiguous and must be explicitly disambiguated with quotation tags or types, using names from the non-terminals of the object language syntax. Discoverability of these names has been an open issue, as they depend on the (grammar) implementation and are not part of the concrete syntax of a language. Based on advances in interactive development environments, we introduce interactive disambiguation to address this issue, providing real-time feedback and proposing quick fixes in case of ambiguities. " links: doi: "http://dx.doi.org/10.1007/978-3-642-19440-5_22" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sle/KatsKV10" tags: - "programming languages" - "object-oriented programming" - "concrete object syntax" - "rule-based" - "meta programming" - "meta-model" - "abstract syntax" - "tagging" - "disambiguation" - "model-driven development" - "source-to-source" - "C++" - "programming" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "concrete syntax" - "open-source" - "meta-objects" - "grammar" researchr: "https://researchr.org/publication/KatsKV10-SLE" cites: 0 citedby: 0 pages: "327-336" booktitle: "SLE" kind: "inproceedings" key: "KatsKV10-SLE" - title: "Communication and concurrency" author: - name: "Robin Milner" link: "https://researchr.org/alias/robin-milner" year: "1989" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/books/daglib/0067019" researchr: "https://researchr.org/publication/0067019" cites: 0 citedby: 0 series: "PHI Series in computer science" publisher: "Prentice Hall" isbn: "978-0-13-115007-2" kind: "book" key: "0067019" - title: "The Economics of Software Quality" author: - name: "Jones, Capers" link: "https://researchr.org/alias/jones%2C-capers" - name: "Bonsignour, Olivier" link: "https://researchr.org/alias/bonsignour%2C-olivier" year: "2011" researchr: "https://researchr.org/publication/JonesB11-1" cites: 0 citedby: 0 edition: "1st" publisher: "Addison-Wesley Professional" isbn: "0132582201, 9780132582209" kind: "book" key: "JonesB11-1" - title: "Model checking C++ programs with exceptions" author: - name: "Petr Rockai" link: "https://researchr.org/alias/petr-rockai" - name: "Jiri Barnat" link: "https://researchr.org/alias/jiri-barnat" - name: "Lubos Brim" link: "https://researchr.org/alias/lubos-brim" year: "2016" doi: "http://dx.doi.org/10.1016/j.scico.2016.05.007" links: doi: "http://dx.doi.org/10.1016/j.scico.2016.05.007" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/scp/RockaiBB16" researchr: "https://researchr.org/publication/RockaiBB16" cites: 0 citedby: 0 journal: "SCP" volume: "128" pages: "68-85" kind: "article" key: "RockaiBB16" - title: "Specifying C++ concepts" author: - name: "Gabriel Dos Reis" link: "https://researchr.org/alias/gabriel-dos-reis" - name: "Bjarne Stroustrup" link: "https://researchr.org/alias/bjarne-stroustrup" year: "2006" doi: "http://doi.acm.org/10.1145/1111037.1111064" links: doi: "http://doi.acm.org/10.1145/1111037.1111064" tags: - "C++" researchr: "https://researchr.org/publication/ReisS06%3A1" cites: 0 citedby: 0 pages: "295-308" booktitle: "POPL" kind: "inproceedings" key: "ReisS06:1" - 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: "OOPSLA" kind: "inproceedings" key: "BravenboerV04" - title: "PIE: A Domain-Specific Language for Interactive Software Development Pipelines" author: - name: "Gabriël Konat" link: "http://nl.linkedin.com/in/gabrielkonat" - name: "Michael J. Steindorfer" link: "http://michael.steindorfer.name" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2018" doi: "https://doi.org/10.22152/programming-journal.org/2018/2/9" abstract: "Context. Software development pipelines are used for automating essential parts of software engineering processes, such as build automation and continuous integration testing. In particular, interactive pipelines, which process events in a live environment such as an IDE, require timely results for low-latency feedback, and persistence to retain low-latency feedback between restarts. Inquiry. Developing an incrementalized and persistent version of a pipeline is one way to reduce feedback latency, but requires implementation of dependency tracking, cache invalidation, and other complicated and error-prone techniques. Therefore, interactivity complicates pipeline development if timeliness and persistence become responsibilities of the pipeline programmer, rather than being supported by the underlying system. Systems for programming incremental and persistent pipelines exist, but do not focus on ease of development, requiring a high degree of boilerplate, increasing development and maintenance effort. Approach. We develop Pipelines for Interactive Environments (PIE), a Domain-Specific Language (DSL), API, and runtime for developing interactive software development pipelines, where ease of development is a focus. The PIE DSL is a statically typed and lexically scoped language. PIE programs are compiled to programs implementing the API, which the PIE runtime executes in an incremental and persistent way. Knowledge. PIE provides a straightforward programming model that enables direct and concise expression of pipelines without boilerplate, reducing the development and maintenance effort of pipelines. Compiled pipeline programs can be embedded into interactive environments such as code editors and IDEs, enabling timely feedback at a low cost. Grounding. Compared to the state of the art, PIE reduces the code required to express an interactive pipeline by a factor of 6 in a case study on syntax-aware editors. Furthermore, we evaluate PIE in two case studies of complex interactive software development scenarios, demonstrating that PIE can handle complex interactive pipelines in a straightforward and concise way. Importance. Interactive pipelines are complicated software artifacts that power many important systems such as continuous feedback cycles in IDEs and code editors, and live language development in language workbenches. New pipelines, and evolution of existing pipelines, is frequently necessary. Therefore, a system for easily developing and maintaining interactive pipelines, such as PIE, is important." links: doi: "https://doi.org/10.22152/programming-journal.org/2018/2/9" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/programming/KonatSEV18" researchr: "https://researchr.org/publication/KonatSEV18" cites: 0 citedby: 0 journal: "Programming" volume: "2" number: "3" pages: "9" kind: "article" key: "KonatSEV18" - title: "IncA: a DSL for the definition of incremental program analyses" author: - name: "Tamás Szabó" link: "https://researchr.org/alias/tam%C3%A1s-szab%C3%B3" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Markus Völter" link: "http://www.voelter.de/" year: "2016" doi: "http://doi.acm.org/10.1145/2970276.2970298" links: doi: "http://doi.acm.org/10.1145/2970276.2970298" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/kbse/SzaboEV16" researchr: "https://researchr.org/publication/SzaboEV16" cites: 0 citedby: 0 pages: "320-331" booktitle: "ASE" kind: "inproceedings" key: "SzaboEV16" - title: "Extracting Properties from Test Cases by Refactoring" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" - name: "Thomas Arts" link: "https://researchr.org/alias/thomas-arts" year: "2011" doi: "http://doi.ieeecomputersociety.org/10.1109/ICSTW.2011.65" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICSTW.2011.65" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icst/LiTA11" researchr: "https://researchr.org/publication/LiTA11-0" cites: 0 citedby: 0 pages: "472-473" booktitle: "icst" kind: "inproceedings" key: "LiTA11-0" - title: "How We Refactor, and How We Know It" author: - name: "Emerson R. Murphy-Hill" link: "https://researchr.org/alias/emerson-r.-murphy-hill" - name: "Chris Parnin" link: "https://researchr.org/alias/chris-parnin" - name: "Andrew P. Black" link: "https://researchr.org/alias/andrew-p.-black" year: "2012" doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2011.41" links: doi: "http://doi.ieeecomputersociety.org/10.1109/TSE.2011.41" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/tse/Murphy-HillPB12" researchr: "https://researchr.org/publication/Murphy-HillPB12" cites: 0 citedby: 0 journal: "TSE" volume: "38" number: "1" pages: "5-18" kind: "article" key: "Murphy-HillPB12" - title: "On the evolution of Lehman's Laws" author: - name: "Michael W. Godfrey" link: "https://researchr.org/alias/michael-w.-godfrey" - name: "Daniel M. Germán" link: "https://researchr.org/alias/daniel-m.-germ%C3%A1n" year: "2014" doi: "http://dx.doi.org/10.1002/smr.1636" links: doi: "http://dx.doi.org/10.1002/smr.1636" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/smr/GodfreyG14" researchr: "https://researchr.org/publication/GodfreyG14" cites: 0 citedby: 0 journal: "SMR" volume: "26" number: "7" pages: "613-619" kind: "article" key: "GodfreyG14" - title: "Test Generation Based on Symbolic Specifications" author: - name: "Lars Frantzen" link: "http://www.frantzen.info/" - name: "Jan Tretmans" link: "https://researchr.org/alias/jan-tretmans" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3395&spage=1" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=3395&spage=1" tags: - "rule-based" - "testing" - "C++" researchr: "https://researchr.org/publication/FrantzenTW04" cites: 0 citedby: 0 pages: "1-15" booktitle: "fates" kind: "inproceedings" key: "FrantzenTW04" - title: "Advanced Refactoring in the Eclipse JDT: Past, Present, and Future" author: - name: "Robert M. Fuhrer" link: "https://researchr.org/alias/robert-m.-fuhrer" - name: "Markus Keller" link: "https://researchr.org/alias/markus-keller" - name: "Adam Kiezun" link: "https://researchr.org/alias/adam-kiezun" year: "2007" doi: "http://netfiles.uiuc.edu/dig/RefactoringWorkshop/" links: doi: "http://netfiles.uiuc.edu/dig/RefactoringWorkshop/" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/FuhrerKK07" tags: - "Eclipse" - "refactoring" researchr: "https://researchr.org/publication/FuhrerKK07" cites: 0 citedby: 0 pages: "30-31" booktitle: "ECOOP" kind: "inproceedings" key: "FuhrerKK07" - title: "Object-Oriented Reengineering Patterns" author: - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Stéphane Ducasse" link: "http://stephane.ducasse.free.fr/" - name: "Oscar Nierstrasz" link: "http://scg.unibe.ch/staff/oscar" year: "2002" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/DemeyerDN02" cites: 0 citedby: 0 publisher: "dpunkt" isbn: "3-89864-197-X" kind: "book" key: "DemeyerDN02" - title: "Constraint-Based Refactoring" author: - name: "Friedrich Steimann" link: "http://www.fernuni-hagen.de/ps/team/friedrich.steimann.shtml" year: "2018" doi: "http://doi.acm.org/10.1145/3156016" links: doi: "http://doi.acm.org/10.1145/3156016" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/toplas/Steimann18" researchr: "https://researchr.org/publication/Steimann18" cites: 0 citedby: 0 journal: "TOPLAS" volume: "40" number: "1" kind: "article" key: "Steimann18" - title: "Scripting a refactoring with Rascal and Eclipse" author: - name: "Mark Hills" link: "http://homepages.cwi.nl/~hills" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" year: "2012" doi: "http://doi.acm.org/10.1145/2328876.2328882" links: doi: "http://doi.acm.org/10.1145/2328876.2328882" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/HillsKV12" researchr: "https://researchr.org/publication/HillsKV12-1" cites: 0 citedby: 0 pages: "40-49" booktitle: "ICSE" kind: "inproceedings" key: "HillsKV12-1" - title: "Coherent branching feature bisimulation" author: - name: "T. Belder" link: "https://researchr.org/alias/t.-belder" - name: "{Beek, ter}, M.H." link: "https://researchr.org/alias/%7Bbeek%2C-ter%7D%2C-m.h." - name: "{Vink, de}, E.P." link: "https://researchr.org/alias/%7Bvink%2C-de%7D%2C-e.p." year: "2015" doi: "10.4204/EPTCS.182.2" abstract: "Progress in the behavioral analysis of software product lines at the family level benefits from further development of the underlying semantical theory. Here, we propose a behavioral equivalence for feature transition systems (FTS) generalizing branching bisimulation for labeled transition systems (LTS). We prove that branching feature bisimulation for an FTS of a family of products coincides with branching bisimulation for the LTS projection of each the individual products. For a restricted notion of coherent branching feature bisimulation we furthermore present a minimization algorithm and show its correctness. Although the minimization problem for coherent branching feature bisimulation is shown to be intractable, application of the algorithm in the setting of a small case study results in a significant speed-up of model checking of behavioral properties." researchr: "https://researchr.org/publication/BelderBV15" cites: 0 citedby: 0 pages: "14-30" booktitle: "Proceedings 6th Workshop on Formal Methods and Analysis in SPL Engineering (FMSPLE 2015, London, UK, April 11, 2015)" kind: "inproceedings" key: "BelderBV15" - title: "A Tool for Checking ANSI-C Programs" author: - name: "Edmund M. Clarke" link: "https://researchr.org/alias/edmund-m.-clarke" - name: "Daniel Kroening" link: "https://researchr.org/alias/daniel-kroening" - name: "Flavio Lerda" link: "https://researchr.org/alias/flavio-lerda" year: "2004" doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2988&spage=168" links: doi: "http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2988&spage=168" tags: - "C++" researchr: "https://researchr.org/publication/ClarkeKL04" cites: 0 citedby: 0 pages: "168-176" booktitle: "TACAS" kind: "inproceedings" key: "ClarkeKL04" - title: "Modeling and Analysis of Communicating Systems" author: - name: "Jan Friso Groote" link: "http://www.win.tue.nl/~jfg/" - name: "Mohammad Reza Mousavi" link: "https://researchr.org/alias/mohammad-reza-mousavi" year: "2014" doi: "https://mitpress.mit.edu/books/modeling-and-analysis-communicating-systems" links: doi: "https://mitpress.mit.edu/books/modeling-and-analysis-communicating-systems" dblp: "http://dblp.uni-trier.de/rec/bibtex/books/mit/GrooteM2014" researchr: "https://researchr.org/publication/GrooteM2014" cites: 0 citedby: 0 publisher: "MIT Press" isbn: "9780262321020" kind: "book" key: "GrooteM2014" - title: "Gauging the Differences between Expectation and Systems Support: The Managerial Approach of Adaptive and Perfective Software Maintenance" author: - name: "A. Rashid" link: "https://researchr.org/alias/a.-rashid" - name: "W. Y. C. Wang" link: "https://researchr.org/alias/w.-y.-c.-wang" - name: "D. Dorner" link: "https://researchr.org/alias/d.-dorner" year: "2009" month: "Nov" doi: "10.1109/COINFO.2009.53" researchr: "https://researchr.org/publication/RashidWD09" cites: 0 citedby: 0 pages: "45-50" booktitle: "2009 Fourth International Conference on Cooperation and Promotion of Information Resources in Science and Technology" kind: "inproceedings" key: "RashidWD09" - title: "Better Verification Through Symmetry" author: - name: "C. Norris Ip" link: "https://researchr.org/alias/c.-norris-ip" - name: "David L. Dill" link: "https://researchr.org/alias/david-l.-dill" year: "1996" tags: - "C++" researchr: "https://researchr.org/publication/IpD96" cites: 0 citedby: 0 journal: "fmsd" volume: "9" number: "1/2" pages: "41-75" kind: "article" key: "IpD96" - 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: "OOPSLA" kind: "inproceedings" key: "KatsV10" - title: "Large-Scale Automated Refactoring Using ClangMR" author: - name: "Hyrum K. Wright" link: "https://researchr.org/alias/hyrum-k.-wright" - name: "Daniel Jasper" link: "https://researchr.org/alias/daniel-jasper" - name: "Manuel Klimek" link: "https://researchr.org/alias/manuel-klimek" - name: "Chandler Carruth" link: "https://researchr.org/alias/chandler-carruth" - name: "Zhanyong Wan" link: "https://researchr.org/alias/zhanyong-wan" year: "2013" doi: "http://dx.doi.org/10.1109/ICSM.2013.93" links: doi: "http://dx.doi.org/10.1109/ICSM.2013.93" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icsm/WrightJKCW13" researchr: "https://researchr.org/publication/WrightJKCW13" cites: 0 citedby: 0 pages: "548-551" booktitle: "ICSM" kind: "inproceedings" key: "WrightJKCW13" - title: "Refactoring with Wrangler, updated: Data and process refactorings, and integration with Eclipse" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon Thompson" link: "https://researchr.org/alias/simon-thompson" - name: "George Orosz" link: "https://researchr.org/alias/george-orosz" - name: "Melinda Toth" link: "https://researchr.org/alias/melinda-toth" year: "2008" month: "September" links: "url": "http://www.cs.kent.ac.uk/pubs/2008/2815" tags: - "Eclipse" - "refactoring" - "data-flow" researchr: "https://researchr.org/publication/2815" cites: 0 citedby: 0 booktitle: "Proceedings of the Seventh ACM SIGPLAN Erlang Workshop" kind: "inproceedings" key: "2815" - title: "Generic patch inference" author: - name: "Jesper Andersen" link: "https://researchr.org/alias/jesper-andersen" - name: "Julia L. Lawall" link: "http://www.diku.dk/hjemmesider/ansatte/julia/" year: "2010" doi: "http://springerlink.metapress.com/content/c1l48125405p4427/" links: doi: "http://springerlink.metapress.com/content/c1l48125405p4427/" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/ase/AndersenL10" researchr: "https://researchr.org/publication/AndersenL10" cites: 0 citedby: 0 journal: "ASE" volume: "17" number: "2" pages: "119-148" kind: "article" key: "AndersenL10" - title: "WebLab" author: - name: "{TU Delft}" link: "https://researchr.org/alias/%7Btu-delft%7D" year: "2019" researchr: "https://researchr.org/publication/WebLab" cites: 0 citedby: 0 kind: "misc" key: "WebLab" - title: "Verifying System-Wide Properties of Industrial Component-Based Software" author: - name: "Thomas Neele" link: "https://researchr.org/alias/thomas-neele" - name: "Marijn Rol" link: "https://researchr.org/alias/marijn-rol" - name: "Jan Friso Groote" link: "https://researchr.org/alias/jan-friso-groote" year: "2019" researchr: "https://researchr.org/publication/NeeleRG19" cites: 0 citedby: 0 booktitle: "Proceedings of FSEN 2019" kind: "inproceedings" key: "NeeleRG19" - title: "Program Restructuring As an Aid to Software Maintenance" author: - name: "Griswold, William G." link: "https://researchr.org/alias/griswold%2C-william-g." year: "1992" researchr: "https://researchr.org/publication/Griswold%3A1992%3APRA%3A144627" cites: 0 citedby: 0 address: "Seattle, WA, USA" kind: "phdthesis" key: "Griswold:1992:PRA:144627" - title: "Philips Healthcare - C++ Coding Standard" author: - name: "Philips" link: "https://researchr.org/alias/philips" year: "2019" month: "May" doi: "https://tics.tiobe.com/viewerCPP/index.php?CSTD=General" links: doi: "https://tics.tiobe.com/viewerCPP/index.php?CSTD=General" researchr: "https://researchr.org/publication/Philips2019" cites: 0 citedby: 0 organization: "Philips" kind: "manual" key: "Philips2019" - title: "QuixBugs: a multi-lingual program repair benchmark set based on the quixey challenge" author: - name: "Derrick Lin" link: "https://researchr.org/alias/derrick-lin" - name: "James Koppel" link: "https://researchr.org/alias/james-koppel" - name: "Angela Chen" link: "https://researchr.org/alias/angela-chen" - name: "Armando Solar-Lezama" link: "https://researchr.org/alias/armando-solar-lezama" year: "2017" doi: "https://doi.org/10.1145/3135932.3135941" links: doi: "https://doi.org/10.1145/3135932.3135941" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/LinKCS17" researchr: "https://researchr.org/publication/LinKCS17" cites: 0 citedby: 0 pages: "55-56" booktitle: "OOPSLA" kind: "inproceedings" key: "LinKCS17" - title: "Sigref- A Symbolic Bisimulation Tool Box" author: - name: "Ralf Wimmer" link: "https://researchr.org/alias/ralf-wimmer" - name: "Marc Herbstritt" link: "https://researchr.org/alias/marc-herbstritt" - name: "Holger Hermanns" link: "https://researchr.org/alias/holger-hermanns" - name: "Kelley Strampp" link: "https://researchr.org/alias/kelley-strampp" - name: "Bernd Becker" link: "https://researchr.org/alias/bernd-becker" year: "2006" doi: "http://dx.doi.org/10.1007/11901914_35" links: doi: "http://dx.doi.org/10.1007/11901914_35" researchr: "https://researchr.org/publication/WimmerHHSB06" cites: 0 citedby: 0 pages: "477-492" booktitle: "ATVA" kind: "inproceedings" key: "WimmerHHSB06" - title: "Model-based software restructuring: Lessons from cleaning up COM interfaces in industrial legacy code" author: - name: "Dennis Dams" link: "https://researchr.org/alias/dennis-dams" - name: "Arjan J. Mooij" link: "https://researchr.org/alias/arjan-j.-mooij" - name: "Pepijn Kramer" link: "https://researchr.org/alias/pepijn-kramer" - name: "Andrei Radulescu" link: "https://researchr.org/alias/andrei-radulescu" - name: "Jaromir Vanhara" link: "https://researchr.org/alias/jaromir-vanhara" year: "2018" doi: "http://doi.ieeecomputersociety.org/10.1109/SANER.2018.8330258" links: doi: "http://doi.ieeecomputersociety.org/10.1109/SANER.2018.8330258" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/wcre/DamsMKRV18" researchr: "https://researchr.org/publication/DamsMKRV18" cites: 0 citedby: 0 pages: "552-556" booktitle: "WCRE" kind: "inproceedings" key: "DamsMKRV18" - title: "Refactoring tools for functional languages" author: - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" year: "2013" doi: "http://dx.doi.org/10.1017/S0956796813000117" links: doi: "http://dx.doi.org/10.1017/S0956796813000117" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/jfp/ThompsonL13" researchr: "https://researchr.org/publication/ThompsonL13-0" cites: 0 citedby: 0 journal: "JFP" volume: "23" number: "3" pages: "293-350" kind: "article" key: "ThompsonL13-0" - title: "A formalism for C++" author: - name: "Gabriel Dos Reis" link: "https://researchr.org/alias/gabriel-dos-reis" - name: "Bjarne Stroustrup" link: "https://researchr.org/alias/bjarne-stroustrup" year: "2005" researchr: "https://researchr.org/publication/ReisStroustrup2005" cites: 0 citedby: 0 institution: "ISO/IEC JTC1/SC22/WG21" number: "N1885=05-0145" kind: "techreport" key: "ReisStroustrup2005" - title: "FDR3 - A Modern Refinement Checker for CSP" author: - name: "Thomas Gibson-Robinson" link: "https://researchr.org/alias/thomas-gibson-robinson" - name: "Philip J. Armstrong" link: "https://researchr.org/alias/philip-j.-armstrong" - name: "Alexandre Boulgakov" link: "https://researchr.org/alias/alexandre-boulgakov" - name: "A. W. Roscoe" link: "https://researchr.org/alias/a.-w.-roscoe" year: "2014" doi: "http://dx.doi.org/10.1007/978-3-642-54862-8_13" links: doi: "http://dx.doi.org/10.1007/978-3-642-54862-8_13" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/tacas/Gibson-RobinsonABR14" researchr: "https://researchr.org/publication/Gibson-RobinsonABR14" cites: 0 citedby: 0 pages: "187-201" booktitle: "TACAS" kind: "inproceedings" key: "Gibson-RobinsonABR14" - title: "Refactoring: Improving the Design of Existing Code" author: - name: "Martin Fowler" link: "http://martinfowler.com/" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2418/24180256.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2418/24180256.htm" tags: - "refactoring" - "design" researchr: "https://researchr.org/publication/Fowler02" cites: 0 citedby: 0 pages: "256" booktitle: "xpu" kind: "inproceedings" key: "Fowler02" - title: "How we refactor, and how we know it" author: - name: "Emerson R. Murphy-Hill" link: "https://researchr.org/alias/emerson-r.-murphy-hill" - name: "Chris Parnin" link: "https://researchr.org/alias/chris-parnin" - name: "Andrew P. Black" link: "https://researchr.org/alias/andrew-p.-black" year: "2009" doi: "http://dx.doi.org/10.1109/ICSE.2009.5070529" links: doi: "http://dx.doi.org/10.1109/ICSE.2009.5070529" researchr: "https://researchr.org/publication/Murphy-HillPB09" cites: 0 citedby: 0 pages: "287-297" booktitle: "ICSE" kind: "inproceedings" key: "Murphy-HillPB09" - title: "Symmetry and Model Checking" author: - name: "E. Allen Emerson" link: "https://researchr.org/alias/e.-allen-emerson" - name: "A. Prasad Sistla" link: "https://researchr.org/alias/a.-prasad-sistla" year: "1996" tags: - "model checking" - "meta-model" - "e-science" - "Meta-Environment" researchr: "https://researchr.org/publication/EmersonS96" cites: 0 citedby: 0 journal: "fmsd" volume: "9" number: "1/2" pages: "105-131" kind: "article" key: "EmersonS96" - title: "HOPE: An Experimental Applicative Language" author: - name: "Rod M. Burstall" link: "https://researchr.org/alias/rod-m.-burstall" - name: "David B. MacQueen" link: "https://researchr.org/alias/david-b.-macqueen" - name: "Donald Sannella" link: "http://homepages.inf.ed.ac.uk/dts/" year: "1980" doi: "https://doi.org/10.1145/800087.802799" links: doi: "https://doi.org/10.1145/800087.802799" researchr: "https://researchr.org/publication/BurstallMS80" cites: 0 citedby: 0 pages: "136-143" booktitle: "lfp" kind: "inproceedings" key: "BurstallMS80" - title: "Using model checking to analyze the system behavior of the LHC production grid" author: - name: "Daniela Remenska" link: "https://researchr.org/alias/daniela-remenska" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" - name: "Kees Verstoep" link: "https://researchr.org/alias/kees-verstoep" - name: "Jeff Templon" link: "https://researchr.org/alias/jeff-templon" - name: "Henri E. Bal" link: "https://researchr.org/alias/henri-e.-bal" year: "2013" doi: "http://dx.doi.org/10.1016/j.future.2013.06.004" links: doi: "http://dx.doi.org/10.1016/j.future.2013.06.004" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/fgcs/RemenskaWVTB13" researchr: "https://researchr.org/publication/RemenskaWVTB13" cites: 0 citedby: 0 journal: "fgcs" volume: "29" number: "8" pages: "2239-2251" kind: "article" key: "RemenskaWVTB13" - title: "Tool support for refactoring functional programs" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" year: "2008" doi: "http://doi.acm.org/10.1145/1328408.1328437" links: doi: "http://doi.acm.org/10.1145/1328408.1328437" tags: - "refactoring" - "functional programming" researchr: "https://researchr.org/publication/LiT08%3A9" cites: 0 citedby: 0 pages: "199-203" booktitle: "PEPM" kind: "inproceedings" key: "LiT08:9" - title: "F-Soft: Software Verification Platform" author: - name: "Franjo Ivancic" link: "https://researchr.org/alias/franjo-ivancic" - name: "Zijiang Yang" link: "https://researchr.org/alias/zijiang-yang" - name: "Malay K. Ganai" link: "https://researchr.org/alias/malay-k.-ganai" - name: "Aarti Gupta" link: "https://researchr.org/alias/aarti-gupta" - name: "Ilya Shlyakhter" link: "https://researchr.org/alias/ilya-shlyakhter" - name: "Pranav Ashar" link: "https://researchr.org/alias/pranav-ashar" year: "2005" doi: "http://dx.doi.org/10.1007/11513988_31" links: doi: "http://dx.doi.org/10.1007/11513988_31" researchr: "https://researchr.org/publication/IvancicYGGSA05" cites: 0 citedby: 0 pages: "301-306" booktitle: "cav" kind: "inproceedings" key: "IvancicYGGSA05" - title: "A Domain-Specific Language for Scripting Refactorings in Erlang" author: - name: "Huiqing Li" link: "https://researchr.org/alias/huiqing-li" - name: "Simon J. Thompson" link: "https://researchr.org/alias/simon-j.-thompson" year: "2012" doi: "http://dx.doi.org/10.1007/978-3-642-28872-2_34" links: doi: "http://dx.doi.org/10.1007/978-3-642-28872-2_34" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/fase/LiT12" researchr: "https://researchr.org/publication/LiT12-3" cites: 0 citedby: 0 pages: "501-515" booktitle: "FASE" kind: "inproceedings" key: "LiT12-3" - title: "A Survey of Software Refactoring" author: - name: "Tom Mens" link: "http://staff.umh.ac.be/Mens.Tom/" - name: "Tom Tourwé" link: "https://researchr.org/alias/tom-tourw%C3%A9" year: "2004" doi: "http://csdl.computer.org/comp/trans/ts/2004/02/e0126abs.htm" abstract: "This paper provides an extensive overview of existing research in the field of software refactoring. This research is compared and discussed based on a number of different criteria: the refactoring activities that are supported, the specific techniques and formalisms that are used for supporting these activities, the types of software artifacts that are being refactored, the important issues that need to be taken into account when building refactoring tool support, and the effect of refactoring on the software process. A running example is used throughout the paper to explain and illustrate the main concepts." links: doi: "http://csdl.computer.org/comp/trans/ts/2004/02/e0126abs.htm" tags: - "rule-based" - "refactoring" - "survey" - "rule-based refactoring" researchr: "https://researchr.org/publication/MensT04" cites: 0 citedby: 0 journal: "TSE" volume: "30" number: "2" pages: "126-139" kind: "article" key: "MensT04" - title: "Formalising and analysing the control software of the Compact Muon Solenoid Experiment at the Large Hadron Collider" author: - name: "Yi-Ling Hwong" link: "https://researchr.org/alias/yi-ling-hwong" - name: "Jeroen J. A. Keiren" link: "https://www.jeroenkeiren.nl" - name: "Vincent J. J. Kusters" link: "https://researchr.org/alias/vincent-j.-j.-kusters" - name: "Sander J. J. Leemans" link: "https://researchr.org/alias/sander-j.-j.-leemans" - name: "Tim A. C. Willemse" link: "https://researchr.org/alias/tim-a.-c.-willemse" year: "2013" doi: "http://dx.doi.org/10.1016/j.scico.2012.11.009" links: doi: "http://dx.doi.org/10.1016/j.scico.2012.11.009" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/scp/HwongKKLW13" researchr: "https://researchr.org/publication/HwongKKLW13" cites: 0 citedby: 0 journal: "SCP" volume: "78" number: "12" pages: "2435-2452" kind: "article" key: "HwongKKLW13"