Workshop FOSD 2017 – Author Index |
Contents -
Abstracts -
Authors
|
Assis, Guilherme |
FOSD '17: "Feature Oriented Programming ..."
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. @InProceedings{FOSD17p21, author = {Guilherme Assis and Gustavo Vale and Eduardo Figueiredo}, title = {Feature Oriented Programming in Groovy}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {21--30}, doi = {10.1145/3141848.3141851}, year = {2017}, } Publisher's Version |
|
Erwig, Martin |
FOSD '17: "Variational Lists: Comparisons ..."
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. @InProceedings{FOSD17p31, author = {Karl Smeltzer and Martin Erwig}, title = {Variational Lists: Comparisons and Design Guidelines}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {31--40}, doi = {10.1145/3141848.3141852}, year = {2017}, } Publisher's Version |
|
Figueiredo, Eduardo |
FOSD '17: "Feature Oriented Programming ..."
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. @InProceedings{FOSD17p21, author = {Guilherme Assis and Gustavo Vale and Eduardo Figueiredo}, title = {Feature Oriented Programming in Groovy}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {21--30}, doi = {10.1145/3141848.3141851}, year = {2017}, } Publisher's Version |
|
Lochau, Malte |
FOSD '17: "Towards Complete Consistency ..."
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. @InProceedings{FOSD17p11, author = {Markus Weckesser and Malte Lochau and Michael Ries and Andy Schürr}, title = {Towards Complete Consistency Checks of Clafer Models}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {11--20}, doi = {10.1145/3141848.3141850}, year = {2017}, } Publisher's Version Info |
|
Ries, Michael |
FOSD '17: "Towards Complete Consistency ..."
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. @InProceedings{FOSD17p11, author = {Markus Weckesser and Malte Lochau and Michael Ries and Andy Schürr}, title = {Towards Complete Consistency Checks of Clafer Models}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {11--20}, doi = {10.1145/3141848.3141850}, year = {2017}, } Publisher's Version Info |
|
Schaefer, Ina |
FOSD '17: "Towards a Development Process ..."
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. @InProceedings{FOSD17p41, author = {Sven Schuster and Christoph Seidl and Ina Schaefer}, title = {Towards a Development Process for Maturing Delta-Oriented Software Product Lines}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {41--50}, doi = {10.1145/3141848.3141853}, year = {2017}, } Publisher's Version FOSD '17: "Automated Recommendations ..." 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. @InProceedings{FOSD17p1, author = {Kenny Wehling and David Wille and Christoph Seidl and Ina Schaefer}, title = {Automated Recommendations for Reducing Unnecessary Variability of Technology Architectures}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3141848.3141849}, year = {2017}, } Publisher's Version |
|
Schürr, Andy |
FOSD '17: "Towards Complete Consistency ..."
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. @InProceedings{FOSD17p11, author = {Markus Weckesser and Malte Lochau and Michael Ries and Andy Schürr}, title = {Towards Complete Consistency Checks of Clafer Models}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {11--20}, doi = {10.1145/3141848.3141850}, year = {2017}, } Publisher's Version Info |
|
Schuster, Sven |
FOSD '17: "Towards a Development Process ..."
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. @InProceedings{FOSD17p41, author = {Sven Schuster and Christoph Seidl and Ina Schaefer}, title = {Towards a Development Process for Maturing Delta-Oriented Software Product Lines}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {41--50}, doi = {10.1145/3141848.3141853}, year = {2017}, } Publisher's Version |
|
Seidl, Christoph |
FOSD '17: "Towards a Development Process ..."
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. @InProceedings{FOSD17p41, author = {Sven Schuster and Christoph Seidl and Ina Schaefer}, title = {Towards a Development Process for Maturing Delta-Oriented Software Product Lines}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {41--50}, doi = {10.1145/3141848.3141853}, year = {2017}, } Publisher's Version FOSD '17: "Automated Recommendations ..." 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. @InProceedings{FOSD17p1, author = {Kenny Wehling and David Wille and Christoph Seidl and Ina Schaefer}, title = {Automated Recommendations for Reducing Unnecessary Variability of Technology Architectures}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3141848.3141849}, year = {2017}, } Publisher's Version |
|
Smeltzer, Karl |
FOSD '17: "Variational Lists: Comparisons ..."
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. @InProceedings{FOSD17p31, author = {Karl Smeltzer and Martin Erwig}, title = {Variational Lists: Comparisons and Design Guidelines}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {31--40}, doi = {10.1145/3141848.3141852}, year = {2017}, } Publisher's Version |
|
Vale, Gustavo |
FOSD '17: "Feature Oriented Programming ..."
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. @InProceedings{FOSD17p21, author = {Guilherme Assis and Gustavo Vale and Eduardo Figueiredo}, title = {Feature Oriented Programming in Groovy}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {21--30}, doi = {10.1145/3141848.3141851}, year = {2017}, } Publisher's Version |
|
Weckesser, Markus |
FOSD '17: "Towards Complete Consistency ..."
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. @InProceedings{FOSD17p11, author = {Markus Weckesser and Malte Lochau and Michael Ries and Andy Schürr}, title = {Towards Complete Consistency Checks of Clafer Models}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {11--20}, doi = {10.1145/3141848.3141850}, year = {2017}, } Publisher's Version Info |
|
Wehling, Kenny |
FOSD '17: "Automated Recommendations ..."
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. @InProceedings{FOSD17p1, author = {Kenny Wehling and David Wille and Christoph Seidl and Ina Schaefer}, title = {Automated Recommendations for Reducing Unnecessary Variability of Technology Architectures}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3141848.3141849}, year = {2017}, } Publisher's Version |
|
Wille, David |
FOSD '17: "Automated Recommendations ..."
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. @InProceedings{FOSD17p1, author = {Kenny Wehling and David Wille and Christoph Seidl and Ina Schaefer}, title = {Automated Recommendations for Reducing Unnecessary Variability of Technology Architectures}, booktitle = {Proc.\ FOSD}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3141848.3141849}, year = {2017}, } Publisher's Version |
14 authors
proc time: 3.79