publications: - title: "Meta-Environment and Executable Meta-Language using Smalltalk: an Experience Report" author: - name: "Stéphane Ducasse" link: "http://stephane.ducasse.free.fr/" - name: "Tudor Gîrba" link: "http://www.tudorgirba.com" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Lukas Renggli" link: "http://www.lukas-renggli.ch/" year: "2009" month: "feb" doi: "10.1007/s10270-008-0081-4" links: "url": "http://scg.unibe.ch/archive/drafts/Duca08a-Sosym-ExecutableMetaLanguage.pdf" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/Duca08a" cites: 0 citedby: 0 journal: "Journal of Software and Systems Modeling (SOSYM)" volume: "8" number: "1" kind: "article" key: "Duca08a" - title: "SUITE 2009: First international workshop on search-driven development - users, infrastructure, tools and evaluation" author: - name: "Sushil Krishna Bajracharya" link: "http://www.ics.uci.edu/~sbajrach" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Yunwen Ye" link: "http://www.sra.co.jp/people/ye" year: "2009" doi: "http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054" links: doi: "http://dx.doi.org/10.1109/ICSE-COMPANION.2009.5071054" tags: - "meta-model" - "model-driven development" - "Meta-Environment" - "search" researchr: "https://researchr.org/publication/BajracharyaKY09" cites: 0 citedby: 0 pages: "445-446" booktitle: "ICSE" kind: "inproceedings" key: "BajracharyaKY09" - title: "How Developers Drive Software Evolution" author: - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%AErba" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Mauricio Seeberger" link: "https://researchr.org/alias/mauricio-seeberger" - name: "Stéphane Ducasse" link: "https://researchr.org/alias/st%C3%A9phane-ducasse" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/IWPSE.2005.21" links: doi: "http://doi.ieeecomputersociety.org/10.1109/IWPSE.2005.21" tags: - "software evolution" researchr: "https://researchr.org/publication/GirbaKSD05" cites: 0 citedby: 0 pages: "113-122" booktitle: "iwpse" kind: "inproceedings" key: "GirbaKSD05" - title: "Semantic clustering: Identifying topics in source code" author: - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Stéphane Ducasse" link: "https://researchr.org/alias/st%C3%A9phane-ducasse" - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%AErba" year: "2007" doi: "http://dx.doi.org/10.1016/j.infsof.2006.10.017" links: doi: "http://dx.doi.org/10.1016/j.infsof.2006.10.017" tags: - "source-to-source" - "peer-to-peer" - "open-source" researchr: "https://researchr.org/publication/KuhnDG07" cites: 0 citedby: 0 journal: "INFSOF" volume: "49" number: "3" pages: "230-243" kind: "article" key: "KuhnDG07" - title: "JExample: Exploiting Dependencies between Tests to Improve Defect Localization" author: - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Bart Van Rompaey" link: "https://researchr.org/alias/bart-van-rompaey" - name: "Lea Haensenberger" link: "https://researchr.org/alias/lea-haensenberger" - name: "Oscar Nierstrasz" link: "http://scg.unibe.ch/staff/oscar" - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Markus Gaelli" link: "http://methodsinaction.com" - name: "Koenraad Van Leemput" link: "https://researchr.org/alias/koenraad-van-leemput" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-68255-4_8" links: doi: "http://dx.doi.org/10.1007/978-3-540-68255-4_8" tags: - "testing" researchr: "https://researchr.org/publication/KuhnRHNDGL08" cites: 0 citedby: 0 pages: "73-82" booktitle: "xpu" kind: "inproceedings" key: "KuhnRHNDGL08" - title: "Back to the Future in One Week - Implementing a Smalltalk VM in PyPy" author: - name: "Carl Friedrich Bolz" link: "https://researchr.org/alias/carl-friedrich-bolz" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Adrian Lienhard" link: "http://www.adrian-lienhard.ch" - name: "Nicholas D. Matsakis" link: "https://researchr.org/alias/nicholas-d.-matsakis" - name: "Oscar Nierstrasz" link: "http://scg.unibe.ch/staff/oscar" - name: "Lukas Renggli" link: "http://www.lukas-renggli.ch/" - name: "Armin Rigo" link: "https://researchr.org/alias/armin-rigo" - name: "Toon Verwaest" link: "https://researchr.org/alias/toon-verwaest" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-89275-5_7" abstract: "We report on our experiences with the Spy project, including implementation details and benchmark results. Spy is a re-implementation of the Squeak (i.e., Smalltalk-80) VM using the PyPy toolchain. The PyPy project allows code written in RPython, a subset of Python, to be translated to a multitude of different backends and architectures. During the translation, many aspects of the implementation can be independently tuned, such as the garbage collection algorithm or threading implementation. In this way, a whole host of interpreters can be derived from one abstract interpreter definition. Spy aims to bring these benefits to Squeak, allowing for greater portability and, eventually, improved performance. The current Spy codebase is able to run a small set of benchmarks that demonstrate performance superior to many similar Smalltalk VMs, but which still run slower than in Squeak itself. Spy was built from scratch over the course of a week during a joint Squeak-PyPy Sprint in Bern last autumn." links: doi: "http://dx.doi.org/10.1007/978-3-540-89275-5_7" tags: - "translation" - "interpreter" - "architecture" researchr: "https://researchr.org/publication/BolzKLMNRRV08" cites: 0 citedby: 0 pages: "123-139" booktitle: "s3" kind: "inproceedings" key: "BolzKLMNRRV08" - title: "Tool Building on the Shoulders of Others" author: - name: "Holger M. Kienle" link: "https://researchr.org/alias/holger-m.-kienle" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Kim Mens" link: "http://www.info.ucl.ac.be/~km/MyResearchPages/research/" - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Roel Wuyts" link: "http://roelwuyts.be" year: "2009" doi: "http://dx.doi.org/10.1109/MS.2009.25" links: doi: "http://dx.doi.org/10.1109/MS.2009.25" researchr: "https://researchr.org/publication/KienleKMBW09" cites: 0 citedby: 0 journal: "IEEE Software" volume: "26" number: "1" pages: "22-23" kind: "article" key: "KienleKMBW09" - title: "Interactive Exploration of Semantic Clusters" author: - name: "Mircea Lungu" link: "https://researchr.org/alias/mircea-lungu" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%AErba" - name: "Michele Lanza" link: "https://researchr.org/alias/michele-lanza" year: "2005" researchr: "https://researchr.org/publication/LunguKGL05" cites: 0 citedby: 0 pages: "95-100" booktitle: "vissoft" kind: "inproceedings" key: "LunguKGL05" - title: "Consistent Layout for Thematic Software Maps" author: - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Peter Loretan" link: "https://researchr.org/alias/peter-loretan" - name: "Oscar Nierstrasz" link: "http://scg.unibe.ch/staff/oscar" year: "2008" doi: "http://dx.doi.org/10.1109/WCRE.2008.45" links: doi: "http://dx.doi.org/10.1109/WCRE.2008.45" tags: - "layout" researchr: "https://researchr.org/publication/KuhnLN08" cites: 0 citedby: 0 pages: "209-218" booktitle: "WCRE" kind: "inproceedings" key: "KuhnLN08" - title: "Object-Oriented Reengineering" author: - name: "Serge Demeyer" link: "https://researchr.org/alias/serge-demeyer" - name: "Yann-Gaël Guéhéneuc" link: "https://researchr.org/alias/yann-ga%C3%ABl-gu%C3%A9h%C3%A9neuc" - name: "Anne Keller" link: "https://researchr.org/alias/anne-keller" - name: "Christian F. J. Lange" link: "https://researchr.org/alias/christian-f.-j.-lange" - name: "Kim Mens" link: "http://www.info.ucl.ac.be/~km/MyResearchPages/research/" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-78195-0_14" links: doi: "http://dx.doi.org/10.1007/978-3-540-78195-0_14" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/DemeyerGKLMKK07" cites: 0 citedby: 0 pages: "142-153" booktitle: "ECOOPW" kind: "inproceedings" key: "DemeyerGKLMKK07" - title: "Chronia: Visualizing How Developers Change Software Systems" author: - name: "Mauricio Seeberger" link: "https://researchr.org/alias/mauricio-seeberger" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%AErba" - name: "Stéphane Ducasse" link: "https://researchr.org/alias/st%C3%A9phane-ducasse" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.15" links: doi: "http://doi.ieeecomputersociety.org/10.1109/CSMR.2006.15" researchr: "https://researchr.org/publication/SeebergerKGD06" cites: 0 citedby: 0 pages: "345-348" booktitle: "CSMR" kind: "inproceedings" key: "SeebergerKGD06" - title: "Academic Software Development Tools and Techniques" author: - name: "Roel Wuyts" link: "http://roelwuyts.be" - name: "Holger M. Kienle" link: "https://researchr.org/alias/holger-m.-kienle" - name: "Kim Mens" link: "http://www.info.ucl.ac.be/~km/MyResearchPages/research/" - name: "Mark G. J. van den Brand" link: "http://www.win.tue.nl/~mvdbrand/" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-642-02047-6_10" links: doi: "http://dx.doi.org/10.1007/978-3-642-02047-6_10" researchr: "https://researchr.org/publication/WuytsKMBK08" cites: 0 citedby: 0 pages: "87-103" booktitle: "ECOOPW" kind: "inproceedings" key: "WuytsKMBK08" - title: "Enriching Reverse Engineering with Semantic Clustering" author: - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Stéphane Ducasse" link: "https://researchr.org/alias/st%C3%A9phane-ducasse" - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%AErba" year: "2005" doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.16" links: doi: "http://doi.ieeecomputersociety.org/10.1109/WCRE.2005.16" tags: - "reverse engineering" researchr: "https://researchr.org/publication/KuhnDG05" cites: 0 citedby: 0 pages: "133-142" booktitle: "WCRE" kind: "inproceedings" key: "KuhnDG05" - title: "Exploiting the Analogy Between Traces and Signal Processing" author: - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Orla Greevy" link: "https://researchr.org/alias/orla-greevy" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.29" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.29" researchr: "https://researchr.org/publication/KuhnG06" cites: 0 citedby: 0 pages: "320-329" booktitle: "ICSM" kind: "inproceedings" key: "KuhnG06" - title: "Distribution Map" author: - name: "Stéphane Ducasse" link: "https://researchr.org/alias/st%C3%A9phane-ducasse" - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%AErba" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" year: "2006" doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.22" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICSM.2006.22" researchr: "https://researchr.org/publication/DucasseGK06" cites: 0 citedby: 0 pages: "203-212" booktitle: "ICSM" kind: "inproceedings" key: "DucasseGK06" - title: "Semantic Clustering: Making Use of Linguistic Information to Reveal Concepts in Source Code" author: - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" year: "2006" month: "March" abstract: "Many approaches have been developed to comprehend software source code, most of them focusing on program structural information. However, in doing so we are missing a crucial information, namely, the domain semantics information contained in the text or symbols of the source code. When we are to understand software as a whole, we need to enrich these approaches with conceptual insights gained from the domain semantics. This paper proposes the use of information retrieval techniques to exploit linguistic information, such as identifier names and comments in source code, to gain insights into how the domain is mapped to the code. We introduce Semantic Clustering, an algorithm to group source artifacts based on how they use similar terms. The algorithm uses Latent Semantic Indexing. After detecting the clusters, we provide an automatic labeling and then we visually explore how the clusters are spread over the system. Our approach works at the source code textual level which makes it language independent. Nevertheless, we correlate the semantics with structural information and we apply it at different levels of abstraction (for example packages, classes, methods). To validate our approach we applied it on several case studies." links: "pdf": "http://scg.unibe.ch/archive/masters/Kuhn06a.pdf" tags: - "programming languages" - "semantics" - "rule-based" - "case study" - "information retrieval" - "source-to-source" - "abstraction" - "systematic-approach" - "open-source" - "domain-specific language" researchr: "https://researchr.org/publication/Kuhn06a" cites: 0 citedby: 0 school: "University of Bern" type: "Master's thesis" advisor: - name: "Tudor Girba" link: "https://researchr.org/alias/tudor-girba" - name: "Oscar Nierstrasz" link: "http://scg.unibe.ch/staff/oscar" kind: "mastersthesis" key: "Kuhn06a" - title: "Meta-environment and executable meta-language using smalltalk: an experience report" author: - name: "stéphane-ducasse" link: "https://researchr.org/alias/st%C3%A3%C2%A9phane-ducasse" - name: "Tudor Gîrba" link: "https://researchr.org/alias/tudor-g%C3%A3%C2%AErba" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" - name: "Lukas Renggli" link: "http://www.lukas-renggli.ch/" year: "2009" doi: "http://dx.doi.org/10.1007/s10270-008-0081-4" links: doi: "http://dx.doi.org/10.1007/s10270-008-0081-4" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/DucasseGKR09" cites: 0 citedby: 0 journal: "SoSyM" volume: "8" number: "1" pages: "5-19" kind: "article" key: "DucasseGKR09" - title: "Magritte - A Meta-driven Approach to Empower Developers and End Users" author: - name: "Lukas Renggli" link: "http://www.lukas-renggli.ch/" - name: "Stéphane Ducasse" link: "http://stephane.ducasse.free.fr/" - name: "Adrian Kuhn" link: "http://scg.unibe.ch/akuhn" year: "2007" doi: "http://dx.doi.org/10.1007/978-3-540-75209-7_8" abstract: "Developing applications that end users can customize is a challenge, since end users are domain experts but still have concrete requirements. In this master thesis we present how we used a meta-driven approach to support the end user customization of Web applications. We present Magritte, a recursive meta-data meta-model integrated into the Smalltalk reflective meta-model. The adaptive model of Magritte enables to not only describe existing classes but also let end users build their own meta-models on the fly. Further on we describe how meta-interpreters automatically build views, reports, validating editors and persistency mechanisms. As a complete example of how we applied a meta-model to a Web application we present Pier, the second version of a fully object-oriented implementation of a content management system and Wiki engine. Pier is implemented with objects from the top to the bottom and is designed to be customizable to accommodate new needs. The integration of a powerful meta-description layer makes it a breeze to extend the running system with new functionality without having to patch the core engine. We describe the lessons learned from using the Magritte meta-model to build applications. Both projects described in this thesis are open source and can be downloaded from the Web site of the author." links: doi: "http://dx.doi.org/10.1007/978-3-540-75209-7_8" tags: - "Magritte" - "data validation" - "completeness" - "model editor" - "persistent" - "meta-model" - "interpreter" - "persistent object" - "data-flow" - "source-to-source" - "object-role modeling" - "wiki" - "web applications" - "Meta-Environment" - "systematic-approach" - "open-source" - "meta-objects" researchr: "https://researchr.org/publication/RenggliDK07" cites: 0 citedby: 0 pages: "106-120" booktitle: "MoDELS" kind: "inproceedings" key: "RenggliDK07"