Feature orientation is an emerging paradigm of software development. It not only supports the automatic generation of large-scale software systems from a set of units of functionality, called features, but also allows to reason about systems properties in terms of such features. The original idea of feature-oriented software development (FOSD) is to explicitly represent similarities and differences 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. Moreover, features (as first-class entities) have shown to be beneficial in recent past for software analysis, as they allow to consider different properties in a more cohesive way (apart from lowlevel language constructs). A feature is a unit of functionality that satisfies a requirement, represents a design decision, and provides a potential configuration option. As such, it allows to distinguish different members of the family by their variable parts. 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 primary goal of the Ninth International Workshop on Feature-Oriented Software Development (FOSD) is to foster and strengthen the collaboration between researchers 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’18 will be on discussions, rather than on presenting technical content only.