Academia.eduAcademia.edu

Software Product Line

description3,029 papers
group179 followers
lightbulbAbout this topic
A Software Product Line (SPL) is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment, while being developed from a common core of assets in a prescribed way, enabling efficient production and customization of software products.
lightbulbAbout this topic
A Software Product Line (SPL) is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment, while being developed from a common core of assets in a prescribed way, enabling efficient production and customization of software products.

Key research themes

1. How mature and comprehensive is the tool support for variability management and SPL engineering activities in practice?

This research theme investigates the availability, maturity, and coverage of software tools supporting variability modeling and other engineering activities in Software Product Line (SPL) development. This inquiry is crucial because effective tool support directly impacts the feasibility and efficiency of SPL adoption, especially for complex product lines with advanced variability requirements. The theme encompasses empirical evaluations of existing tools, their integration with SPL processes, usability, and their alignment with evolving domain demands.

Key finding: This study empirically evaluated the maturity of existing SPL tools and found that while many tools support basic variability modeling concepts (e.g., mandatory/optional features, includes/excludes constraints), few provide... Read more
Key finding: This systematic literature review of 37 variability management tools revealed that despite the growing importance of tool support, most academic tools remain at proof-of-concept stages with limited industrial adoption. The... Read more
Key finding: Using bibliometric methods, this paper identified the evolution and focus of SPL research topics over two decades, highlighting feature modeling as the most researched and influential topic, followed by software architecture... Read more
Key finding: The analysis pointed out that existing mature tools such as FeatureIDE and pure::variants require specific programming paradigms (FOP, AOP, annotations), are tied to IDEs like Eclipse, or exhibit limitations that challenge... Read more

2. How can efficient analysis of feature commonality support better scoping and cost estimation in SPL domain modeling?

This theme focuses on quantitative analysis of feature models to determine commonality—the proportion of products sharing a particular feature—which plays a critical role in scoping a SPL, identifying redundant or missing features, and improving cost and maintenance estimation. The methodological challenge lies in developing scalable, generalizable algorithms that can handle large feature models while avoiding combinatorial explosion inherent in SAT or CSP solver-based approaches.

Key finding: This paper proposes an efficient algorithm to compute feature commonality on feature diagrams, modeled as Neutral Feature Trees (NFT). The algorithm’s quadratic complexity allows scaling to large diagrams, outperforming... Read more
Key finding: The use of NFTs as a pivot language makes the approach general and adaptable to many classical feature model notations, thus broadening its applicability without loss of analysis precision. This broad applicability allows... Read more
Key finding: Experimental evaluation demonstrates that the proposed algorithm computes commonality more efficiently than state-of-the-art SAT-solver based model counters without sacrificing accuracy, underscoring its practical utility in... Read more

3. How can incremental and model-based testing approaches improve fault detection and efficiency in evolving Software Product Lines?

Testing SPL products is challenged by the exponential number of potential configurations due to combinatorial feature variations. This theme investigates model-based test generation techniques that leverage incremental feature-wise modeling to reuse existing test artifacts and reduce test suite size and generation time while maintaining or improving fault detection capability. This includes novel behavioral models and algorithms that capture event-based feature interactions incrementally.

Key finding: The paper introduces Featured Event Sequence Graphs (FESGs) to model behavioral variability in SPL features and an incremental test generation algorithm that reuses previously generated test sequences of existing products... Read more

All papers in Software Product Line

This paper highlights the benefits, in terms of quality, productivity and time-to-market, of applying a generative approach to increase the abstraction level to build applications based on the notification of changes in databases. Most of... more
Aligning the software process and the documentation process is a recipe for having both software and documentation in synchrony where changes in software seamlessly ripple along its documentation counterpart. This paper focuses on... more
Safety critical systems developed as part of a product line must still comply with safety standards. Standards use the concept of Safety Integrity Levels (SILs) to drive the assignment of system safety requirements to components of a... more
A Feature Model (FM) is an information model to represent commonalities and variabilities for all the products of a Software Product Line (SPL). The complexity and big size of real feature models makes their manual analysis for... more
Some quality attributes are known to have an impact on the overall architecture of a system, requiring to be properly handled from the early stages of the software development. This led to the creation of different and unrelated... more
platforms, new operational requirements, different contexts and so on, agility remains more and more solicitated for software evolution. For software evolution of Software Product Line Engineering (SPLE), the Feature Model (FM) is the... more
Software and Systems Product Line (SSPL) engineering has shown capabilities to reduce costs and time to market. This is thanks to the creation and management of a common platform dedicated to develop a family of products. These latters... more
Software product line (SPL) engineering is a software engineering approach to building configurable software systems. SPLs commonly use a feature model to capture and document the commonalities and variabilities of the underlying software... more
Feature Models (FMs) are a popular formalism for modelling and reasoning about commonality and variability of a system. In essence, FMs aim to define a set of valid combinations of features, also called configurations. In this paper, we... more
Software systems are seen more and more as evolutive systems. At the design phase, software is constantly in adaptation by the building process itself, and at runtime, it can be adapted in response to changing conditions in the executing... more
In Software Product Lines variability refers to the definition and utilization of differences between several products. Feature Diagrams (FD) are a well-known approach to express variability, and can be used to automate the derivation... more
HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or... more
Adoption strategies for Software Product Lines (SPL) frequently involve bootstrapping existing products into a SPL and extending an existing SPL to encompass another product. One way to do that is to use program refactorings. However, the... more
Os modelos de processos de negócio servem como fonte de requisitos para a modelagem de sistemas de informação que podem ser construídos para operacionalizar processos organizacionais. Embora os requisitos possam ser representados através... more
Objective: Evaluate the value of a product line in terms of maintainability, extensibility and configurability with refer to the interested stakeholders: customers, maintainers, producers. Rationale: There are values that customers... more
Early aspects are crosscutting concerns that are identified in the early life cycle phases of a software system's development. Nominally these phases include the requirements analysis, domain analysis and architecture design phases.... more
Software Product Line Engineering has significant advantages in family-based software development. The common and variable structure for all products of a family is defined through a Product-Line Architecture (PLA) that consists of a... more
Engineering. Increased expressiveness is attained and important domain knowledge that would otherwise be lost can be included, allowing improved configuration support to be provided. The stakeholders' goals for a specific product can also... more
Feature Models are used in different stages of software development and are recognized to be an important asset in model transformation techniques and software product line development. The automated analysis of feature models is being... more
Context-aware computing is widely accepted as a promising paradigm to enable seamless computing. Several middlewares and ontology-based models for describing context information have been developed in order to support contextaware... more
Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder. Internal use. Permission to reproduce this document and to prepare derivative works from this document for internal use is... more
Software product lines are of strategic importance to the organizations that adopt them, affecting both an organization's position in an existing market and its ability to react to new and changing markets. An organization's... more
Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder. Internal use. Permission to reproduce this document and to prepare derivative works from this document for internal use is... more
Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder. Internal use. Permission to reproduce this document and to prepare derivative works from this document for internal use is... more
The software product line approach to the development of software intensive systems has been used by organizations to improve quality, increase productivity, and reduce cycle time. These gains require different approaches to a number of... more
Here, we discuss this question, along with how the idea of a "project" and project management techniques must expand to fit a product line context. In particular, we'll show how the "overall guidelines, policies, and procedures" that... more
conduct research activities and teach undergraduate and graduate courses. My research is focused on strategic software engineering. I develop techniques that support corporations' efforts to radically improve their productivity relative... more
NI~f &~M-o"e4 tX ~01 F, F77, FI FFT",F F The National Institute of Standards and Technology was established in 1988 by Congress to "assist industry in the development of technology . . . needed to improve product quality, to modernize... more
Software development organizations are continuously looking for better ways to manage their projects. An emerging approach to achieve this is Inner Source, which refers to the adoption of Open Source development practices within the... more
Over the past twenty years, there have been many contributions in the area of automated analysis of variability models. However, the majority of these researches are focused on feature models. We propose that the knowledge obtained during... more
Orthogonal Variability Model (OVM) is a modelling language for representing variability in Software Product Line Engineering. The automated analysis of OVMs is defined as the computer-aided extraction of information from such models. In... more
Open-Source (OS) software development differs widely from close-source development practices because of a number of reasons: project organization, distributed developers, code-centric, etc. These characteristics force the development... more
Documenting and managing the variability among products of a product line is an essential task in software product line engineering. Feature Model (FM) and Orthogonal Variability Model (OVM) are both modelling languages employed for this... more
Dynamic Software Product Line (DSPL) engineering has proved itself as an efficient way to deal with run-time product adaptation. DSPLs have been successfully applied in domains such as smart homes, mobile devices or multimedia systems.... more
The combination of Software Product Lines (SPL) and Service-Oriented Architectures (SOA) development practices is expected to become a new development paradigm maximizing reuse and business integration. However, multiples issues must be... more
Systems such as adaptative and context-aware ones must adapt themselves to changing requirements at runtime. Modeling and implementing this kind of systems is a difficult operation. Software Product Lines (SPL) approach has already coped... more
Download research papers for free!