SPLASH Workshops 2017
2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH Workshops 2017)
Powered by
Conference Publishing Consulting

8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development (FOSD 2017), October 23, 2017, Vancouver, BC, Canada

FOSD 2017 – Proceedings

Contents - Abstracts - Authors

8th ACM SIGPLAN International Workshop on Feature-Oriented Software Development (FOSD 2017)


Title Page

Message from the Chairs
Feature orientation is an emerging paradigm of software development. Under this paradigm, families of software systems are built in an automated manner from features, which represent units of functionality. Features encapsulate the similarities and differences between the products of a software family for a given domain (e.g., database systems, banking software, text processing systems), allowing the systematic reuse of features among family members. A feature is a unit of functionality that satisfies a requirement, represents a design decision, and provides a potential configuration option.


Automated Recommendations for Reducing Unnecessary Variability of Technology Architectures
Kenny Wehling, David Wille, Christoph Seidl, and Ina Schaefer
(Volkswagen, Germany; TU Braunschweig, Germany)
A technology architecture (TA) represents the technical infrastructure of a company and consists of hardware and software components. As the evolution of such TAs is typically uncoordinated, their complexity often grows with a company’s requirements. As a consequence, a variety of redundancies and architectural variants exist, which are not necessary for the architecture’s purpose. This leads to increased costs and higher effort for evolving and maintaining the entire IT landscape. To alleviate these problems, unnecessary variability has to be identified and reduced. As a manual approach requires high effort and is not feasible for largescale analysis, experts face a major challenge. For this purpose, we propose an automated approach, which provides experts with recommendations for restructurings of related TAs in order to reduce unnecessary variability. We show suitability of our approach by expert interviews and an industrial case study with real-world TAs.

Publisher's Version Article Search
Towards Complete Consistency Checks of Clafer Models
Markus Weckesser, Malte Lochau, Michael Ries, and Andy Schürr
(TU Darmstadt, Germany; facilityBoss, Germany)
Clafer is a general purpose modeling language that combines UML-like class and meta-modeling with feature-oriented variability modeling and first-order logic constraints. The considerable expressiveness of Clafer makes automated reasoning about properties like model consistency (i.e., finding a valid model instance) very challenging. In particular, multiplicity annotations and recursive model structures yield a potentially unbounded number of model instances resulting in an infinite search space. Existing approaches for consistency checking encode Clafer models into finite constraint-satisfaction problems by either manually or heuristically, setting bounds for the search space. Hence, if no valid model instance has been found, it is unknown whether the model is inconsistent, or whether the bounds have been chosen too tight. In this paper, we characterize a restricted sub-language of Clafer with complex inheritance relations that is crucial for facilitating sound and complete model-consistency checking. To this end, we present the idea of a novel technique for automated search-space restriction, by flattening Clafer models and encoding them as Integer Linear Programs (ILP). Our evaluation shows very promising results of our approach in terms of runtime efficiency for both flattening of complex inheritance hierarchies as well as sound and complete consistency checking.

Publisher's Version Article Search Info
Feature Oriented Programming in Groovy
Guilherme Assis, Gustavo Vale, and Eduardo Figueiredo
(Federal University of Minas Gerais, Brazil; University of Passau, Germany)
Software Product Line (SPL) aims to reuse code and other artifacts in order to reduce costs and gain agility. Feature Oriented Programming (FOP) is a technique to develop SPLs that aims to improve the modularity and flexibility of feature code. The basic idea of FOP is to decompose software into smaller pieces, called features, so they can be composed according to the needs of each customer. Currently, Groovy programming language has no tool or framework that supports the implementation of FOP-SPLs. Groovy is a programming language that has been growing in popularity in recent years. Given this scenario, this work proposes and evaluates G4FOP, a light way to develop SPLs using Groovy. G4FOP extends FeatureHouse which is a framework for software composition and FOP. A preliminary evaluation shows that G4FOP covers Groovy grammar. We also demonstrate by an example that G4FOP is suitable to develop SPLs. G4FOP is currently integrated to the official FeatureHouse repository.

Publisher's Version Article Search
Variational Lists: Comparisons and Design Guidelines
Karl Smeltzer and Martin Erwig
(Oregon State University, USA)
Variation is widespread in software artifacts (data and programs) and in some cases, such as software product lines, is widely studied. In order to analyze, transform, or otherwise manipulate such variational software artifacts, one needs a suitable data structure representation that incorporate variation. However, relatively little work has focused on what effective representations could be to support programming with variational data.
In this paper we explore how variational data can be represented and what the implications and requirements are for corresponding variational data structures. Due to the large design space, we begin by focusing on linked lists. We discuss different variational linked-list representations and their respective strengths and weaknesses. Based on our experience, we identify some general design principles and techniques that can help with the development of other variational data structures that are needed to make variational programming practical.

Publisher's Version Article Search
Towards a Development Process for Maturing Delta-Oriented Software Product Lines
Sven Schuster, Christoph Seidl, and Ina Schaefer
(TU Braunschweig, Germany)
A Software Product Line (SPL) exploits reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Delta-Oriented Programming (DOP) is a flexible implementation approach to SPL engineering, which transforms an existing core product to another desired product by applying transformation operations. By capturing product alterations related to configurable functionality within delta modules, DOP closely resembles a natural process of software development, which proves beneficial in early stages of development. However, increasing complexity for a growing SPL in later development stages caused by the invasiveness of DOP drastically impairs maintenance and extensibility. Hence, a process utilizing the invasiveness of DOP in early development stages and restricting it in later stages would allow developers to mature growing delta-oriented SPLs. Moreover, ever-increasing complexity requires means to migrate into less invasive development approaches that are more suited for large-scale configurable applications. To this end, we propose a development process for delta-oriented SPLs including explicit variability points, metrics and refactorings as well as a semi-automatic reengineering of a delta-oriented SPL into a development approach based on blackbox-components. In this paper, we sketch this development process with its constituents and point out required research essential for successfully maturing a delta-oriented SPL.

Publisher's Version Article Search

proc time: 0.03