52 research outputs found

    Product line architecture recovery with outlier filtering in software families: the Apo-Games case study

    Get PDF
    Software product line (SPL) approach has been widely adopted to achieve systematic reuse in families of software products. Despite its benefits, developing an SPL from scratch requires high up-front investment. Because of that, organizations commonly create product variants with opportunistic reuse approaches (e.g., copy-and-paste or clone-and-own). However, maintenance and evolution of a large number of product variants is a challenging task. In this context, a family of products developed opportunistically is a good starting point to adopt SPLs, known as extractive approach for SPL adoption. One of the initial phases of the extractive approach is the recovery and definition of a product line architecture (PLA) based on existing software variants, to support variant derivation and also to allow the customization according to customers’ needs. The problem of defining a PLA from existing system variants is that some variants can become highly unrelated to their predecessors, known as outlier variants. The inclusion of outlier variants in the PLA recovery leads to additional effort and noise in the common structure and complicates architectural decisions. In this work, we present an automatic approach to identify and filter outlier variants during the recovery and definition of PLAs. Our approach identifies the minimum subset of cross-product architectural information for an effective PLA recovery. To evaluate our approach, we focus on real-world variants of the Apo-Games family. We recover a PLA taking as input 34 Apo-Game variants developed by using opportunistic reuse. The results provided evidence that our automatic approach is able to identify and filter outlier variants, allowing to eliminate exclusive packages and classes without removing the whole variant. We consider that the recovered PLA can help domain experts to take informed decisions to support SPL adoption.This research was partially funded by INES 2.0; CNPq grants 465614/2014-0 and 408356/2018-9; and FAPESB grants JCB0060/2016 and BOL2443/201

    Smart Grid Challenges Through the Lens of the European General Data Protection Regulation

    Get PDF
    The General Data Protection Regulation (GDPR) was conceived to remove the obstacles to the free movement of personal data while ensuring the protection of natural persons with regard to the processing of such data. The Smart Grid has similar features as any privacy-critical system but, in comparison to the engineering of other architectures, has the peculiarity of being the source of energy consumption data. Electricity consumption constitutes an indirect means to infer personal information. This work looks at the Smart Grid from the perspective of the GDPR, which is especially relevant now given the current growth and diversification of the Smart Grid ecosystem. We provide a review of existing works highlighting the importance of energy consumption as valuable personal data as well as an analysis of the established Smart Grid Architecture Model and its main challenges from a legal viewpoint, in particular the challenge of sharing data with third parties.This work is funded by the PDP4E project, H2020 European Project Number: 787034. We would like to thank all PDP4E project partners for their valuable inputs and comments, and Marta Castro and Mikel Vergara for their discussions

    REVE 2021: 9th International Workshop on Reverse Variability Engineering

    Get PDF
    Software Product Line (SPL) migration remains a challenging endeavour. From organizational issues to purely technical challenges, there is a wide range of barriers that complicates SPL adoption. This workshop aims to foster research about making the most of the two main inputs for SPL migration: 1) domain knowledge and 2) legacy assets. Domain knowledge, usually implicit and spread across an organization, is key to define the SPL scope and to validate the variability model and its semantics. At the technical level, domain expertise is also needed to create or extract the reusable software components. Legacy assets can be, for instance, similar product variants (e.g., requirements, models, source code, etc.) that were implemented using ad-hoc reuse techniques such as clone-and-own. More generally, the workshop REverse Variability Engineering attracts researchers and practitioners contributing to processes, techniques, tools, or empirical studies related to the automatic, semi-automatic or manual extraction or refinement of SPL assets

    Open-source software product line extraction processes: the ArgoUML-SPL and Phaser cases

    Get PDF
    Software Product Lines (SPLs) are rarely developed from scratch. Commonly, they emerge from one product when there is a need to create tailored variants, or from existing variants created in an ad-hoc way once their separated maintenance and evolution become challenging. Despite the vast literature about re-engineering systems into SPLs and related technical approaches, there is a lack of detailed analysis of the process itself and the effort involved. In this paper, we provide and analyze empirical data of the extraction processes of two open source case studies, namely ArgoUML and Phaser. Both cases emerged from the transition of a monolithic system into an SPL. The analysis relies on information mined from the version control history of their respective source-code repositories and the discussion with developers that took part in the process. Unlike previous works that focused mostly on the structural results of the final SPL, the contribution of this study is an in-depth characterization of the processes. With this work, we aimed at providing a deeper understanding of the strategies for SPL extraction and their implications. Our results indicate that the source code changes can range from almost a fourth to over half of the total lines of code. Developers may or may not use branching strategies for feature extraction. Additionally, the problems faced during the extraction process may be due to lack of tool support, complexity on managing feature dependencies and issues with feature constraints. We made publicly available the datasets and the analysis scripts of both case studies to be used as a baseline for extractive SPL adoption research and practice.This research was partially funded by CNPq, grant no. 408356/2018-9; FAPPR, grant no. 51435; and FAPERJ PDR-10 Fellowship 202073/2020. Open access funding provided by Johannes Kepler University Lin

    The state of adoption and the challenges of systematic variability management in industry

    Get PDF
    Handling large-scale software variability is still a challenge for many organizations. After decades of research on variability management concepts, many industrial organizations have introduced techniques known from research, but still lament that pure textbook approaches are not applicable or efficient. For instance, software product line engineering—an approach to systematically develop portfolios of products—is difficult to adopt given the high upfront investments; and even when adopted, organizations are challenged by evolving their complex product lines. Consequently, the research community now mainly focuses on re-engineering and evolution techniques for product lines; yet, understanding the current state of adoption and the industrial challenges for organizations is necessary to conceive effective techniques. In this multiple-case study, we analyze the current adoption of variability management techniques in twelve medium- to large-scale industrial cases in domains such as automotive, aerospace or railway systems. We identify the current state of variability management, emphasizing the techniques and concepts they adopted. We elicit the needs and challenges expressed for these cases, triangulated with results from a literature review. We believe our results help to understand the current state of adoption and shed light on gaps to address in industrial practice.This work is supported by Vinnova Sweden, Fond Unique Interminist´eriel (FUI) France, and the Swedish Research Council. Open access funding provided by University of Gothenbur

    Modelling the Component-based Architecture and Safety Contracts of ArmAssist in Papyrus for Robotics

    Get PDF
    Healthcare robots are increasingly being used and the way they are engineered they still have several challenges regarding reference models and validation. In this experience report we focus on the ArmAssist robotic system and how it can be modelled including safety considerations for validation in early design phases. ArmAssist is an upper-limb robotic system for stroke rehabilitation based on serious games. The open-source tool Papyrus for Robotics was used for modelling the robotic system in close collaboration with neurorehabilitation domain experts. Papyrus for Robotics includes new functionalities that we contributed for contract-based design at component and system level, allowing to make explicit and validate the safety considerations using formal languages. In our case, the assertions are expressed in OCL and Othello. We present the resulting model and a discussion from domain experts.This work has been funded by the SafeCC4Robot Integrated Technical Project which received funding from the European Union’s Horizon 2020 Research and Innovation Programme under grant agreement No. 732410, in the form of financial support to third parties of the RobMoSys Project. We would like to thank Angel Lopez, Elixabete Ostolaza, Matteo Morelli, ´ and Huascar Espinoza for their help during the tool design and development. The authors also would like to thank to Inigo Dorronsoro, Javier Arcas Ruiz-Ruano, Gabriel Gaminde, ˜ Benat Garcia-Mendizabal, Je Hyung Jung, Cristina Rodriguez- ˜ de-Pablo, Joel Perry, Aitor Belloso, David Valencia and Haritz Zabaleta for their contributions to the ArmAssist system development

    Spectrum-based feature localization: A case study using ArgoUML

    Get PDF
    Feature localization (FL) is a basic activity in re-engineering legacy systems into software product lines. In this work, we explore the use of the Spectrum-based localization technique for this task. This technique is traditionally used for fault localization but with practical applications in other tasks like the dynamic FL approach that we propose. The ArgoUML SPL benchmark is used as a case study and we compare it with a previous hybrid (static and dynamic) approach from which we reuse the manual and testing execution traces of the features. We conclude that it is feasible and sound to use the Spectrum-based approach providing promising results in the benchmark metrics

    The AQUAS ECSEL Project Aggregated Quality Assurance for Systems: Co-Engineering Inside and Across the Product Life Cycle

    Get PDF
    There is an ever-increasing complexity of the systems we engineer in modern society, which includes facing the convergence of the embedded world and the open world. This complexity creates increasing difficulty with providing assurance for factors including safety, security and performance. In such a context, the AQUAS project investigates the challenges arising from e.g., the inter-dependence of safety, security and performance of systems and aims at efficient solutions for the entire product life-cycle. The project builds on knowledge of partners gained in current or former EU projects and will demonstrate the newly developed methods and techniques for co-engineering across use cases spanning Aerospace, Medicine, Transport and Industrial Control.A special thanks to all the AQUAS consortium people that have worked on the AQUAS proposal on which this paper is based, especially to Charles Robinson (TRT), the proposal coordinator. The AQUAS project is funded from the ECSEL Joint Undertaking under grant agreement n 737475, and from National funding

    Feature location benchmark for extractive software product line adoption research using realistic and synthetic Eclipse variants

    Get PDF
    International audienceContext: It is common belief that high impact research in software reuse requires assessment in non-trivial, comparable, and reproducible settings. However, software artefacts and common representations are usually unavailable. Also, establishing a representative ground truth is a challenging and debatable subject. Feature location in the context of software families, which is key for software product line adoption, is a research field that is becoming more mature with a high proliferation of techniques.Objective: We present EFLBench, a benchmark and a framework to provide a common ground for the evaluation of feature location techniques in families of systems.Method: EFLBench leverages the efforts made by the Eclipse Community which provides feature-based family artefacts and their plugin-based implementations. Eclipse is an active and non-trivial project and thus, it establishes an unbiased ground truth which is realistic and challenging.Results: EFLBench is publicly available and supports all tasks for feature location techniques integration, benchmark construction and benchmark usage. We demonstrate its usage, simplicity and reproducibility by comparing four techniques in Eclipse releases. As an extension of our previously published work, we consider a decade of Eclipse releases and we also contribute an approach to automatically generate synthetic Eclipse variants to benchmark feature location techniques in tailored settings. We present and discuss three strategies for this automatic generation and we present the results using different settings.Conclusion: EFLBench is a contribution to foster the research in feature location in families of systems providing a common framework and a set of baseline techniques and results

    Mining software artefact variants for product line migration and analysis

    No full text
    Les lignes de produits logiciels (LdPs) permettent la dérivation d'une famille de produits basés sur une gestion de la variabilité. Les LdPs utilisent des configurations de caractéristiques afin de satisfaire les besoins de chaque client et, de même, permettre une réutilisation systématique en utilisant des assets réutilisables. L’approche capitalisant sur des variantes des produits existants est appelé une approche extractive pour l'adoption de LdPs. L’identification des caractéristiques est nécessaire pour analyser la variabilité d’un ensemble de variantes. Il est également nécessaire de localiser les éléments associés à ces caractéristiques. Les contraintes entre ces caractéristiques doivent être identifiées afin de garantir la sélection de configurations valides. Par ailleurs, il faut construire les assets réutilisables et synthétiser un modèle de caractéristiques. Cette thèse présente BUT4Reuse (Bottom-Up Technologies for Reuse), un framework unifié, générique et extensible pour l’adoption extractive de LdPs. Une attention particulière est accordée à des scénarios de développement dirigée par les modèles. Nous nous concentrons aussi sur l'analyse des techniques en proposant un benchmark pour la localisation de caractéristiques et une technique d’identification de familles de variantes. Nous présentons des paradigmes de visualisation pour accompagner les experts du domaine dans le nommage de caractéristiques et aider à la découverte de contraintes. Finalement, nous étudions l'exploitation des variantes pour l'analyse de la LdP après sa création. Nous présentons une approche pour trouver des variantes pertinentes guidée par des évaluations des utilisateurs finaux.Software Product Lines (SPLs) enable the derivation of a family of products based on variability management techniques. Inspired by the manufacturing industry, SPLs use feature configurations to satisfy different customer needs, along with reusable assets to allow systematic reuse. Capitalizing on existing variants by extracting the common and varying elements is referred to as extractive approaches for SPL adoption. Feature identification is needed to analyse the domain variability. Also, to identify the associated implementation elements of the features, their location is needed. In addition, feature constraints should be identified to guarantee that customers are not able to select invalid feature combinations. Then, the reusable assets associated to the features should be constructed. And finally, a comprehensive feature model need to be synthesized. This dissertation presents Bottom-Up Technologies for Reuse (BUT4Reuse), a unified, generic and extensible framework for mining software artefact variants. Special attention is paid to model-driven development scenarios. We also focus on benchmarks and in the analysis of variants, in particular, in benchmarking feature location techniques and in identifying families of variants in the wild for experimenting with feature identification techniques. We present visualisation paradigms to support domain experts on feature naming and to support on feature constraints discovery. Finally, we investigate and discuss the mining of artefact variants for SPL analysis once the SPL is already operational. Concretely, we present an approach to find relevant variants within the SPL configuration space guided by end user assessments
    corecore