{"title":"Validating Partial Configurations of Product Lines","authors":"Mustafa Al-Hajjaji, U. Ryssel, M. Schulze","doi":"10.1145/3302333.3302337","DOIUrl":"https://doi.org/10.1145/3302333.3302337","url":null,"abstract":"Configuring a new variant of a product line is not always a one-time task. In some cases, many stakeholders are involved in the configuration process. This is needed for example, if different stakeholders are responsible for different parts of the product line and they are not allowed to see specific parts of the product line already configured in previous steps. Thus, a partial derivation can be performed, where a part of the configuration process can be done by some stakeholders, while finishing the rest of the configuration process can be achieved by others. Validating partial configurations is a challenging task, since the selection state of some features can still be open. In addition to these open selection states of features, values of attributes, calculations of expressions, as well as constraints are needed to be handled, as they can use information, which is not defined yet. Thus, a validator that ables to address the aforementioned challenges is required. In this paper, we discuss how the partial configurations can be validated considering different cases. While these discussed cases can be applied in general, we focus in this paper on applying them with respect to the industrial variant management tool pure::variants.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113988817","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On Determining Variability Annotations In Partially Annotated Models","authors":"Sandra Greiner, B. Westfechtel","doi":"10.1145/3302333.3302341","DOIUrl":"https://doi.org/10.1145/3302333.3302341","url":null,"abstract":"In model-driven software product line engineering (SPLE) the superset of products is developed over models. A feature model typically states the discriminating and common factors of the software. In annotative approaches model elements are associated with variability annotations which are boolean expressions over the features defining in which products the elements are visible. When the product line is defined over different models, the developer wants to annotate the model of one type and transform it to different representations, e.g., a (UML) class diagram into a relational database schema for establishing an object-relational mapping. Assigning the annotations manually to the target model is an error-prone and laborious task. In a black-box approach we automatically assign the correct annotations to the target model without analyzing the transformation specification. It is an easy task in the case of 1:1 mappings where the annotation of the source element is copied to the corresponding element in the target model. Typically this kind of information is available, e.g., in traces written during the transformation execution. In reality, more complex mappings are frequent but the correspondences harder to determine. Assuming a target model is already annotated with the annotation of 1:1 correspondences, a certain number of elements remains without annotations. This paper contributes strategies to determine missing annotations in partially annotated models. We compare a global include strategy with more sophisticated ones which take the model structure into account. Since we apply missing annotations locally on one model, we solve a general SPLE problem where completely annotated models reduce the manual user effort and are desirable for filtering.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130665217","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards Combined Process & Tool Variability Management in Software Testing","authors":"Kristof Meixner, D. Winkler, S. Biffl","doi":"10.1145/3302333.3302339","DOIUrl":"https://doi.org/10.1145/3302333.3302339","url":null,"abstract":"Context. Modern software engineering approaches that rely on continuous and automated testing, like Agile Software Engineering and the late DevOps movement, require integrated and fully functional testing tool chain environment, to efficiently identify defects in software artifacts. Such an environment includes the implementation of established testing processes that are utilized by the development teams. However, in practice, different testing tool chains and processes are implemented depending on particular project requirements such as programming language, selected testing tool, or system architecture. This variety of required technologies and processes frequently results in an environment of isolated test automation solutions. Thus, there is a need for a managed and controllable set of testing tool chain variants that consider structured methods to integrate variability. Goal. In this paper, we show ongoing work, as part of a flexible Test Automation Framework (TAF), with focus on requirements for the variability of testing tool chains, established testing processes, and candidate solution approaches. Method. We build on best practices from software and systems testing and variability management to implement variability in the TAF. Results. First results showed that several Test Automation (TA) solutions exist, which support variability in a limited manner and, therefore, increase the need for modeling variability in a flexible TAF. Conclusion. In the context of Software Test Automation, a combination of Variability Modeling (VM) methods for testing architectures, business processes, and a definition of common interface definitions is promising towards a TAF that enables a flexible tool and process integration.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132871693","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Using Dynamic Software Product Lines to Implement Adaptive SGX-enabled Systems","authors":"S. Krieter, Tobias Thiem, Thomas Leich","doi":"10.1145/3302333.3302340","DOIUrl":"https://doi.org/10.1145/3302333.3302340","url":null,"abstract":"In the light of computational outsourcing and external data storage, data protection and trusted execution become increasingly important. Novel hardware such as Intel's Software Guard extensions (SGX) attempts to provide a solution to protect data and computations from unauthorized access and manipulation, even against attackers with physical access to a machine. However, the current generation of SGX limits the protected memory space that can be efficiently used to 128 MiB, which must be shared between data and binary code. Thus, we propose to use a software product line approach to tailor an application's binary code in such a way that it can be updated during runtime, with the goal to only store relevant features in the protected memory at a given time. We provide a prototypical implementation that enables basic support for loading and unloading features during runtime and evaluate our prototype in terms of execution times against non-adaptive execution.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131344649","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Literature Review and Comparison of Three Feature Location Techniques using ArgoUML-SPL","authors":"Daniel Cruz, Eduardo Figueiredo, Jabier Martinez","doi":"10.1145/3302333.3302343","DOIUrl":"https://doi.org/10.1145/3302333.3302343","url":null,"abstract":"Over the last decades, the adoption of Software Product Line (SPL) engineering for supporting software reuse has increased. An SPL can be extracted from one single product or from a family of related software products, and feature location strategies are widely used for variability mining. Several feature location strategies have been proposed in the literature and they usually aim to map a feature to its source code implementation. In this paper, we present a systematic literature review that identifies and characterizes existing feature location strategies. We also evaluated three different strategies based on textual information retrieval in the context of the ArgoUML-SPL feature location case study. In this evaluation, we compare the strategies based on their ability to correctly identify the source code of several features from ArgoUML-SPL ground truth. We then discuss the strengths and weaknesses of each feature location strategy.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125100039","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An Exploratory Study on Migrating Single-Products towards Product Lines in Startup Contexts","authors":"Mercy N. Njima, S. Demeyer","doi":"10.1145/3302333.3302347","DOIUrl":"https://doi.org/10.1145/3302333.3302347","url":null,"abstract":"A majority of technology startups fail; inadequate software engineering practices are known to be a contributing factor. The smooth transitioning towards software product lines in particular is a major stumbling block for startups that must broaden their product portfolio to deal with divergent demands imposed by the market. We conducted a preliminary study within two software engineering startups, which revealed the motivating factors and benefits that would lead to the migration from a single product into a product line. Despite the benefits, tackling the challenges foreseen and the identification of features and their relations in the current product is the crucial first step towards implementing an appropriate highly-configurable product portfolio.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127609459","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Fischer Ferreira, J. P. Diniz, Cleiton Silva Tavares, Eduardo Figueiredo
{"title":"Testing Tools for Configurable Software Systems: A Review-based Empirical Study","authors":"Fischer Ferreira, J. P. Diniz, Cleiton Silva Tavares, Eduardo Figueiredo","doi":"10.1145/3302333.3302344","DOIUrl":"https://doi.org/10.1145/3302333.3302344","url":null,"abstract":"Configurable software systems are software systems that can be adapted or configured according to a set of features with the goal of increasing reuse and productivity. However, testing configurable systems is very challenging due to the number of configurations to run with each test, leading to a combinatorial explosion in the number of configurations and tests. Currently, several testing techniques and tools have been proposed to deal with this challenge, but their potential practical application remains mostly unexplored. The lack of studies to explore the tools that apply those techniques motivated us to investigate the literature to find testing tools for configurable software systems and to understand how they work. In this paper, we conducted a systematic mapping and identified 34 testing tools for configurable software systems. We first summarized and discussed their main characteristics. We then designed and performed a comparative empirical study of the main sound testing tools found: VarexJ and SPLat. They are considered sound testing techniques because they explore all reachable configurations from a given test. Overall, we observed that VarexJ and SPLat presented distinct results for efficiency while testing the target systems and that, although VarexJ found more errors than SPLat for the majority of the target systems, such result deserves a more in-depth investigation because we expected a higher intersection of errors encountered by them.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120945738","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Variability-intensive Software Systems: Product Lines and Beyond","authors":"M. Galster","doi":"10.1145/3302333.3302336","DOIUrl":"https://doi.org/10.1145/3302333.3302336","url":null,"abstract":"Product line engineering emerged from the software reuse and generative programming movements of the 70s. However, in today's competitive and fast-paced markets where users expect software to adapt to their specific needs, most modern software-intensive products and services are variability-intensive, regardless of whether they are part of a product line or not. In this talk, we explore how building variability-intensive software systems influences the various software product lifecycle stages. Furthermore, we look beyond variability in functional features: We explore the role of quality attributes in the design of variability-intensive software systems and discuss how to address the challenge of identifying and managing variability in quality attributes. Finally, based on the example of software product line research, we explore how research on variability has been changing over time and if research trends in industry and academia have diverged.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122441524","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Sergio García, D. Strüber, D. Brugali, Alessandro Di Fava, Philipp Schillinger, Patrizio Pelliccione, T. Berger
{"title":"Variability Modeling of Service Robots: Experiences and Challenges","authors":"Sergio García, D. Strüber, D. Brugali, Alessandro Di Fava, Philipp Schillinger, Patrizio Pelliccione, T. Berger","doi":"10.1145/3302333.3302350","DOIUrl":"https://doi.org/10.1145/3302333.3302350","url":null,"abstract":"Sensing, planning, controlling, and reasoning, are human-like capabilities that can be artificially replicated in an autonomous robot. Such a robot implements data structures and algorithms devised on a large spectrum of theories, from probability theory, mechanics, and control theory to ethology, economy, and cognitive sciences. Software plays a key role in the development of robotic systems, as it is the medium to embody intelligence in the machine. During the last years, however, software development is increasingly becoming the bottleneck of robotic systems engineering due to three factors: (a) the software development is mostly based on community efforts and it is not coordinated by key stakeholders; (b) robotic technologies are characterized by a high variability that makes reuse of software a challenging practice; and (c) robotics developers are usually not specifically trained in software engineering. In this paper, we illustrate our experiences from EU, academic, and industrial projects in identifying, modeling, and managing variability in the domain of service robots. We hope to raise awareness for the specific variability challenges in robotics software engineering and to inspire other researchers to advance this field.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"148 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114650005","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Preface to the Thirteenth Workshop on Variability Modelling of Software-intensive Systems","authors":"Gilles Perrouin, Danny Weyns","doi":"10.1145/3302333.3302334","DOIUrl":"https://doi.org/10.1145/3302333.3302334","url":null,"abstract":"","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"132 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115900070","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}