|09:00||Keynote: Can Features Have Interfaces?
On the Relation between Internal and External Feature Interactions in Feature-Oriented Product Lines
Sergiy Kolesnikov, Judith Roth and Sven Apel
|Separating Features using Colored Snippet Graphs
Benjamin Behringer, Laurent Kirsch and Steffen Rothkugel
|Detection of Code Clones in Software Generators
Max Lillack, Christian Bucholdt and Daniela Schilling
|Variability Code Analysis Using the VITAL Tool
Bo Zhang and Martin Becker
|Towards Incremental Test Suite Optimization for Software Product Lines
Hauke Baller and Malte Lochau
|Does Feature Scattering Follow Power-Law Distributions? An Investigation of Five Pre-Processor-Based Software Families
Rodrigo Queiroz, Leonardo Passos, Marco Tulio Valente, Sven Apel and Krzysztof Czarnecki
|Challenges in Product Family Knowledge Modelling and Analysis
Amir Ebrahimi, Pierre E. C. Johansson and Knut Åkesson
|FOSD with mbeddr - Features and Limitations
Feature orientation is an emerging paradigm of software development. It supports the automatic generation of large-scale software systems from a set of units of functionality called features. The key idea of feature-oriented software development (FOSD) is to emphasize the similarities of a family of software systems for a given application domain (e.g., database systems, banking software, text processing systems) with the goal of reusing software artifacts among the family members. Features distinguish different members of the family. A feature is a unit of functionality that satisfies a requirement, represents a design decision, and provides a potential configuration option. A challenge in FOSD is that a feature does not map cleanly to an isolated module of code. Rather it may affect ("cut across") many components/artifacts of a software system. Furthermore, the decomposition of a software system into its features gives rise to a combinatorial explosion of possible feature combinations and interactions. Research on FOSD has shown that the concept of features pervades all phases of the software life cycle and requires a proper treatment in terms of analysis, design, and programming techniques, methods, languages, and tools, as well as formalisms and theory.
The goal of the 6th International Workshop on Feature-Oriented Software Development (FOSD) is to foster and strengthen the collaboration between the researchers and practitioners who work in the field of FOSD or in the related fields of software product lines, service-oriented architecture, model-driven engineering and feature interactions. The focus of FOSD'14 will be on discussions, rather than on presenting technical content only.
The workshop is scheduled for one full day and will be a highly interactive event. After the keynote by Jo Atlee, the day is divided into two sessions:
Research Paper Session: Accepted research papers are presented in this session. We allocate 20 min for presentation and 10 min for discussion. To stimulate discussions, each paper is assigned a "devil's advocate"¯, who is supposed to prepare a set of one to three controversial questions, and to step into the discussion when appropriate. Additionally, we allocate a discussion slot to address issues raised during the presentations, or other pressing research issues.
FOSD in Practice Session: This session comprises practice-oriented "tech talks" about FOSD and technologies. Tech talks are based on the publication of an extended abstract in the ACM proceedings. Tech talks present or demonstrate the application of technology (methods, tools, analyses, etc.) to realize feature-oriented development. Tech talks comprise 30 min presentation and 10 min discussion.
For both sessions, we allocate time for lightning talks. These present new ideas and results, an interesting topic for discussion, or a cool project. They are also a good opportunity to present published results to a broader audience. You can find more about lightning talks here and here. Lightning talks are limited to 7 min of presentation. Publication of an extended abstract in the proceedings is possible. If you would like to give a lightning talk without such a publication, just contact the PC chairs.
There has been little research on interfaces for features. In FOSD, work on feature modularity has focused on features as a criterion for system decomposition and assembly, such as in product-line development. The concept of feature modularity pertains mainly to cohesion of features, including language or modelling support for coalescing all information related to a feature into a single module. There is no information hiding among features, and one feature can directly refer to or override the details of other features. Alternatively, in the feature-interaction literature, feature modules are black boxes that have inputs and outputs, but otherwise share no information with each other. Such extreme information hiding facilitates parallel and third-party development of features, but makes it very difficult to specify intended interactions, such as when a feature extends or overrides the behaviour of another feature, or when a feature ought to behave differently in the presence of other features. This talk proposes a compromise, in which features share a limited amount of information with each other by means of a feature interface. It looks at what such an interface might look like, and explores to what degree inter-feature references can be abstracted to references to features' public interfaces.
|Joanne Atlee is a Professor in the David R. Cheriton School of Computer Science at the University of Waterloo. Her research interests include software modelling, automated analysis of software models, modular software development, feature interactions, and software-engineering education. She was Program Co-Chair for the 31st International Conference on Software Engineering (ICSE’09) and was Program Chair for the 13th IEEE Requirements Engineering Conference (RE'05). She served on the ACM SIGSOFT Executive Committee as an at-large member and is a member of the International Federation for Information Processing (IFIP) Working Group 2.9 on Software Requirements Engineering. She is a co-author with Shari Lawrence Pfleeger on their textbook “Software Engineering: Theory and Practice”.|
mbeddr is an extensible set of integrated languages for embedded software development based on the JetBrains MPS language workbench. While most of the languages are C extensions, mbeddr also supports cross-cutting concerns such as documentation, requirements and product line variability. For the latter, mbeddr supports feature models as well as a mapping onto implementation code (expressed in any language) primarily via negative variability (glorified #ifdefs). SAT solving is used for consistency checking. More recently we have started a composition framework that supports superposition and aspects, also connected to the feature models. In the talk I will demonstrate the capabilities of mbeddr and also illustrate how they are used in current practice. I will close the talk by pointing out the limitations of the current implementation in the hope of perhaps finding support from the academic community for solving these issues. In particular, we are looking for a way to integrate the variability mechanisms with the type systems of implementation languages.
|Dr. Markus Voelter works as an independent researcher, consultant and coach for itemis AG in Stuttgart, Germany. His focus is on software architecture, model-driven software development and domain specific languages as well as on product line engineering. Markus also regularly writes (articles, patterns, books) and speaks (trainings, conferences) on those subjects. Contact him via www.voelter.de or email@example.com.|
For the research paper session, we invite submissions 4 to 8 pages long in ACM proceedings format (choose option 2, tighter alternate style). The papers will be reviewed by at least three members of the program committee. For the FOSD in Practice session, we invite the submission of a 1-page extended abstract, also in ACM proceedings format.
For both sessions, authors will be notified about acceptance before the early registration deadline. In general, we are looking for contributions in the following topics:
We use the EasyChair paper submission/review system. Submissions should be uploaded via the following URL: https://www.easychair.org/conferences/?conf=fosd2014
Research paper submission, round 1: July 1, 2014 (anywhere in the world)
Research paper submission, round 2: July 27, 2014 (anywhere in the world)
Extended abstract for tech and lightning talks: August 8, 2014 (anywhere in the world)
Notification for round 1: July 21, 2014
Notification for round 2 and talks: August 11, 2014
Camera-ready version: August 22, 2014
Workshop: September 14, 2014