scholarly journals Software Product Line Analysis Using Variability-aware Datalog

Author(s):  
Ramy Shahin ◽  
Murad Akhundov ◽  
marsha chechik

Applying program analyses to Software Product Lines (SPLs) has been a fundamental research problem at the intersection<br>of Product Line Engineering and software analysis. Different attempts have been made to "lift" particular product-level analyses to run on the entire product line. In this paper, we tackle the class of Datalog-based analyses (e.g., pointer and taint analyses), study the theoretical aspects of lifting Datalog inference, and implement a lifted inference algorithm inside the Souffl  Datalog engine. We evaluate our implementation on a set of Java and C-language benchmark product lines. We show significant savings in processing time and fact database size (billions of times faster on one of the benchmarks) compared to brute-force analysis of each product individually.

2021 ◽  
Author(s):  
Ramy Shahin ◽  
Murad Akhundov ◽  
marsha chechik

Applying program analyses to Software Product Lines (SPLs) has been a fundamental research problem at the intersection<br>of Product Line Engineering and software analysis. Different attempts have been made to "lift" particular product-level analyses to run on the entire product line. In this paper, we tackle the class of Datalog-based analyses (e.g., pointer and taint analyses), study the theoretical aspects of lifting Datalog inference, and implement a lifted inference algorithm inside the Souffl  Datalog engine. We evaluate our implementation on a set of Java and C-language benchmark product lines. We show significant savings in processing time and fact database size (billions of times faster on one of the benchmarks) compared to brute-force analysis of each product individually.


2015 ◽  
Vol 3 (1) ◽  
pp. 1-15 ◽  
Author(s):  
Taeho Kim ◽  
Sungwon Kang

In order to successfully carry out software product line engineering, it is important to manage variability and explicit traceability management of variabilities with development artifacts. Trace links of variability with development artifacts allows software engineers to have rapid product development and reduces maintenance efforts resulting from requirement changes or defect corrections as trace links improve the understandability of their side effects. In this study, the authors present a Variability Tracing Approach (VTA), which consists of variability analysis, variability classification, and variability implementation. The proposed approach is applied to developing the development of a washing machine software platform. This paper describes the results of how a member product can be configured under the proposed VTA.


Author(s):  
RUBEN HERADIO ◽  
DAVID FERNANDEZ-AMOROS ◽  
JOSE A. CERRADA ◽  
ISMAEL ABAD

In software product line engineering, feature diagrams are a popular means to represent the similarities and differences within a family of related systems. In addition, feature diagrams implicitly model valuable information that can be used in economic models to estimate the cost savings of a product line. In particular, this paper reviews existing proposals on computing the total number of products modeled with a feature diagram and, given a feature, the number of products that implement it. This paper also reviews the economic information that can be estimated when such numbers are known. Thus, this paper contributes by bringing together previously-disparate streams of work: the automated analysis of feature diagrams and economic models for product lines.


Reuse of requirements is crucial activity in software development especially across software product line engineering (SPLE), which involves two main processes known as domain engineering and application engineering. With these two processes SPLE enables systematic reuse of requirements through proper planning and development. This paper presents methodology and result of survey of experts for validating a proposed systematic requirement reuse approach named requirements pattern for software product families (RP-SPF) framework. During the survey, 14 experts in requirements engineering (RE), SPLE and software development responded and gave their opinions on RP-SPF framework. The result of the survey shows that RP-SPF approach is suitable and can effectively improve requirements engineering activities of SPLE.


2021 ◽  
Vol 26 (2) ◽  
Author(s):  
Robert Lindohf ◽  
Jacob Krüger ◽  
Erik Herzog ◽  
Thorsten Berger

AbstractSoftware product-line engineering is arguably one of the most successful methods for establishing large portfolios of software variants in an application domain. However, despite the benefits, establishing a product line requires substantial upfront investments into a software platform with a proper product-line architecture, into new software-engineering processes (domain engineering and application engineering), into business strategies with commercially successful product-line visions and financial planning, as well as into re-organization of development teams. Moreover, establishing a full-fledged product line is not always possible or desired, and thus organizations often adopt product-line engineering only to an extent that deemed necessary or was possible. However, understanding the current state of adoption, namely, the maturity or performance of product-line engineering in an organization, is challenging, while being crucial to steer investments. To this end, several measurement methods have been proposed in the literature, with the most prominent one being the Family Evaluation Framework (FEF), introduced almost two decades ago. Unfortunately, applying it is not straightforward, and the benefits of using it have not been assessed so far. We present an experience report of applying the FEF to nine medium- to large-scale product lines in the avionics domain. We discuss how we tailored and executed the FEF, together with the relevant adaptations and extensions we needed to perform. Specifically, we elicited the data for the FEF assessment with 27 interviews over a period of 11 months. We discuss experiences and assess the benefits of using the FEF, aiming at helping other organizations assessing their practices for engineering their portfolios of software variants.


2012 ◽  
Vol 22 ◽  
pp. 134-140
Author(s):  
María Karen Cortés-Verdín ◽  
María Lucía López-Araujo ◽  
Jorge Octavio Ocharán-Hernández

Software Product Lines (SPL) take economic advantage of commonality and variability among a set of software systems that exist within a specific domain. Therefore, Software Product Line Engineering defines a series of processes for the development of a SPL that consider commonality and variability during the software life cycle. Variability modeling is therefore an essential activity in a Software Product Line Engineering approach. There are several techniques for variability modeling nowadays. COVAMOF stands out among them since it allows the modeling of variation points, variants and dependencies as first class elements. COVAMOF, therefore, provides an uniform manner for representing such concepts in different levels of abstraction within a SPL. In order to take advantage of COVAMOF benefits, it is necessary to have a computer aided tool, otherwise variability modeling and management canbe a hard tasks for the software engineer. This paper presents the development of a Eclipse plug-in for COVAMOF.


Sign in / Sign up

Export Citation Format

Share Document