The diversity of software application scenarios has led the evolution towards highly configurable systems. Testing of such systems is challenging due to an immense number of configurations and is usually performed on a small sample set. Sampling is a promising approach for the sample set generation. t-wise coverage is often used to measure the quality of sample sets. Uniform sampling being most known method can fail to achieve high coverage in presence of complex constraints on configurations. Another challenge is a scalability hurdle for the t-wise coverage computation leaving sampling for higher values of t unexplored. In this work, we present Baital, a platform that combines two novel techniques for sampling of configurable systems. It is based on the adaptive weighted sampling approach to generate sample sets with high t-wise coverage. The approximation techniques for the t-wise coverage computation allow the consideration of higher values of t; they improve scalability for both t-wise coverage computation and sampling process.
{"title":"Baital","authors":"Eduard Baranov, Axel Legay","doi":"10.1145/3503229.3547030","DOIUrl":"https://doi.org/10.1145/3503229.3547030","url":null,"abstract":"The diversity of software application scenarios has led the evolution towards highly configurable systems. Testing of such systems is challenging due to an immense number of configurations and is usually performed on a small sample set. Sampling is a promising approach for the sample set generation. t-wise coverage is often used to measure the quality of sample sets. Uniform sampling being most known method can fail to achieve high coverage in presence of complex constraints on configurations. Another challenge is a scalability hurdle for the t-wise coverage computation leaving sampling for higher values of t unexplored. In this work, we present Baital, a platform that combines two novel techniques for sampling of configurable systems. It is based on the adaptive weighted sampling approach to generate sample sets with high t-wise coverage. The approximation techniques for the t-wise coverage computation allow the consideration of higher values of t; they improve scalability for both t-wise coverage computation and sampling process.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"133 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122131300","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}
S. Vandevelde, Benjamin Callewaert, Joost Vennekens
Feature modeling enables a straightforward representation of a product's features, components, and the relations between them. In this way, feature models serve as an excellent approach to diagrammatically model a product design for manufacturing purposes. However, the actual usage of such a feature model to generate suitable designs in the context of real-life industry applications is often limited, as crucial background knowledge cannot be expressed. Moreover, even though expert validation of a feature model is an important aspect of its creation, current tooling often falls short on this aspect. Indeed, although state-of-the-art tools are capable of generating possible configurations, this is not sufficient to completely validate complex applications: instead, we should enable the expert to interactively explore the problem domain. In this paper, we present our feature modeling tool, called FM-IDP, which aims to overcome both of these shortcomings. In FM-IDP, background knowledge can be expressed in FO(·), a rich extension of classical first-order logic. Using an off-the-shelf logical reasoning engine and an integrated interactive configuration interface, modelers can interact with the feature model and its background knowledge to explore the problem space on-the-fly. We motivate our approach using an industrial use case focused on real-life component design.
{"title":"Interactive feature modeling with background knowledge for validation and configuration","authors":"S. Vandevelde, Benjamin Callewaert, Joost Vennekens","doi":"10.1145/3503229.3547039","DOIUrl":"https://doi.org/10.1145/3503229.3547039","url":null,"abstract":"Feature modeling enables a straightforward representation of a product's features, components, and the relations between them. In this way, feature models serve as an excellent approach to diagrammatically model a product design for manufacturing purposes. However, the actual usage of such a feature model to generate suitable designs in the context of real-life industry applications is often limited, as crucial background knowledge cannot be expressed. Moreover, even though expert validation of a feature model is an important aspect of its creation, current tooling often falls short on this aspect. Indeed, although state-of-the-art tools are capable of generating possible configurations, this is not sufficient to completely validate complex applications: instead, we should enable the expert to interactively explore the problem domain. In this paper, we present our feature modeling tool, called FM-IDP, which aims to overcome both of these shortcomings. In FM-IDP, background knowledge can be expressed in FO(·), a rich extension of classical first-order logic. Using an off-the-shelf logical reasoning engine and an integrated interactive configuration interface, modelers can interact with the feature model and its background knowledge to explore the problem space on-the-fly. We motivate our approach using an industrial use case focused on real-life component design.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117121173","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}
Pub Date : 2022-09-12DOI: 10.5040/9780571291175.00000036
Jabier Martinez, D. Strüber, J. Horcas, Alexandru Burdusel, S. Zschaler
{"title":"Acapulco","authors":"Jabier Martinez, D. Strüber, J. Horcas, Alexandru Burdusel, S. Zschaler","doi":"10.5040/9780571291175.00000036","DOIUrl":"https://doi.org/10.5040/9780571291175.00000036","url":null,"abstract":"","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126069260","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}
C. König, Kamil Rosiak, L. Linsbauer, Ina Schaefer
Code copying and customization is a common practice to realize variability and serve the demand for custom-tailored software. The clone-and-own-approach is flexible and efficient, but does not scale with the number of variants as developers must transfer changes between clones manually, which is an error-prone and tedious task. This task becomes even more challenging, when developers reuse code not only between variants, but also within variants. As a solution, we propose a novel synchronization technique that supports developers to transfer changes applied to clones to its corresponding clone instances within a variant as well as across other variants. Our technique relies on a common model of clone relationships between and within variants, that can automatically propagate changes two-dimensional into the respective intra- and inter-clone instances. In an empirical evaluation, we demonstrate the need for this two-dimensional clone synchronization and show the usefulness and scalability of our approach using the MobileMedia case study.
{"title":"Synchronizing software variants: a two-dimensional approach","authors":"C. König, Kamil Rosiak, L. Linsbauer, Ina Schaefer","doi":"10.1145/3503229.3547053","DOIUrl":"https://doi.org/10.1145/3503229.3547053","url":null,"abstract":"Code copying and customization is a common practice to realize variability and serve the demand for custom-tailored software. The clone-and-own-approach is flexible and efficient, but does not scale with the number of variants as developers must transfer changes between clones manually, which is an error-prone and tedious task. This task becomes even more challenging, when developers reuse code not only between variants, but also within variants. As a solution, we propose a novel synchronization technique that supports developers to transfer changes applied to clones to its corresponding clone instances within a variant as well as across other variants. Our technique relies on a common model of clone relationships between and within variants, that can automatically propagate changes two-dimensional into the respective intra- and inter-clone instances. In an empirical evaluation, we demonstrate the need for this two-dimensional clone synchronization and show the usefulness and scalability of our approach using the MobileMedia case study.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130989567","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}
The implementation and management of product configurators in enterprises are accompanied by several challenges and it is widely recognized that the organizational ones are among the biggest. In order to overcome such challenges, companies need people with adequate competencies. What are the required individual competencies to successfully implement and use product configurators (both sales and technical ones)? Which are the characteristics of an ideal professional figure that can have all these competencies? How could the needed competencies be developed through training? This paper brings these questions to the scientific discussion on product and sales configurators. However, these questions have a wider scope since they also relate to the enquiry on mass customization and on product variety management: they deepen the perspective on organizational design related to these issues.
{"title":"Configuration manager: describing an emerging professional figure","authors":"E. Sandrin, C. Forza, G. Leitner, Alessio Trentin","doi":"10.1145/3503229.3547049","DOIUrl":"https://doi.org/10.1145/3503229.3547049","url":null,"abstract":"The implementation and management of product configurators in enterprises are accompanied by several challenges and it is widely recognized that the organizational ones are among the biggest. In order to overcome such challenges, companies need people with adequate competencies. What are the required individual competencies to successfully implement and use product configurators (both sales and technical ones)? Which are the characteristics of an ideal professional figure that can have all these competencies? How could the needed competencies be developed through training? This paper brings these questions to the scientific discussion on product and sales configurators. However, these questions have a wider scope since they also relate to the enquiry on mass customization and on product variety management: they deepen the perspective on organizational design related to these issues.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115217096","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}
Daniel Friesel, Michael Müller, Matheus Ferraz, O. Spinczyk
Non-functional properties (NFPs) such as code size (RAM, ROM), performance, and energy consumption are at least as important as functional properties in many software development domains. When configuring a software product line - especially in the area of resource-constrained embedded systems - developers must be aware of the NFPs of the configured product instance. Several NFP-aware variability modeling languages have been proposed to address this in the past. However, it is not clear whether a variability modeling language is the best place for handling NFP-related concerns, or whether separate NFP prediction models should be preferred. We shine light onto this question by discussing limitations of state-of-the-art NFP-aware variability modeling languages, and find that both in terms of the development process and model accuracy a separate NFP model is favorable. Our quantitative analysis is based on six different software product lines, including the widely used busybox multi-call binary and the x264 video encoder. We use classification and regression trees (CART) and our recently proposed Regression Model Trees [8] as separate NFP models. These tree-based models can cover the effects of arbitrary feature interactions and thus easily outperform variability models with static, feature-wise NFP annotations. For example, when estimating the throughput of an embedded AI product line, static annotations come with a mean generalization error of 114.5% while the error of CART is only 9.4 %.
{"title":"On the relation of variability modeling languages and non-functional properties","authors":"Daniel Friesel, Michael Müller, Matheus Ferraz, O. Spinczyk","doi":"10.1145/3503229.3547055","DOIUrl":"https://doi.org/10.1145/3503229.3547055","url":null,"abstract":"Non-functional properties (NFPs) such as code size (RAM, ROM), performance, and energy consumption are at least as important as functional properties in many software development domains. When configuring a software product line - especially in the area of resource-constrained embedded systems - developers must be aware of the NFPs of the configured product instance. Several NFP-aware variability modeling languages have been proposed to address this in the past. However, it is not clear whether a variability modeling language is the best place for handling NFP-related concerns, or whether separate NFP prediction models should be preferred. We shine light onto this question by discussing limitations of state-of-the-art NFP-aware variability modeling languages, and find that both in terms of the development process and model accuracy a separate NFP model is favorable. Our quantitative analysis is based on six different software product lines, including the widely used busybox multi-call binary and the x264 video encoder. We use classification and regression trees (CART) and our recently proposed Regression Model Trees [8] as separate NFP models. These tree-based models can cover the effects of arbitrary feature interactions and thus easily outperform variability models with static, feature-wise NFP annotations. For example, when estimating the throughput of an embedded AI product line, static annotations come with a mean generalization error of 114.5% while the error of CART is only 9.4 %.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125973212","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}
Learning the concepts of constraint solving and configuration is often a effortful task since it requires the development of a basic understanding of configuration rule semantics. Also, students engaged in topic-related courses have to tackle the challenge of understanding formal configuration knowledge representations. In this paper we introduce a gamification-based environment (ConGuess) that can help to learn configuration rule semantics. This environment is based on the idea of presenting configuration knowledge to game players (learners) and let players figure out correct solutions.
{"title":"ConGuess","authors":"A. Hofbauer, A. Felfernig","doi":"10.1145/3503229.3547042","DOIUrl":"https://doi.org/10.1145/3503229.3547042","url":null,"abstract":"Learning the concepts of constraint solving and configuration is often a effortful task since it requires the development of a basic understanding of configuration rule semantics. Also, students engaged in topic-related courses have to tackle the challenge of understanding formal configuration knowledge representations. In this paper we introduce a gamification-based environment (ConGuess) that can help to learn configuration rule semantics. This environment is based on the idea of presenting configuration knowledge to game players (learners) and let players figure out correct solutions.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117203336","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}
In 2015, our research laboratory started the definition and implementation of a Software Product Line (SPL) for the generation of web-based Geographic Information Systems. Tooling support for SPL was scarce, and we did not found any suitable alternative to implement the mentioned product line. Therefore, we built spl-js-engine, a JavaScript library that, following the annotative approach, can generate final product source code from the annotated code, the feature model of the product line, and a product specification. spl-js-engine validates the specification of the product against the feature model prior to the generation. Since its first implementation, we have used this tool in many occasions both in the academia and the industry contexts.
{"title":"spl-js-engine: a JavaScript tool to implement software product lines","authors":"Alejandro Cortiñas, M. R. Luaces, Oscar Pedreira","doi":"10.1145/3503229.3547035","DOIUrl":"https://doi.org/10.1145/3503229.3547035","url":null,"abstract":"In 2015, our research laboratory started the definition and implementation of a Software Product Line (SPL) for the generation of web-based Geographic Information Systems. Tooling support for SPL was scarce, and we did not found any suitable alternative to implement the mentioned product line. Therefore, we built spl-js-engine, a JavaScript library that, following the annotative approach, can generate final product source code from the annotated code, the feature model of the product line, and a product specification. spl-js-engine validates the specification of the product against the feature model prior to the generation. Since its first implementation, we have used this tool in many occasions both in the academia and the industry contexts.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"479 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133609782","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}
Constraint reasoning demands for a definition of variables and constraints as a prerequisite, before the actual problem can be solved. Our approach enables a succesive definition of constraint problems, as well as their solution. For demonstrating our approach, we define an extended version of the Sudoku puzzle that allows for succesive placements of numbers in certain fields and solving the problem during time proceeds. We verify our approach with an experimental implementation of this extended Sudoku puzzle.
{"title":"Iterative constraint reasoning: dynamic constraint reasoning in time space","authors":"Lothar Hotz, Rainer Herzog, Stephanie von Riegen","doi":"10.1145/3503229.3547051","DOIUrl":"https://doi.org/10.1145/3503229.3547051","url":null,"abstract":"Constraint reasoning demands for a definition of variables and constraints as a prerequisite, before the actual problem can be solved. Our approach enables a succesive definition of constraint problems, as well as their solution. For demonstrating our approach, we define an extended version of the Sudoku puzzle that allows for succesive placements of numbers in certain fields and solving the problem during time proceeds. We verify our approach with an experimental implementation of this extended Sudoku puzzle.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127193438","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}
J. Horcas, J. Galindo, M. Pinto, L. Fuentes, David Benavides
Recognizing specific characteristics of feature models (FM) can be challenging due to the different nature and domains of the models. There are several metrics to characterize FMs. However, there is no standard way to visualize and identify the properties that make an FM unique and distinguishable. We propose FM Fact Label as a tool to visualize an FM characterization based on its metadata, structural measures, and analytical metrics. Although existing tools can provide a visualization of the FM and report some metrics, the feature diagram of large-scale FMs becomes ineffective to take an overall shape of the FM properties. Moreover, the reported metrics are often embedded in the tool user interface, preventing further analysis. FM Fact Label is a standalone web-based tool that provides a configurable and interactive visualization of FM characterizations that can be exported to several formats. Our contribution becomes important because the Universal Variability Language (UVL) is starting to gain attraction in the software product line community as a unified textual language to specify FMs and share knowledge. With this contribution, we help to advance the UVL ecosystem one step forward while providing a common representation for the results of existing analysis tools.
{"title":"FM fact label: a configurable and interactive visualization of feature model characterizations","authors":"J. Horcas, J. Galindo, M. Pinto, L. Fuentes, David Benavides","doi":"10.1145/3503229.3547025","DOIUrl":"https://doi.org/10.1145/3503229.3547025","url":null,"abstract":"Recognizing specific characteristics of feature models (FM) can be challenging due to the different nature and domains of the models. There are several metrics to characterize FMs. However, there is no standard way to visualize and identify the properties that make an FM unique and distinguishable. We propose FM Fact Label as a tool to visualize an FM characterization based on its metadata, structural measures, and analytical metrics. Although existing tools can provide a visualization of the FM and report some metrics, the feature diagram of large-scale FMs becomes ineffective to take an overall shape of the FM properties. Moreover, the reported metrics are often embedded in the tool user interface, preventing further analysis. FM Fact Label is a standalone web-based tool that provides a configurable and interactive visualization of FM characterizations that can be exported to several formats. Our contribution becomes important because the Universal Variability Language (UVL) is starting to gain attraction in the software product line community as a unified textual language to specify FMs and share knowledge. With this contribution, we help to advance the UVL ecosystem one step forward while providing a common representation for the results of existing analysis tools.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129657542","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}