{"title":"Using similarity metrics for mining variability from software repositories","authors":"M. Mannion, H. Kaindl","doi":"10.1145/2647908.2655964","DOIUrl":"https://doi.org/10.1145/2647908.2655964","url":null,"abstract":"Much activity within software product line engineering has been concerned with explicitly representing and exploiting commonality and variability at the feature level for the purpose of a particular engineering task e.g. requirements specification, design, coding, verification, product derivation process, but not for comparing how similar products in the product line are with each other. In contrast, a case-based approach to software development is concerned with descriptions and models as a set of software cases stored in a repository for the purpose of searching at a product level, typically as a foundation for new product development. New products are derived by finding the most similar product descriptions in the repository using similarity metrics.\u0000 The new idea is to use such similarity metrics for mining variability from software repositories. In this sense, software product line engineering could be informed by the case-based approach. This approach requires defining and implementing such similarity metrics based on the representations used for the software cases in such a repository. It provides complementary benefits to the ones given through feature-based representations of variability and may help mining such variability.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"57 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114045707","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}
M. Acher, Mauricio Alférez, J. Galindo, Pierre Romenteau, B. Baudry
{"title":"ViViD: a variability-based tool for synthesizing video sequences","authors":"M. Acher, Mauricio Alférez, J. Galindo, Pierre Romenteau, B. Baudry","doi":"10.1145/2647908.2655981","DOIUrl":"https://doi.org/10.1145/2647908.2655981","url":null,"abstract":"We present ViViD, a variability-based tool to synthesize variants of video sequences. ViViD is developed and used in the context of an industrial project involving consumers and providers of video processing algorithms. The goal is to synthesize synthetic video variants with a wide range of characteristics to then test the algorithms. We describe the key components of ViViD (1) a variability language and an environment to model what can vary within a video sequence; (2) a reasoning back-end to generate relevant testing configurations; (3) a video synthesizer in charge of producing variants of video sequences corresponding to configurations. We show how ViViD can synthesize realistic videos with different characteristics such as luminances, vehicles and persons that cover a diversity of testing scenarios.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124222945","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: from software product lines to self-adaptive systems","authors":"Danny Weyns","doi":"10.1145/2647908.2655959","DOIUrl":"https://doi.org/10.1145/2647908.2655959","url":null,"abstract":"Variability is commonly understood as the ability of a software system or software artifact (e.g., component) to be changed so that it fits a specific context. Variability allows adapting the structure of a software system, its behavior, or underlying processes. These adaptations are enabled through variation points and variants as options that can be selected at these variation points. So far, variability has mainly been studied in the classic software product line domain. However, variability is not limited to product lines or families, but imposes challenges on software development in general. Many other types of today's software systems are built with variability in mind; one prominent type is self-adaptive systems that are capable to adapt autonomously at runtime, another is dynamic software product lines that combines principles from product lines with self-adaptation. In this talk, I summarize the results of an extensive survey we recently performed on the use of variability in software systems in general [1]. Based on our findings, I present dimensions of variability in software engineering. This empirically grounded set of core dimensions provides a step towards an integrated perspective of variability in software systems, spanning across loosely coupled research areas in the software engineering community. To conclude, I outline some interesting opportunities for future research.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130283290","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}
Maxime Cordy, Marco Willemart, Bruno Dawagne, P. Heymans, Pierre-Yves Schobbens
{"title":"An extensible platform for product-line behavioural analysis","authors":"Maxime Cordy, Marco Willemart, Bruno Dawagne, P. Heymans, Pierre-Yves Schobbens","doi":"10.1145/2647908.2655973","DOIUrl":"https://doi.org/10.1145/2647908.2655973","url":null,"abstract":"Software Product-Line (SPL) model checking has reached an adequate level of efficiency and expressiveness to be applied on real-world cases. Yet a major challenge remains: model checkers should consist of black-box tools that do not require in-depth expertise to be used. In particular, it is essential to provide engineers with easy-to-learn languages to model both the behaviour of their SPL and the properties to check. In this paper, we propose a framework to build customized product-line verifiers modularly. Our extensible architecture allows one to plug new modelling languages or verifications algorithms without modifying other parts of it. It also provides means of representing and reasoning on variability that can facilitate the development of other SPL quality assurance techniques. We illustrate the benefits of our approach by detailing how we created a new domain-specific SPL modelling language and linked it to our tool.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133919162","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":"From feature modeling to context variability modeling","authors":"Rafael Capilla","doi":"10.1145/2647908.2655960","DOIUrl":"https://doi.org/10.1145/2647908.2655960","url":null,"abstract":"In this invited talk we will draw the evolution from feature modeling techniques to context variability models and its importance for Dynamic Software Product Lines approaches and for supporting dynamic variability as well.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127227976","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}
T. Kato, M. Kawakami, Tomoyuki Myojin, H. Ogawa, Koji Hirono, Takashi Hasegawa
{"title":"Case study of applying SPLE to development of network switch products","authors":"T. Kato, M. Kawakami, Tomoyuki Myojin, H. Ogawa, Koji Hirono, Takashi Hasegawa","doi":"10.1145/2491627.2491636","DOIUrl":"https://doi.org/10.1145/2491627.2491636","url":null,"abstract":"Software product line engineering has spread as a technique for promoting the efficient development of embedded products with many product line-ups. During the development of network switch products at Hitachi Metals, Ltd., the number of development man-months increased as the number of product line-ups increased. Therefore, we shifted our development paradigm to product line development for efficient product development. We classified software assets as implementation assets, test assets, and design assets, and from these three assets, we extracted common objects and integrated them as reusable elements. By doing so, we promoted the efficient development of software assets and reduced the contradictions between the contents of the software assets. As a result, we reduced the amount of the source code by 53.1%. In this paper, we discuss the details of our technique and the effect of applying it. In addition, we discuss how you can apply our technique in the development of other products.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126628807","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":"The role of architectural styles in successful software ecosystems","authors":"R. Taylor","doi":"10.1145/2491627.2492152","DOIUrl":"https://doi.org/10.1145/2491627.2492152","url":null,"abstract":"Software ecosystems are complex systems composed of multiple independent elements interacting with the system as a whole and with each other. \"Success\" for an ecosystem may be judged primarily in economic terms, but may alternatively be assessed with regard to other qualities, such as reduced time-to-market, widespread use, or adaptability. Example successful ecosystems include iOS apps, Photoshop Lightroom plug-ins, RESTful web services, and numerous e-commerce systems. This talk will examine the critical role that architectural styles play in making and sustaining successful ecosystems. Architectural styles are sets of design decisions applicable to a particular context, constraining development within that context, and yielding beneficial qualities. Styles carry lessons learned through experience, aid communication, provide vocabulary, and speed design. Most importantly, they can be key elements in maintaining conceptual integrity. After examining the role of styles in several ecosystems, the talk will focus on the particular problems of ecosystems in which some participants may be malicious, or where high degrees of customization or adaptability are required.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116237396","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":"Functional safety and variability: can it be brought together?","authors":"M. Schulze, J. Mauersberger, Danilo Beuche","doi":"10.1145/2491627.2491654","DOIUrl":"https://doi.org/10.1145/2491627.2491654","url":null,"abstract":"Today's product development creates multiple products over time, often by using reuse strategies like \"Clone and Own\", leading to very inefficient reuse of artifacts in the long term since synergy effects between the products e.g. from testing cannot be utilized. Applying a product line approach with explicitly modeling the commonalities and variabilities of system artifacts and deriving products from that common base is a way to tackle the problem. High variant complexity can often be found in the development of embedded systems, which in turn often control safety critical functions. For these systems functional safety is a major concern not only since the ISO 26262 got relevant for the automotive industry. The arising question is: Can variability in functional safety related assets be treated in the same way as for other artifacts like requirements, models, and source code? In this paper we demonstrate on the example of two commercial tools and an automotive use case that from the technical/tool point of view safety related artifacts can be treated like other artifacts regarding variability. This means linking with variability information and visualizing as well as deriving of variants is feasible. This is a big step forward, because now not only ordinary artifacts but also functional safety related assets can be reused in the same way as other product line artifacts. However, we have identified and will discuss challenges with respect to variable safety analyses, regulations, and reuse of certifications, which need further research and elaboration, in this paper.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128169602","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":"Bridging the gap between product lines and systems engineering: an experience in variability management for automotive model based systems engineering","authors":"C. Dumitrescu, R. Mazo, C. Salinesi, A. Dauron","doi":"10.1145/2491627.2491655","DOIUrl":"https://doi.org/10.1145/2491627.2491655","url":null,"abstract":"We present in this paper an experience in modeling a family of parking brake systems, with shared assets and alternative solutions, and relate them to the needs of Renault in terms of variability management. The models are realized using a set of customized tools for model based systems engineering and variability management, based on SysML models. The purpose is to present an industrial context that requires the adoption of a product line approach and of variability modeling techniques, outside of a pure-software domain. At Renault, the interest is in identifying variations and reuse opportunities early in the product development cycle, as well as in preparing vehicle configuration specifications during the systems engineering process. This would lead to lowering the engineering effort and to higher quality and confidence in carry-over and carry across based solutions. We advocate for a tight integration of variability management with the model based systems engineering approach, which needs to address methodological support, modeling techniques and efficient tools for interactive configuration, adapted for engineering activities.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130191682","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}
L. Passos, Jianmei Guo, Leopoldo Teixeira, K. Czarnecki, A. Wąsowski, Paulo Borba
{"title":"Coevolution of variability models and related artifacts: a case study from the Linux kernel","authors":"L. Passos, Jianmei Guo, Leopoldo Teixeira, K. Czarnecki, A. Wąsowski, Paulo Borba","doi":"10.1145/2491627.2491628","DOIUrl":"https://doi.org/10.1145/2491627.2491628","url":null,"abstract":"Variability-aware systems are subject to the coevolution of variability models and related artifacts. Surprisingly, little knowledge exists to understand such coevolution in practice. This shortage is directly reflected in existing approaches and tools for variability management, as they fail to provide effective support for such a coevolution. To understand how variability models and related artifacts coevolve in a large and complex real-world variability-aware system, we inspect over 500 Linux kernel commits spanning almost four years of development. We collect a catalog of evolution patterns, capturing the coevolution of the Linux kernel variability model, Makefiles, and C source code. Further, we extract general findings to guide further research and tool development.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130622758","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}