publications: - title: "Types and Concept Analysis for Legacy Systems" author: - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Leon Moonen" link: "http://simula.no/~leonm/" year: "2000" doi: "http://computer.org/proceedings/iwpc/0656/06560221abs.htm" links: doi: "http://computer.org/proceedings/iwpc/0656/06560221abs.htm" tags: - "analysis" - "type system" researchr: "https://researchr.org/publication/KuipersM00" cites: 0 citedby: 0 pages: "221-230" booktitle: "8th International Workshop on Program Comprehension (IWPC 2000), 10-11 June 2000, Limerick, Ireland" publisher: "IEEE Computer Society" isbn: "0-7695-0656-9" kind: "inproceedings" key: "KuipersM00" - title: "A Practical Model for Measuring Maintainability" author: - name: "Ilja Heitlager" link: "http://www.sig.eu" - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2007" doi: "http://dx.doi.org/10.1109/QUATIC.2007.8" abstract: "The amount of effort needed to maintain a software system is related to the technical quality of the source code of that system. The ISO 9126 model for software product quality recognizes maintainability as one of the 6 main characteristics of software product quality, with adaptability, changeability, stability, and testability as subcharacteristics of maintainability. Remarkably, ISO 9126 does not provide a consensual set of measures for estimating maintainability on the basis of a system's source code. On the other hand, the maintainability index has been proposed to calculate a single number that expresses the maintainability of a system. In this paper, we discuss several problems with the MI, and we identify a number of requirements to be fulfilled by a maintainability model to be usable in practice. We sketch a new maintainability model that alleviates most of these problems, and we discuss our experiences with using such as system for IT management consultancy activities." links: doi: "http://dx.doi.org/10.1109/QUATIC.2007.8" tags: - "source code analysis" - "maintainability" - "software metrics" - "meta-model" - "modeling" - "software product quality" - "points-to analysis" - "testing" - "analysis" - "source-to-source" - "ISO/IEC 9126" - "Meta-Environment" - "open-source" researchr: "https://researchr.org/publication/HeitlagerKV07" cites: 0 citedby: 0 pages: "30-39" booktitle: "Quality of Information and Communications Technology, 6th International Conference on the Quality of Information and Communications Technology, QUATIC 2007, Lisbon, Portugal, September 12-14, 2007, Proceedings" editor: - name: "Ricardo Jorge Machado" link: "https://researchr.org/alias/ricardo-jorge-machado" - name: "Fernando Brito e Abreu" link: "https://researchr.org/alias/fernando-brito-e-abreu" - name: "Paulo Rupino da Cunha" link: "https://researchr.org/alias/paulo-rupino-da-cunha" publisher: "IEEE Computer Society" isbn: "0-7695-2948-8" kind: "inproceedings" key: "HeitlagerKV07" - title: "Identifying Objects Using Cluster and Concept Analysis" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "1999" doi: "http://portal.acm.org/citation.cfm?id=302405.302629" links: doi: "http://portal.acm.org/citation.cfm?id=302405.302629" tags: - "meta-model" - "analysis" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/DeursenK99" cites: 0 citedby: 0 pages: "246-255" booktitle: "ICSE" kind: "inproceedings" key: "DeursenK99" - title: "The ASF+SDF Meta-environment: A Component-Based Language Development Environment" author: - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Jan Heering" link: "http://homepages.cwi.nl/~jan/" - name: "H. A. de Jong" link: "http://www.cwi.nl" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Paul Klint" link: "http://homepages.cwi.nl/~paulk/" - name: "Leon Moonen" link: "http://simula.no/~leonm/" - name: "Pieter A. Olivier" link: "http://www.cwi.nl" - name: "Jeroen Scheerder" link: "http://www.linkedin.com/in/jeroenscheerder" - name: "Jurgen J. Vinju" link: "http://homepages.cwi.nl/~jurgenv/" - name: "Eelco Visser" link: "http://eelcovisser.org" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" doi: "https://doi.org/10.1016/S1571-0661(04)80917-4" abstract: "The Asf+Sdf Meta-environment is an interactive development environment for the automatic generation of interactive systems for constructing language definitions and generating tools for them. Over the years, this system has been used in a variety of academic and commercial projects ranging from formal program manipulation to conversion of COBOL systems. Since the existing implementation of the Meta-environment started exhibiting more and more characteristics of a legacy system, we decided to build a completely new, component-based, version. We demonstrate this new system and stress its open architecture. " links: doi: "https://doi.org/10.1016/S1571-0661(04)80917-4" tags: - "programming languages" - "rule-based" - "meta programming" - "SDF" - "meta-model" - "architecture" - "model-driven development" - "source-to-source" - "DSL" - "metaprogramming" - "Meta-Environment" - "Cobol" - "ASF+SDF" - "open-source" - "meta-objects" researchr: "https://researchr.org/publication/BrandDHJ01" cites: 0 citedby: 3 pages: "365-370" booktitle: "Compiler Construction, 10th International Conference, CC 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2-6, 2001, Proceedings" editor: - name: "Reinhard Wilhelm" link: "https://researchr.org/alias/reinhard-wilhelm" volume: "2027" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-41861-X" kind: "inproceedings" key: "BrandDHJ01" - title: "Building Documentation Generators" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "1999" doi: "http://computer.org/proceedings/icsm/0016/00160040abs.htm" links: doi: "http://computer.org/proceedings/icsm/0016/00160040abs.htm" tags: - "island grammars" researchr: "https://researchr.org/publication/DeursenK99%3A0" cites: 0 citedby: 0 pages: "40-49" booktitle: "ICSM" kind: "inproceedings" key: "DeursenK99:0" - title: "Source-Based Software Risk Assessment" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "2003" doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050385abs.htm" links: doi: "http://csdl.computer.org/comp/proceedings/icsm/2003/1905/00/19050385abs.htm" tags: - "rule-based" - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/DeursenK03" cites: 0 citedby: 0 pages: "385-388" booktitle: "19th International Conference on Software Maintenance (ICSM 2003), The Architecture of Existing Systems, 22-26 September 2003, Amsterdam, The Netherlands" publisher: "IEEE Computer Society" isbn: "0-7695-1905-9" kind: "inproceedings" key: "DeursenK03" - title: "A Tool-based Methodology for Software Portfolio Monitoring" author: - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2004" abstract: "We present a tool-based methodology for monitoring the development and maintenance performed on the software portfolio of a large company. The toolkit on which the methodology is based includes an extendable framework for software analysis and visualization that meets strong demands with respect to scalability and usability. The methodology consists of 3 nested iterations and is carried out by software engineers with very strong consultancy skills. The shortest iteration consists in applying the toolkit to the software portfolio to obtain and register basic facts such as metrics and dependencies. In the middle iteration, the engineers interpret and evaluate the newly registered facts. The findings are reported to IT management together with recommendations about how to react to the findings. In particular, one kind of recommendation is to carry out a Software Risk Assessment on a selected system or project. Finally, the longest iteration is the publication of an annual software report, which summarizes the monitoring results of the previous year." tags: - "rule-based" - "software product quality" - "analysis" - "maintenance" - "iterative development" researchr: "https://researchr.org/publication/KuipersV04" cites: 0 citedby: 0 pages: "118-128" booktitle: "Software Audit and Metrics, Proceedings of the 1st International Workshop on Software Audit and Metrics, SAM 2004, In conjunction with ICEIS 2004, Porto, Portugal, April 2004" editor: - name: "Mario Piattini" link: "https://researchr.org/alias/mario-piattini" - name: "Manuel A. Serrano" link: "https://researchr.org/alias/manuel-a.-serrano" publisher: "INSTICC Press" isbn: "972-8865-04-X" kind: "inproceedings" key: "KuipersV04" - title: "Object-oriented tree traversal with JJForester" author: - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2003" doi: "http://dx.doi.org/10.1016/S0167-6423(02)00108-9" abstract: "We want to use the advanced language processing technology available in the in combination with general purpose programming languages. In particular, we want to combine the syntax definition formalism ( ) and the associated components that support generalized LR parsing, with the object-oriented language Java. To this end, we implemented JJForester, a tool that generates class structures from grammar definitions. The generated class structures implement a number of design patterns to facilitate construction and traversal of parse trees represented by object structures. In a detailed case study, we demonstrate how program analyses and transformations for languages of non-trivial size can be constructed with JJForester." links: doi: "http://dx.doi.org/10.1016/S0167-6423(02)00108-9" tags: - "programming languages" - "object-oriented programming" - "Java" - "syntax definition" - "meta programming" - "pattern language" - "generic programming" - "case study" - "traversal" - "transformation language" - "language design" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "design" - "feature-oriented programming" - "meta-objects" - "transformation" - "grammar" - "program transformation" researchr: "https://researchr.org/publication/KuipersV03" cites: 0 citedby: 0 journal: "Science of Computer Programming" volume: "47" number: "1" pages: "59-87" kind: "article" key: "KuipersV03" - title: "Feature-Based Product Line Instantiation Using Source-Level Packages" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Merijn de Jonge" link: "https://researchr.org/profile/merijndejonge/publications" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "2002" doi: "http://link.springer.de/link/service/series/0558/bibs/2379/23790217.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/2379/23790217.htm" tags: - "rule-based" - "source-to-source" - "product line" - "open-source" researchr: "https://researchr.org/publication/DeursenJK02" cites: 0 citedby: 0 pages: "217-234" booktitle: "Software Product Lines, Second International Conference, SPLC 2, San Diego, CA, USA, August 19-22, 2002, Proceedings" editor: - name: "Gary J. Chastek" link: "https://researchr.org/alias/gary-j.-chastek" volume: "2379" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "3-540-43985-4" kind: "inproceedings" key: "DeursenJK02" - title: "Rapid System Understanding: Two COBOL Case Studies" author: - name: "Arie van Deursen" link: "http://www.st.ewi.tudelft.nl/~arie/" - name: "Tobias Kuipers" link: "http://www.sig.eu" year: "1998" doi: "http://dlib2.computer.org/conferen/iwpc/8560/pdf/85600090.pdf" links: doi: "http://dlib2.computer.org/conferen/iwpc/8560/pdf/85600090.pdf" tags: - "case study" - "Cobol" researchr: "https://researchr.org/publication/DeursenK98%3A0" cites: 0 citedby: 0 pages: "90-97" booktitle: "6th International Workshop on Program Comprehension (IWPC 98), June 24-26, 1998, Ischia, Italy" publisher: "IEEE Computer Society" isbn: "0-8186-8560-3" kind: "inproceedings" key: "DeursenK98:0" - title: "Object-oriented Tree Traversal with JJForester" author: - name: "Tobias Kuipers" link: "http://www.sig.eu" - name: "Joost Visser" link: "http://www.di.uminho.pt/~joost.visser/" year: "2001" doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#005" abstract: "We want to use the advanced language processing technology available in the ASF+SDF Meta-Environment in combination with general purpose programming languages. In particular, we want to combine the syntax definition formalism (SDF) and the associated components that support generalized LR parsing, with the object-oriented language Java. To this end, we implemented JJForester, a tool that generates class structures from SDF grammar definitions. The generated class structures implement a number of design patterns to facilitate construction and traversal of parse trees represented by object structures. In a detailed case study, we demonstrate how program analyses and transformations for languages of non-trivial size can be constructed with JJForester." links: doi: "http://www.elsevier.com/gej-ng/31/29/23/73/27/show/Products/notes/index.htt#005" tags: - "programming languages" - "model-to-model transformation" - "object-oriented programming" - "Java" - "syntax definition" - "meta programming" - "pattern language" - "generic programming" - "case study" - "SDF" - "meta-model" - "traversal" - "transformation language" - "visitor" - "language design" - "model transformation" - "programming" - "subject-oriented programming" - "Meta-Environment" - "parsing" - "design" - "Visitor pattern" - "ASF+SDF" - "feature-oriented programming" - "meta-objects" - "transformation" - "grammar" - "program transformation" researchr: "https://researchr.org/publication/KuipersV01" cites: 0 citedby: 0 journal: "Electronic Notes in Theoretical Computer Science" volume: "44" number: "2" pages: "34-58" kind: "article" key: "KuipersV01"