publications: - title: "Type safety for feature-oriented product lines" author: - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Armin Größlinger" link: "https://researchr.org/alias/armin-gr%C3%B6%C3%9Flinger" - name: "Christian Lengauer" link: "https://researchr.org/alias/christian-lengauer" year: "2010" doi: "http://springerlink.metapress.com/content/fh1725331424x665/" links: doi: "http://springerlink.metapress.com/content/fh1725331424x665/" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/ase/ApelKGL10" tags: - "Variability-Aware Analysis" - "analysis" - "context-aware" researchr: "https://researchr.org/publication/ApelKGL10" cites: 0 citedby: 0 journal: "ASE" volume: "17" number: "3" pages: "251-300" kind: "article" key: "ApelKGL10" - title: "Integrated Product Line Model for Semi-Automated Product Derivation Using Non-Functional Properties" author: - name: "Norbert Siegmund" link: "http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/" - name: "Martin Kuhlemann" link: "http://wwwiti.cs.uni-magdeburg.de/~mkuhlema/" - name: "Marko Rosenmüller" link: "http://wwwiti.cs.uni-magdeburg.de/~rosenmue/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2008" doi: "http://www.vamos-workshop.net/proceedings/VaMoS_2008_Proceedings.pdf" links: doi: "http://www.vamos-workshop.net/proceedings/VaMoS_2008_Proceedings.pdf" tags: - "product line" researchr: "https://researchr.org/publication/SiegmundKRKS08" cites: 0 citedby: 0 pages: "25-32" booktitle: "vamos" kind: "inproceedings" key: "SiegmundKRKS08" - title: "Virtual Separation of Concerns -- A Second Chance for Preprocessors" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" year: "2009" month: "SEP" abstract: "Conditional compilation with preprocessors like cpp is a simple but effective means to implement variability. By annotating code fragments with \\emph{#ifdef} and \\emph{#endif} directives, different program variants with or without these fragments can be created, which can be used (among others) to implement software product lines. Although, preprocessors are frequently used in practice, they are often criticized for their negative effect on code quality and maintainability. In contrast to modularized implementations, for example using components or aspects, preprocessors neglect separation of concerns, are prone to introduce subtle errors, can entirely obfuscate the source code, and limit reuse. Our aim is to rehabilitate the preprocessor by showing how simple tool support can address these problems and emulate some benefits of modularized implementations. At the same time we emphasize unique benefits of preprocessors, like simplicity and language independence. Although we do not have a definitive answer on how to implement variability, we want highlight opportunities to improve preprocessors and encourage research toward novel preprocessor-based approaches." tags: - "programming languages" - "reusable components" - "fosd" - "rule-based" - "SPL implementation" - "software product lines" - "software components" - "separation of concerns" - "software product quality" - "software component" - "reuse" - "source-to-source" - "systematic-approach" - "open-source" - "CIDE" researchr: "https://researchr.org/publication/KA%3AJOT09" cites: 0 citedby: 0 journal: "Journal of Object Technology (JOT)" volume: "8" number: "6" kind: "article" key: "KA:JOT09" - title: "Type Checking Annotation-Based Product Lines" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Thomas Thüm" link: "http://www.ovgu.de/~tthuem/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2012" month: "jul" links: "url": "http://wwwiti.cs.uni-magdeburg.de/iti_db/publikationen/ps/auto/KATS:TOSEM11.pdf" tags: - "rule-based" - "type checking" researchr: "https://researchr.org/publication/KATS%3ATOSEM12" cites: 0 citedby: 0 journal: "ACM Transactions on Software Engineering and Methodology" volume: "21" number: "3" pages: "1-39" kind: "article" key: "KATS:TOSEM12" - title: "On the modularity of feature interactions" author: - name: "Chang Hwan Peter Kim" link: "https://researchr.org/alias/chang-hwan-peter-kim" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" year: "2008" doi: "http://doi.acm.org/10.1145/1449913.1449919" links: doi: "http://doi.acm.org/10.1145/1449913.1449919" tags: - "fosd" - "Variability-Aware Analysis" - "analysis" - "type checking" - "context-aware" - "CIDE" researchr: "https://researchr.org/publication/KimKB08" cites: 0 citedby: 0 pages: "23-34" booktitle: "GPCE" kind: "inproceedings" key: "KimKB08" - title: "On the Impact of the Optional Feature Problem: Analysis and Case Studies" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Syed Saif ur Rahman" link: "https://researchr.org/alias/syed-saif-ur-rahman" - name: "Marko Rosenmüller" link: "http://wwwiti.cs.uni-magdeburg.de/~rosenmue/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2009" month: "AUG" abstract: "A software product-line is a family of related programs that are distinguished in terms of features. A feature implements a stakeholders' requirement. Different program variants specified by distinct feature selections are produced from a common code base. The optional feature problem describes a common mismatch between variability intended in the domain and dependencies in the implementation. When this occurs, some variants that are valid in the domain cannot be produced due to implementation issues. There are many different solutions to the optional feature problem, but they all suffer from drawbacks such as reduced variability, increased development effort, reduced efficiency, or reduced source code quality. In this paper, we examine the impact of the optional feature problem in two case studies in the domain of embedded database systems, and we survey different state-of-the-art solutions and their trade-offs. Our intension is to raise awareness of the problem, to guide developers in selecting an appropriate solution for their product-line project, and to identify opportunities for future research." tags: - "preprocessor" - "object-oriented programming" - "FAME-DBMS" - "fosd" - "rule-based" - "multi-dimensional separation of concerns" - "program analysis" - "feature interactions" - "case study" - "software product lines" - "sple" - "embedded software" - "separation of concerns" - "refactoring" - "software product quality" - "points-to analysis" - "domain analysis" - "analysis" - "berkeley db" - "source-to-source" - "survey" - "rule-based refactoring" - "database" - "context-aware" - "software product line" - "product line" - "feature-oriented programming" - "open-source" - "CIDE" researchr: "https://researchr.org/publication/KARRBS%3ASPLC09" cites: 0 citedby: 0 booktitle: "Proceedings of the 13th International Software Product Line Conference (SPLC)" kind: "inproceedings" key: "KARRBS:SPLC09" - title: "Bridging the Gap between Variability in Client Application and Database Schema" author: - name: "Norbert Siegmund" link: "http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Marko Rosenmüller" link: "http://wwwiti.cs.uni-magdeburg.de/~rosenmue/" - name: "Florian Heidenreich" link: "http://fheidenreich.de/work/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2009" abstract: "Database schemas are used to describe the logical design of a database. Diverse groups of users have different views on the global schema which leads to different local schemas. Research has focused on view integration to generate a global, consistent schema out of different local schemas. However, this approach is too constrained when the generated global view should be variable and only a certain subset is needed. Variable schemas are needed in software product lines in which products are tailored to the needs of stakeholders. We argue that traditional modeling techniques are not sufficient for expressing variable database schemas. We show that software product line methodologies, when applied to the database schemas, overcome existing limitations and are able to generate tailor-made database schemas." tags: - "ER" - "feature modelling" - "FeatureHouse" - "fosd" - "software product lines" - "meta-model" - "XML" - "featuremapper" - "XML Schema" - "modeling" - "entity relationship" - "variability management" - "design research" - "database schemas" - "database" - "software product line" - "Meta-Environment" - "design" - "product line" - "systematic-approach" - "CIDE" researchr: "https://researchr.org/publication/SiegmundKRHAS09" cites: 0 citedby: 0 pages: "297-306" booktitle: "btw" kind: "inproceedings" key: "SiegmundKRHAS09" - title: "LJAR: A Model of Refactoring Physically and Virtually Separated Features" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" year: "2009" month: "MAY" abstract: "Physical separation with class refinements and method refinements ? la AHEAD and virtual separation using annotations ? la #ifdef or CIDE are two competing groups of implementation approaches for software product lines with complementary advantages. Although both groups have been mainly discussed in isolation, we strive for an integration to leverage the respective advantages. In this paper, we provide the basis for such an integration by providing a model that supports both, physical and virtual separation, and by describing refactorings in both directions. We prove the refactorings complete, such that every virtually separated product line can be automatically transformed into a physically separated one (replacing annotations by refinements) and vice versa. To demonstrate the feasibility of our approach, we have implemented the refactorings in our tool CIDE and conducted four case studies." tags: - "preprocessor" - "fosd" - "completeness" - "case study" - "software product lines" - "meta-model" - "refinement" - "model refactoring" - "refactoring" - "software product line" - "Meta-Environment" - "product line" - "systematic-approach" researchr: "https://researchr.org/publication/KAK%3AMD09" cites: 0 citedby: 0 institution: "School of Computer Science, University of Magdeburg" number: "08" address: "Germany" kind: "techreport" key: "KAK:MD09" - title: "Language-Independent Quantification and Weaving for Feature Composition" author: - name: "Stefan Boxleitner" link: "https://researchr.org/alias/stefan-boxleitner" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2009" month: "JUL" doi: "10.1007/978-3-642-02655-3_5" abstract: "Based on a general model of feature composition, we present a composition language that enables programmers by means of quantification and weaving to formulate extensions to programs written in different languages. We explore the design space of composition languages that rely on quantification and weaving and discuss our choices. We outline a tool that extends an existing infrastructure for feature composition and discuss results of three initial case studies." links: "url": "http://www.springerlink.com/content/p2p728q15r347576/" tags: - "programming languages" - "object-oriented programming" - "fosd" - "rule-based" - " language-independent" - "meta programming" - " FST" - "case study" - "meta-model" - "modeling language" - "AOP" - "language modeling" - "composition" - "language design" - "weaving" - "aspects" - "object-role modeling" - " algebra" - "Meta-Environment" - "design" - "feature-oriented programming" researchr: "https://researchr.org/publication/BAK%3ASC09" cites: 0 citedby: 0 booktitle: "Proceedings of the 8th International Conference on Software Composition (SC)" kind: "inproceedings" key: "BAK:SC09" - title: "A Case Study Implementing Features Using AspectJ" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/SPLINE.2007.12" links: doi: "http://doi.ieeecomputersociety.org/10.1109/SPLINE.2007.12" tags: - "AspectJ" - "case study" researchr: "https://researchr.org/publication/KastnerAB07" cites: 0 citedby: 0 pages: "223-232" booktitle: "SPLC" kind: "inproceedings" key: "KastnerAB07" - title: "Semistructured Merge in Revision Control Systems" author: - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Jörg Liebig" link: "https://researchr.org/alias/j%C3%B6rg-liebig" - name: "Christian Lengauer" link: "https://researchr.org/alias/christian-lengauer" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" year: "2010" doi: "http://www.vamos-workshop.net/proceedings/VaMoS_2010_Proceedings.pdf" links: doi: "http://www.vamos-workshop.net/proceedings/VaMoS_2010_Proceedings.pdf" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/vamos/ApelLLKC10" tags: - "control systems" researchr: "https://researchr.org/publication/ApelLLKC10" cites: 0 citedby: 0 pages: "13-19" booktitle: "vamos" kind: "inproceedings" key: "ApelLLKC10" - title: "Guaranteeing Syntactic Correctness for all Product Line Variants: A Language-Independent Approach" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Salvador Trujillo" link: "https://researchr.org/alias/salvador-trujillo" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" year: "2009" month: "JUN" doi: "10.1007/978-3-642-02571-6" abstract: "A software product line (SPL) is a family of related program variants in a well-defined domain, generated from a set of features. A fundamental difference from classical application development is that engineers develop not a single program but a whole family with hundreds to millions of variants. This makes it infeasible to separately check every distinct variant for errors. Still engineers want guarantees on the entire SPL. A further challenge is that an SPL may contain artifacts in different languages (code, documentation, models, etc.) that should be checked. In this paper, we present CIDE, an SPL development tool that guarantees syntactic correctness for all variants of an SPL. We show how CIDE's underlying mechanism abstracts from textual representation and we generalize it to arbitrary languages. Furthermore, we automate the generation of safe plug-ins for additional languages from annotated grammars. To demonstrate the language-independent capabilities, we applied CIDE to a series of case studies with artifacts written in Java, C++, C, Haskell, ANTLR, HTML, and XML." links: "url": "http://www.springerlink.com/content/t8752407443k83j2" tags: - "programming languages" - " syntax errors" - "Java" - "program analysis" - "meta programming" - "case study" - "model checking" - "meta-model" - "XML" - "abstract syntax" - "modeling language" - "XML Schema" - "Variability-Aware Analysis" - "DSLsAndPLE" - " annotations" - "language modeling" - "domain analysis" - "analysis" - "Haskell" - "model-driven development" - "C++" - "code generation" - "context-aware" - "software product line" - "Meta-Environment" - "product line" - " ifdef" - "systematic-approach" - "grammar" - "CIDE" - "domain-specific language" researchr: "https://researchr.org/publication/KATKB%3ATOOLS09" cites: 0 citedby: 0 booktitle: "Proceedings of the 47th International Conference Objects, Models, Components, Patterns (TOOLS EUROPE)" kind: "inproceedings" key: "KATKB:TOOLS09" - title: "Pointcuts, advice, refinements, and collaborations: similarities, differences, and synergies" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" year: "2007" doi: "http://dx.doi.org/10.1007/s11334-007-0030-3" links: doi: "http://dx.doi.org/10.1007/s11334-007-0030-3" tags: - "refinement" researchr: "https://researchr.org/publication/ApelKKL07" cites: 0 citedby: 0 journal: "isse" volume: "3" number: "4" pages: "281-289" kind: "article" key: "ApelKKL07" - title: "Visual Support for Understanding Product Lines" author: - name: "Janet Feigenspan" link: "https://researchr.org/alias/janet-feigenspan" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Mathias Frisch" link: "https://researchr.org/alias/mathias-frisch" - name: "Raimund Dachselt" link: "https://researchr.org/alias/raimund-dachselt" - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" year: "2010" doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.15" links: doi: "http://doi.ieeecomputersociety.org/10.1109/ICPC.2010.15" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/iwpc/FeigenspanKFDA10" tags: - "CIDE" researchr: "https://researchr.org/publication/FeigenspanKFDA10" cites: 0 citedby: 0 pages: "34-35" booktitle: "IWPC" kind: "inproceedings" key: "FeigenspanKFDA10" - title: "An Orthogonal Access Modifier Model for Feature-Oriented Programming" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Jörg Liebig" link: "http://www.infosun.fim.uni-passau.de/cl/staff/liebig/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Martin Kuhlemann" link: "http://wwwiti.cs.uni-magdeburg.de/~mkuhlema/" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" year: "2009" month: "OCT" abstract: "In feature-oriented programming (FOP), a programmer decomposes a program in terms of features. Ideally, features are implemented modularly so that they can be developed in isolation. Access control is an important ingredient to attain feature modularity as it provides mechanisms to hide and expose internal details of a module's implementation. But developers of contemporary feature-oriented languages did not consider access control mechanisms so far. The absence of a well-defined access control model for FOP breaks the encapsulation of feature code and leads to unexpected and undefined program behaviors as well as inadvertent type errors, as we will demonstrate. The reason for these problems is that common object-oriented modifiers, typically provided by the base language, are not expressive enough for FOP and interact in subtle ways with feature-oriented language mechanisms. We raise awareness of this problem, propose three feature-oriented modifiers for access control, and present an orthogonal access modifier model." tags: - "programming languages" - "object-oriented programming" - "fosd" - "rule-based" - "meta programming" - "meta-model" - "modeling language" - "modeling" - "language modeling" - "object-role modeling" - "programming" - "subject-oriented programming" - "context-aware" - "Meta-Environment" - "access control" - "role-based access control" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/ALKKL%3AFOSD09" cites: 0 citedby: 0 booktitle: "Proceedings of the First Workshop on Feature-Oriented Software Development (FOSD)" kind: "inproceedings" key: "ALKKL:FOSD09" - title: "Feature featherweight java: a calculus for feature-oriented programming and stepwise refinement" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" year: "2008" doi: "http://doi.acm.org/10.1145/1449913.1449931" links: doi: "http://doi.acm.org/10.1145/1449913.1449931" tags: - "object-oriented programming" - "Java" - "program analysis" - "Variability-Aware Analysis" - "refinement" - "analysis" - "programming" - "subject-oriented programming" - "context-aware" - "feature-oriented programming" researchr: "https://researchr.org/publication/ApelKL08" cites: 0 citedby: 0 pages: "101-112" booktitle: "GPCE" kind: "inproceedings" key: "ApelKL08" - title: "Automating Feature-Oriented Refactoring of Legacy Applications" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" - name: "Don S. Batory" link: "https://researchr.org/alias/don-s.-batory" 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/KastnerKB07" tags: - "refactoring" researchr: "https://researchr.org/publication/KastnerKB07" cites: 0 citedby: 0 pages: "62-63" booktitle: "ECOOP" kind: "inproceedings" key: "KastnerKB07" - title: "FeatureHouse: Language-independent, automated software composition" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" year: "2009" doi: "http://dx.doi.org/10.1109/ICSE.2009.5070523" links: doi: "http://dx.doi.org/10.1109/ICSE.2009.5070523" tags: - "FeatureHouse" - "fosd" - "composition" - "software composition" - "superimposition" - "physical separation" researchr: "https://researchr.org/publication/ApelKL09%3A0" cites: 0 citedby: 0 pages: "221-231" booktitle: "ICSE" kind: "inproceedings" key: "ApelKL09:0" - title: "Model Superimposition in Software Product Lines" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Florian Janda" link: "https://researchr.org/alias/florian-janda" - name: "Salvador Trujillo" link: "https://researchr.org/alias/salvador-trujillo" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2009" month: "JUN" doi: "10.1007/978-3-642-02408-5_2" abstract: "In software product line engineering, feature composition generates software tailored to specific requirements from a common set of artifacts. Superimposition is a popular technique to merge code pieces belonging to different features. The advent of model-driven development raises the question of how to support the variability of software product lines in modeling techniques. We propose to use superimposition as a model composition technique in order to support variability. We analyze the feasibility of superimposition as a model composition technique, offer a corresponding tool for model composition, and discuss our experiences with three case studies (including one industrial study) using this tool." links: "url": "http://www.springerlink.com/content/2k512285p2lv6j04/" tags: - "case study" - "software product lines" - "meta-model" - "modeling" - "DSLsAndPLE" - "composition" - "requirements engineering" - "model-driven development" - "software engineering" - "model-driven engineering" - "software product line" - "Meta-Environment" - "product line" researchr: "https://researchr.org/publication/AJTK%3AICMT09" cites: 0 citedby: 0 booktitle: "Proceedings of the Second International Conference on Model Transformation (ICMT)" kind: "inproceedings" key: "AJTK:ICMT09" - title: "Library-based model-driven software development with SugarJ" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2048147.2048156" abstract: "SugarJ is a Java-based programming language that provides extensible surface syntax, static analyses, and IDE support. SugarJ extensions are organized as libraries; conventional import statements suffice to activate and compose language extensions. We demonstrate how programmers can use SugarJ to modularly extend Java's syntax, semantic analyses and IDE support." links: doi: "http://doi.acm.org/10.1145/2048147.2048156" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ErdwegKRKOV11" researchr: "https://researchr.org/publication/ErdwegKRKOV11-mdsd" cites: 0 citedby: 0 pages: "17-18" booktitle: "OOPSLA" kind: "inproceedings" key: "ErdwegKRKOV11-mdsd" - title: "Type-Checking Software Product Lines - A Formal Approach" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" year: "2008" doi: "http://dx.doi.org/10.1109/ASE.2008.36" links: doi: "http://dx.doi.org/10.1109/ASE.2008.36" tags: - "fosd" - " cfj" - "Java" - "software product lines" - "Variability-Aware Analysis" - " featherweight java" - "analysis" - "type system" - " fj" - " colored featherweight java" - "type checking" - "context-aware" - "systematic-approach" - "CIDE" researchr: "https://researchr.org/publication/KastnerA08" cites: 0 citedby: 0 pages: "258-267" booktitle: "ASE" kind: "inproceedings" key: "KastnerA08" - title: "Integrating Compositional and Annotative Approaches for Product Line Engineering" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" year: "2008" month: "OCT" abstract: "Software product lines can be implemented with many different approaches. However, there are common underlying mechanisms which allow a classification into compositional and annotative approaches. While research focuses mainly on composition approaches like aspect- or feature-oriented programming because those support feature traceability and modularity, in practice annotative approaches like preprocessors are common as they are easier to adopt. In this paper, we compare both groups of approaches and find complementary strengths. We propose an integration of compositional and annotative approaches to combine advantages, increase flexibility for the developer, and ease adoption." tags: - "object-oriented programming" - "FeatureHouse" - "fosd" - "classification" - "software product lines" - "DSLsAndPLE" - "composition" - "software engineering" - "aspect oriented programming" - "programming" - "subject-oriented programming" - " comparison" - "software product line" - "product line" - "systematic-approach" - "feature-oriented programming" - "CIDE" researchr: "https://researchr.org/publication/KA%3AMcGPLE08" cites: 0 citedby: 0 booktitle: "Proceedings of the GPCE Workshop on Modularization, Composition and Generative Techniques for Product Line Engineering (McGPLE)" kind: "inproceedings" key: "KA:McGPLE08" - title: "An algebraic foundation for automatic feature-based program synthesis" author: - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Christian Lengauer" link: "https://researchr.org/alias/christian-lengauer" - name: "Bernhard Möller" link: "https://researchr.org/alias/bernhard-m%C3%B6ller" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2010" doi: "http://dx.doi.org/10.1016/j.scico.2010.02.001" links: doi: "http://dx.doi.org/10.1016/j.scico.2010.02.001" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/scp/ApelLMK10" tags: - "object-oriented programming" - "rule-based" - " algebra" - "feature-oriented programming" researchr: "https://researchr.org/publication/ApelLMK10" cites: 0 citedby: 0 journal: "SCP" volume: "75" number: "11" pages: "1022-1047" kind: "article" key: "ApelLMK10" - title: "CIDE: Decomposing Legacy Applications into Features" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2007" tags: - " demo" - "CIDE" researchr: "https://researchr.org/publication/Kastner07" cites: 0 citedby: 0 pages: "149-150" booktitle: "SPLC" kind: "inproceedings" key: "Kastner07" - title: "Reasoning about Edits to Feature Models" author: - name: "Thomas Thüm" link: "http://www.ovgu.de/~tthuem/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2009" doi: "http://dx.doi.org/10.1109/ICSE.2009.5070526" abstract: "Features express the variabilities and commonalities among programs in a software product line (SPL). A feature model defines the valid combinations of features, where each combination corresponds to a program in an SPL. SPLs and their feature models evolve over time. We classify the evolution of a feature model via modifications as refactorings, specializations, generalizations, or arbitrary edits. We present an algorithm to reason about feature model edits to help designers determine how the program membership of an SPL has changed. Our algorithm takes two feature models as input (before and after edit versions), where the set of features in both models are not necessarily the same, and it automatically computes the change classification. Our algorithm is able to give examples of added or deleted products and efficiently classifies edits to even large models that have thousands of features." links: doi: "http://dx.doi.org/10.1109/ICSE.2009.5070526" tags: - "object-oriented programming" - "meta programming" - "classification" - "meta-model" - "SAT solver" - "modeling" - "model refactoring" - "refactoring" - "software evolution" - "object-role modeling" - "subject-oriented programming" - "software product line" - "Meta-Environment" - "feature model" - "product line" - "feature-oriented programming" - "FeatureIDE" researchr: "https://researchr.org/publication/ThumBK09" cites: 0 citedby: 0 pages: "254-264" booktitle: "ICSE" kind: "inproceedings" key: "ThumBK09" - title: "How to compare program comprehension in FOSD empirically: an experience report" author: - name: "Janet Feigenspan" link: "http://wwwiti.cs.uni-magdeburg.de/~feigensp/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Thomas Leich" link: "https://researchr.org/alias/thomas-leich" year: "2009" doi: "http://doi.acm.org/10.1145/1629716.1629728" links: doi: "http://doi.acm.org/10.1145/1629716.1629728" tags: - "empirical" - "program comprehension" researchr: "https://researchr.org/publication/FeigenspanKAL09" cites: 0 citedby: 0 pages: "55-62" booktitle: "MoDELS" kind: "inproceedings" key: "FeigenspanKAL09" - title: "Analysis Strategies for Software Product Lines" author: - name: "Thomas Thüm" link: "http://www.ovgu.de/~tthuem/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Martin Kuhlemann" link: "http://wwwiti.cs.uni-magdeburg.de/~mkuhlema/" - name: "Ina Schaefer" link: "http://www.tu-braunschweig.de/sse/mitarbeiter/schaefer" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2012" month: "APR" links: "url": "http://www.cs.uni-magdeburg.de/inf_media/downloads/forschung/technical_reports_und_preprints/2012/04_2012.pdf" tags: - "software product lines" - "analysis" researchr: "https://researchr.org/publication/TAK-12" cites: 0 citedby: 0 institution: "School of Computer Science, University of Magdeburg" number: "FIN-004-2012" address: "Germany" kind: "techreport" key: "TAK-12" - title: "Safe Composition of Non-Monotonic Features" author: - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2009" month: "OCT" abstract: "Programs can be composed from features. We want to verify automatically that all legal combinations of features can be composed safely without errors. Prior work on this problem assumed that features add code monotonically. We generalize prior work to enable features to both add and remove code, describe our analyses and implementation, and review case studies. We observe that more expressive features can increase the complexity of developed programs rapidly -- up to the point where automated concepts as presented in this paper are not a helpful tool but a necessity for verification." tags: - "fosd" - "program analysis" - "case study" - "program verification" - "Variability-Aware Analysis" - "refactoring" - "composition" - "analysis" - "reviewing" - "context-aware" - "safe composition" researchr: "https://researchr.org/publication/KBK%3AGPCE09" cites: 0 citedby: 0 booktitle: "Proceedings of the 8th International Conference on Generative Programming and Component Engineering (GPCE)" kind: "inproceedings" key: "KBK:GPCE09" - title: "Types and modularity for implicit invocation with implicit announcement" author: - name: "Friedrich Steimann" link: "http://www.fernuni-hagen.de/ps/team/friedrich.steimann.shtml" - name: "Thomas Pawlitzki" link: "https://researchr.org/alias/thomas-pawlitzki" - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2010" doi: "http://doi.acm.org/10.1145/1767751.1767752" links: doi: "http://doi.acm.org/10.1145/1767751.1767752" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/tosem/SteimannPAK10" researchr: "https://researchr.org/publication/SteimannPAK10" cites: 0 citedby: 0 journal: "TOSEM" volume: "20" number: "1" kind: "article" key: "SteimannPAK10" - title: "Towards Unanticipated Runtime Adaptation of Java Applications" author: - name: "Mario Pukall" link: "https://researchr.org/alias/mario-pukall" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2008" doi: "http://dx.doi.org/10.1109/APSEC.2008.66" links: doi: "http://dx.doi.org/10.1109/APSEC.2008.66" tags: - "Java" researchr: "https://researchr.org/publication/PukallKS08" cites: 0 citedby: 0 pages: "85-92" booktitle: "apsec" kind: "inproceedings" key: "PukallKS08" - title: "Feature (De)composition in Functional Programming" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Armin Größlinger" link: "https://researchr.org/alias/armin-gr%C3%B6%C3%9Flinger" - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" year: "2009" month: "JUL" doi: "10.1007/978-3-642-02655-3_3" abstract: "The separation of concerns is a fundamental principle in software engineering. Crosscutting concerns are concerns that do not align with hierarchical and block decomposition supported by mainstream programming languages. In the past, crosscutting concerns have been studied mainly in the context of object orientation. Feature orientation is a novel programming paradigm that supports the (de)composition of crosscutting concerns in a system with a hierarchical block structure. By means of two case studies we explore the problem of crosscutting concerns in functional programming and propose two solutions based on feature orientation." links: "url": "http://www.springerlink.com/content/m0q4530571t18042/" tags: - "programming languages" - "object-oriented programming" - "FeatureHouse" - "fosd" - "rule-based" - "meta programming" - "case study" - "separation of concerns" - "language engineering" - "software language engineering" - "composition" - "functional programming" - "Haskell" - "software engineering" - "programming paradigms" - "programming" - "subject-oriented programming" - "context-aware" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" - "CIDE" researchr: "https://researchr.org/publication/AKGL%3ASC09" cites: 0 citedby: 0 booktitle: "Proceedings of the 8th International Conference on Software Composition (SC)" kind: "inproceedings" key: "AKGL:SC09" - title: "An analysis of the variability in forty preprocessor-based software product lines" author: - name: "Jörg Liebig" link: "https://researchr.org/alias/j%C3%B6rg-liebig" - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Christian Lengauer" link: "https://researchr.org/alias/christian-lengauer" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Michael Schulze" link: "https://researchr.org/alias/michael-schulze" year: "2010" doi: "http://doi.acm.org/10.1145/1806799.1806819" links: doi: "http://doi.acm.org/10.1145/1806799.1806819" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/icse/LiebigALKS10" tags: - "rule-based" - "software product lines" - "analysis" researchr: "https://researchr.org/publication/LiebigALKS10" cites: 0 citedby: 0 pages: "105-114" booktitle: "ICSE" kind: "inproceedings" key: "LiebigALKS10" - title: "FeatureIDE: An Extensible Framework for Feature-Oriented Software Development" author: - name: "Thomas Thüm" link: "http://www.ovgu.de/~tthuem/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Fabian Benduhn" link: "https://researchr.org/alias/fabian-benduhn" - name: "Jens Meinicke" link: "https://researchr.org/alias/jens-meinicke" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" year: "2012" links: "url": "http://wwwiti.cs.uni-magdeburg.de/iti_db/publikationen/ps/auto/ThKaBe+:SCP12.pdf" researchr: "https://researchr.org/publication/ThKaBe-%3ASCP12" cites: 0 citedby: 0 journal: "SCP" kind: "article" key: "ThKaBe-:SCP12" - title: "FeatureIDE: A Tool Framework for Feature-Oriented Software Development" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Thomas Thüm" link: "http://www.ovgu.de/~tthuem/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" - name: "Janet Feigenspan" link: "http://wwwiti.cs.uni-magdeburg.de/~feigensp/" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" - name: "Fabian Wielgorz" link: "https://researchr.org/alias/fabian-wielgorz" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" year: "2009" doi: "http://dx.doi.org/10.1109/ICSE.2009.5070568" abstract: "Tools support is crucial for the acceptance of a new programming language. However, providing such tool support is a huge investment that can usually not be provided for a research language. With FeatureIDE, we have built an IDE for AHEAD that integrates all phases of featureoriented software development. To reuse this investment for other tools and languages, we refactored FeatureIDE into an open source framework that encapsulates the common ideas of feature-oriented software development and that can be reused and extended beyond AHEAD. Among others, we implemented extensions for FeatureC++ and FeatureHouse, but in general, FeatureIDE is open for everybody to showcase new research results and make them usable to a wide audience of students, researchers, and practitioners." links: doi: "http://dx.doi.org/10.1109/ICSE.2009.5070568" tags: - "programming languages" - "object-oriented programming" - "FeatureC++" - "FeatureHouse" - "fosd" - "tool support" - "tool" - "model refactoring" - "refactoring" - "reuse" - "model-driven development" - "source-to-source" - "AHEAD" - "programming" - "subject-oriented programming" - "feature model" - "feature-oriented programming" - "IDE" - "open-source" - "FeatureIDE" researchr: "https://researchr.org/publication/KastnerTSFLWA09" cites: 0 citedby: 0 pages: "611-614" booktitle: "ICSE" kind: "inproceedings" key: "KastnerTSFLWA09" - title: "Sichere Produktlinien: Herausforderungen für Syntax- und Typ-Prüfungen" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2009" month: "MAY" links: "url": "http://www.informatik.uni-kiel.de/ifi/forschung/technische-berichte/bericht/?tx_publication_pi1%5Bsingle%5D=162" researchr: "https://researchr.org/publication/KAS%3AGI09" cites: 0 citedby: 0 booktitle: "Proceedings des 26. Workshop der GI-Fachgruppe Programmiersprachen und Rechenkonzepte" kind: "inproceedings" key: "KAS:GI09" - title: "TypeChef: toward type checking #ifdef variability in C" author: - name: "Kenner, Andy" link: "https://researchr.org/alias/kenner%2C-andy" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Haase, Steffen" link: "https://researchr.org/alias/haase%2C-steffen" - name: "Leich, Thomas" link: "https://researchr.org/alias/leich%2C-thomas" year: "2010" doi: "http://doi.acm.org/10.1145/1868688.1868693" links: doi: "http://doi.acm.org/10.1145/1868688.1868693" "url": "http://doi.acm.org/10.1145/1868688.1868693" tags: - "Variability-Aware Analysis" - "analysis" - "C++" - "type checking" - "context-aware" researchr: "https://researchr.org/publication/Kenner%3A2010%3ATTT%3A1868688.1868693" cites: 0 citedby: 0 pages: "25-32" booktitle: "Proceedings of the 2nd International Workshop on Feature-Oriented Software Development" kind: "inproceedings" key: "Kenner:2010:TTT:1868688.1868693" - title: "SQL 'a la Carte - Toward Tailor-made Data Management" author: - name: "Marko Rosenmüller" link: "http://wwwiti.cs.uni-magdeburg.de/~rosenmue/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Norbert Siegmund" link: "https://researchr.org/alias/norbert-siegmund" - name: "Sagar Sunkle" link: "https://researchr.org/profile/sagarsunkle/publications" - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Thomas Leich" link: "https://researchr.org/alias/thomas-leich" - name: "Gunter Saake" link: "https://researchr.org/alias/gunter-saake" year: "2009" tags: - "SQL" - "data-flow" researchr: "https://researchr.org/publication/DBLP%3Aconf-btw-RosenmullerKSSALS09" cites: 0 citedby: 0 pages: "117-136" booktitle: "BTW" kind: "inproceedings" key: "DBLP:conf-btw-RosenmullerKSSALS09" - title: "An Overview of Feature-Oriented Software Development" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2009" month: "July/August" abstract: "Feature-oriented software development (FOSD) is a paradigm for the construction, customization, and synthesis of large-scale software systems. In this survey, we give an overview and a personal perspective on the roots of FOSD, connections to other software development paradigms, and recent developments in this field. Our aim is to point to connections between different lines of research and to identify open issues." links: "url": "http://www.jot.fm/issues/issue_2009_07/column5/index.html" tags: - "object-oriented programming" - "fosd" - "source-to-source" - "survey" - "programming paradigms" - "subject-oriented programming" - "feature-oriented programming" - "open-source" - "CIDE" researchr: "https://researchr.org/publication/AK%3AJOT09" cites: 0 citedby: 0 journal: "Journal of Object Technology (JOT)" volume: "8" number: "5" kind: "article" key: "AK:JOT09" - title: "Type-Safe Feature-Oriented Product Lines" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Armin Gr{\\\"o}{\\ss}linger" link: "https://researchr.org/alias/armin-gr%7B%5Eb%22o%7D%7B%5Ebss%7Dlinger" - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" year: "2009" month: "JUN" abstract: "A feature-oriented product line is a family of programs that share a common set of features. A feature implements a stakeholder?s requirement, represents a design decision and configuration option and, when added to a program, involves the introduction of new structures, such as classes and methods, and the refinement of existing ones, such as extending methods. With feature-oriented decomposition, programs can be generated, solely on the basis of a user?s selection of features, by the composition of the corresponding feature code. A key challenge of feature-oriented product line engineering is how to guarantee the correctness of an entire feature-oriented product line, i.e., of all of the member programs generated from different combinations of features. As the number of valid feature combinations grows progressively with the number of features, it is not feasible to check all individual programs. The only feasible approach is to have a type system check the entire code base of the feature-oriented product line. We have developed such a type system on the basis of a formal model of a feature-oriented Java-like language. We demonstrate that the type system ensures that every valid program of a feature-oriented product line is well-typed and that the type system is complete." tags: - "programming languages" - "object-oriented programming" - "rule-based" - "Java" - "program analysis" - "completeness" - "meta programming" - "model checking" - "meta-model" - "modeling language" - "Variability-Aware Analysis" - "refinement" - "language engineering" - "language modeling" - "composition" - "analysis" - "language design" - "type system" - "requirements engineering" - "model-driven engineering" - "object-role modeling" - "type checking" - "subject-oriented programming" - "context-aware" - "Meta-Environment" - "safe composition" - "design" - "product line" - "systematic-approach" - "feature-oriented programming" researchr: "https://researchr.org/publication/AKGL%3APassau09" cites: 0 citedby: 0 institution: "Department of Informatics and Mathematics, University of Passau" number: "MIP-0909" address: "Germany" kind: "techreport" key: "AKGL:Passau09" - title: "How to Compare Program Comprehension in FOSD Empirically -- An Experience Report" author: - name: "Janet Feigenspan" link: "http://wwwiti.cs.uni-magdeburg.de/~feigensp/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" year: "2009" month: "OCT" abstract: "There are many different implementation approaches to realize the vision of feature oriented software development, ranging from simple preprocessors, over feature-oriented programming, to sophisticated aspect-oriented mechanisms. Their impact on readability and maintainability (or program comprehension in general) has caused a debate among researchers, but sound empirical results are missing. We report experience from our endeavor to conduct experiments to measure the influence of different implementation mechanisms on program comprehension. We describe how to design such experiments and report from possibilities and pitfalls we encountered. Finally, we present some early results of our first experiment on comparing CPP with CIDE." tags: - "empirical" - "object-oriented programming" - "program comprehension" - "fosd" - "design research" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "design" - "systematic-approach" - "feature-oriented programming" researchr: "https://researchr.org/publication/FKAL%3AFOSD09" cites: 0 citedby: 0 booktitle: "Proceedings of the First Workshop on Feature-Oriented Software Development (FOSD)" kind: "inproceedings" key: "FKAL:FOSD09" - title: "Growing a language environment with editor libraries" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2047862.2047891" abstract: "Large software projects consist of code written in a multitude of different (possibly domain-specific) languages, which are often deeply interspersed even in single files. While many proposals exist on how to integrate languages semantically and syntactically, the question of how to support this scenario in integrated development environments (IDEs) remains open: How can standard IDE services, such as syntax highlighting, outlining, or reference resolving, be provided in an extensible and compositional way, such that an open mix of languages is supported in a single file? Based on our library-based syntactic extension language for Java, SugarJ, we propose to make IDEs extensible by organizing editor services in editor libraries. Editor libraries are libraries written in the object language, SugarJ, and hence activated and composed through regular import statements on a file-by-file basis. We have implemented an IDE for editor libraries on top of SugarJ and the Eclipse-based Spoofax language workbench. We have validated editor libraries by evolving this IDE into a fully-fledged and schema-aware XML editor as well as an extensible Latex editor, which we used for writing this paper. " links: doi: "http://doi.acm.org/10.1145/2047862.2047891" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/gpce/ErdwegKRKOV11" researchr: "https://researchr.org/publication/ErdwegKRKOV11gpce" cites: 0 citedby: 0 pages: "167-176" booktitle: "GPCE" kind: "inproceedings" key: "ErdwegKRKOV11gpce" - title: "Abstract Features in Feature Modeling" author: - name: "Thomas Thüm" link: "http://www.ovgu.de/~tthuem/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Norbert Siegmund" link: "http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/" year: "2011" month: "August" tags: - "meta-model" - "modeling" - "Meta-Environment" researchr: "https://researchr.org/publication/TKES%3ASPLC11" cites: 0 citedby: 0 booktitle: "Proceedings of the International Software Product Line Conference (SPLC)" kind: "inproceedings" key: "TKES:SPLC11" - title: "Granularity in software product lines" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" year: "2008" doi: "http://doi.acm.org/10.1145/1368088.1368131" links: doi: "http://doi.acm.org/10.1145/1368088.1368131" tags: - "fosd" - " variability" - "software product lines" - "annotation" - "Variability-Aware Analysis" - "composition" - "analysis" - " product lines" - "context-aware" - "spl" - "CIDE" researchr: "https://researchr.org/publication/KastnerAK08" cites: 0 citedby: 0 pages: "311-320" booktitle: "ICSE" kind: "inproceedings" key: "KastnerAK08" - title: "Visualizing Software Product Line Variabilities in Source Code" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Salvador Trujillo" link: "https://researchr.org/alias/salvador-trujillo" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" year: "2008" tags: - "fosd" - "source-to-source" - "views" - "software product line" - " ifdefs" - "product line" - "open-source" - "CIDE" researchr: "https://researchr.org/publication/KastnerTA08" cites: 0 citedby: 0 pages: "303-312" booktitle: "SPLC" kind: "inproceedings" key: "KastnerTA08" - title: "Virtual Separation of Concerns" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2010" month: "May" tags: - "separation of concerns" - "CIDE" researchr: "https://researchr.org/publication/kaestnerDiss" cites: 0 citedby: 0 school: "University of Magdeburg" advisor: - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" - name: "Krzysztof Czarnecki," link: "https://researchr.org/alias/krzysztof-czarnecki%2C" kind: "phdthesis" key: "kaestnerDiss" - title: "Implementing Bounded Aspect Quantification in AspectJ" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2006" tags: - "AspectJ" researchr: "https://researchr.org/publication/KastnerAS06" cites: 0 citedby: 0 pages: "111-122" booktitle: "ECOOPW" kind: "inproceedings" key: "KastnerAS06" - title: "Vergleich und Integration von Komposition und Annotation zur Implementierung von Produktlinien" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" year: "2009" tags: - "FeatureHouse" - "fosd" - "CIDE" researchr: "https://researchr.org/publication/ApelKL09" cites: 0 citedby: 0 pages: "101-112" booktitle: "se" kind: "inproceedings" key: "ApelKL09" - title: "SugarJ: library-based language extensibility" author: - name: "Sebastian Erdweg" link: "http://www.informatik.uni-marburg.de/~seba/" - name: "Lennart C. L. Kats" link: "http://www.lclnet.nl/" - name: "Tillmann Rendel" link: "http://www.informatik.uni-marburg.de/~rendel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Klaus Ostermann" link: "http://www.informatik.uni-marburg.de/~kos/" - name: "Eelco Visser" link: "http://eelcovisser.org" year: "2011" doi: "http://doi.acm.org/10.1145/2048147.2048199" abstract: "SugarJ is a Java-based programming language that provides extensible surface syntax, static analyses, and IDE support. SugarJ extensions are organized as libraries; conventional import statements suffice to activate and compose language extensions. We illustrate how programmers can use SugarJ to modularly extend Java’s syntax, semantic analyses and IDE support." links: doi: "http://doi.acm.org/10.1145/2048147.2048199" tags: - "rule-based" - "C++" - "extensible language" researchr: "https://researchr.org/publication/ErdwegKRKOV11-extensibility" cites: 0 citedby: 0 pages: "187-188" booktitle: "Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2011, Portland, OR, USA, October 22 - 27, 2011" kind: "inproceedings" key: "ErdwegKRKOV11-extensibility" - title: "Detecting Dependences and Interactions in Feature-Oriented Design" author: - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Wolfgang Scholz" link: "https://researchr.org/alias/wolfgang-scholz" - name: "Christian Lengauer" link: "https://researchr.org/alias/christian-lengauer" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2010" doi: "http://dx.doi.org/10.1109/ISSRE.2010.11" links: doi: "http://dx.doi.org/10.1109/ISSRE.2010.11" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/issre/ApelSLK10" tags: - "interaction design" - "Variability-Aware Analysis" - "analysis" - "context-aware" - "design" researchr: "https://researchr.org/publication/ApelSLK10" cites: 0 citedby: 0 pages: "161-170" booktitle: "issre" kind: "inproceedings" key: "ApelSLK10" - title: "Program refactoring using functional aspects" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Don S. Batory" link: "http://www.cs.utexas.edu/~dsb/" year: "2008" doi: "http://doi.acm.org/10.1145/1449913.1449938" links: doi: "http://doi.acm.org/10.1145/1449913.1449938" tags: - "refactoring" - "functional programming" researchr: "https://researchr.org/publication/ApelKB08" cites: 0 citedby: 0 pages: "161-170" booktitle: "GPCE" kind: "inproceedings" key: "ApelKB08" - title: "Measuring Non-Functional Properties in Software Product Line for Product Derivation" author: - name: "Norbert Siegmund" link: "http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/" - name: "Marko Rosenmüller" link: "http://wwwiti.cs.uni-magdeburg.de/~rosenmue/" - name: "Martin Kuhlemann" link: "http://wwwiti.cs.uni-magdeburg.de/~mkuhlema/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2008" doi: "http://dx.doi.org/10.1109/APSEC.2008.45" links: doi: "http://dx.doi.org/10.1109/APSEC.2008.45" tags: - "software product line" - "product line" researchr: "https://researchr.org/publication/SiegmundRKKS08" cites: 0 citedby: 0 pages: "187-194" booktitle: "apsec" kind: "inproceedings" key: "SiegmundRKKS08" - title: "A Model of Refactoring Physically and Virtually Separated Features" author: - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" year: "2009" month: "OCT" abstract: "Physical separation with class refinements and method refinements à la AHEAD and virtual separation using annotations à la #ifdef or CIDE are two competing groups of implementation approaches for software product lines with complementary advantages. Although both groups have been mainly discussed in isolation, we strive for an integration to leverage the respective advantages. In this paper, we provide the basis for such an integration by providing a model that supports both, physical and virtual separation, and by describing refactorings in both directions. We prove the refactorings complete, such that every virtually separated product line can be automatically transformed into a physically separated one (replacing annotations by refinements) and vice versa. To demonstrate the feasibility of our approach, we have implemented the refactorings in our tool CIDE and conducted four case studies." tags: - " FOP" - "fosd" - " virtual separation" - "completeness" - "SPL implementation" - "case study" - "software product lines" - "meta-model" - "refinement" - "model refactoring" - "refactoring" - " annotations" - "AHEAD" - "software product line" - "Meta-Environment" - "product line" - " ifdef" - "systematic-approach" - "physical separation" - "CIDE" researchr: "https://researchr.org/publication/KAK%3AGPCE09" cites: 0 citedby: 0 booktitle: "Proceedings of the 8th International Conference on Generative Programming and Component Engineering (GPCE)" kind: "inproceedings" key: "KAK:GPCE09" - title: "An Algebra for Features and Feature Composition" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Lengauer" link: "http://www.infosun.fim.uni-passau.de/cl/staff/lengauer/" - name: "Bernhard Möller" link: "https://researchr.org/alias/bernhard-m%C3%B6ller" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-79980-1_4" links: doi: "http://dx.doi.org/10.1007/978-3-540-79980-1_4" tags: - "composition" - " algebra" researchr: "https://researchr.org/publication/ApelLMK08" cites: 0 citedby: 0 pages: "36-50" booktitle: "amast" kind: "inproceedings" key: "ApelLMK08" - title: "Downsizing Data Management for Embedded Systems" author: - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" - name: "Marko Rosenmüller" link: "http://wwwiti.cs.uni-magdeburg.de/~rosenmue/" - name: "Norbert Siegmund" link: "http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" year: "2009" tags: - "data-flow" researchr: "https://researchr.org/publication/SaakeRSKL09" cites: 0 citedby: 0 journal: "ecs" volume: "31" number: "1" pages: "1-13" kind: "article" key: "SaakeRSKL09" - title: "Code Clones in Feature-Oriented Software Product Lines" author: - name: "Sandro Schulze" link: "https://researchr.org/alias/sandro-schulze" - name: "Sven Apel" link: "https://researchr.org/alias/sven-apel" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" year: "2010" tags: - "software product lines" researchr: "https://researchr.org/publication/Schulze-GPCE-2010" cites: 0 citedby: 0 booktitle: "GPCE" kind: "inproceedings" key: "Schulze-GPCE-2010" - title: "An orthogonal access modifier model for feature-oriented programming" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Jörg Liebig" link: "https://researchr.org/alias/j%C3%B6rg-liebig" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Martin Kuhlemann" link: "https://researchr.org/alias/martin-kuhlemann" - name: "Thomas Leich" link: "https://researchr.org/alias/thomas-leich" year: "2009" doi: "http://doi.acm.org/10.1145/1629716.1629723" links: doi: "http://doi.acm.org/10.1145/1629716.1629723" tags: - "object-oriented programming" - "object-role modeling" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/ApelLKKL09" cites: 0 citedby: 0 pages: "27-33" booktitle: "MoDELS" kind: "inproceedings" key: "ApelLKKL09" - title: "SQL á la Carte - Toward Tailor-made Data Management" author: - name: "Marko Rosenmüller" link: "http://wwwiti.cs.uni-magdeburg.de/~rosenmue/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Norbert Siegmund" link: "http://wwwiti.cs.uni-magdeburg.de/~nsiegmun/" - name: "Sagar Sunkle" link: "http://wwwiti.cs.uni-magdeburg.de/~sunkle/" - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2009" tags: - "SQL" - "data-flow" researchr: "https://researchr.org/publication/RosenmullerKSSALS09" cites: 0 citedby: 0 pages: "117-136" booktitle: "btw" kind: "inproceedings" key: "RosenmullerKSSALS09" - title: "Aspect Refinement - Unifying AOP and Stepwise Refinement" author: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Thomas Leich" link: "http://wwwiti.cs.uni-magdeburg.de/~leich" - name: "Gunter Saake" link: "http://wwwiti.cs.uni-magdeburg.de/~saake/" year: "2007" doi: "http://www.jot.fm/issues/issue_2007_10/paper1/index.html" links: doi: "http://www.jot.fm/issues/issue_2007_10/paper1/index.html" tags: - "refinement" researchr: "https://researchr.org/publication/ApelKLS07" cites: 0 citedby: 0 journal: "jot" volume: "6" number: "9" pages: "13-33" kind: "article" key: "ApelKLS07" - title: "Proceedings of the First International Workshop on Feature-Oriented Software Development, FOSD 2009, Denver, Colorado, USA, October 6, 2009" year: "2009" researchr: "https://researchr.org/publication/models-2009fosd" cites: 0 citedby: 0 booktitle: "Proceedings of the First International Workshop on Feature-Oriented Software Development, FOSD 2009, Denver, Colorado, USA, October 6, 2009" conference: "MoDELS" editor: - name: "Sven Apel" link: "http://www.infosun.fim.uni-passau.de/cl/staff/apel/" - name: "William R. Cook" link: "http://www.cs.utexas.edu/~wcook/" - name: "Krzysztof Czarnecki" link: "http://www.swen.uwaterloo.ca/~kczarnec/" - name: "Christian Kästner" link: "http://wwwiti.cs.uni-magdeburg.de/~ckaestne/" - name: "Neil Loughran" link: "https://researchr.org/alias/neil-loughran" - name: "Oscar Nierstrasz" link: "http://scg.unibe.ch/staff/oscar" series: "ACM International Conference Proceeding Series" publisher: "ACM" isbn: "978-1-60558-567-3" kind: "proceedings" key: "models-2009fosd"