69 research outputs found
Evolution, testing and configuration of variability intensive systems
Tesis descargada desde ResearchGateOne of the key characteristics of software is its ability to be adapted and configured to different scenarios. Recently, software variability has been studied as a first-class concept in different domains ranging from software product lines to pervasive systems. Variability is the ability of a software product to vary depending on different circumstances. Variability intensive systems are those software products where variability management is a core engineering activity. The varying parts of those systems are commonly modeled by us- ing different variability model flavors, being feature modeling one of the most common ones. Feature models were first introduced by Kang et al. back in 1990 and are a compact representation of a set of configurations in a variability intensive system.
The large number of configurations that a feature model can encode makes the manual analysis of feature models an error prone and costly task. Then, computer-aided mechanisms appeared as a solution to extract useful information from feature models. This process of extracting information from feature models is known as ¿Automated Analysis of Feature models¿ that has been one of the main areas of research in the last years where more than thirty analysis operations have been proposed.Premio Extraordinario de Doctorado U
Automated analysis of feature models: Quo vadis?
Feature models have been used since the 90's to describe software product lines as a way of reusing common parts in a family of software systems. In 2010, a systematic literature review was published summarizing the advances and settling the basis of the area of Automated Analysis of Feature Models (AAFM). From then on, different studies have applied the AAFM in different domains. In this paper, we provide an overview of the evolution of this field since 2010 by performing a systematic mapping study considering 423 primary sources. We found six different variability facets where the AAFM is being applied that define the tendencies: product configuration and derivation; testing and evolution; reverse engineering; multi-model variability-analysis; variability modelling and variability-intensive systems. We also confirmed that there is a lack of industrial evidence in most of the cases. Finally, we present where and when the papers have been published and who are the authors and institutions that are contributing to the field. We observed that the maturity is proven by the increment in the number of journals published along the years as well as the diversity of conferences and workshops where papers are published. We also suggest some synergies with other areas such as cloud or mobile computing among others that can motivate further research in the future.Ministerio de Economía y Competitividad TIN2015-70560-RJunta de Andalucía TIC-186
Fostering a consistent SPL service ecosystem
Nowadays, Software Product Line (SPL) researchers and practi tioners have a diversity of Automated Analysis of Feature Models
(AAFM) tools at their disposal. However, only a few applications
are compatible between them. This, increases time to market of new
applications and hinders application usage by researchers and prac titioners. In this tutorial, we present how we can successfully create
an ecosystem of SPL tools that can be integrated to o er a better
user experience. Concretely, we will show how to i) easily provide
a common REST interface to an SPL analysis tool thus, fostering
application integration; ii) automatically o er a web graphical edi tor to interact with the tool, thus, promoting its usage by end users;
and, iii) enable the governance of the applications and create a
customized portal for pricing plans. Also, we show other bene ts
such as the automatic creation of demo sites for review purposes
Towards a New Repository for Feature Model Exchange
Feature models are one of the most important contributions to the
field of software product lines, feature oriented software develop ment or variability intensive systems. Since their invention in 1990,
many feature model dialects appeared from less formal to more
formal, from visual to textual, integrated in tool chains or just as a
support for a concrete research contribution. Ten year ago,
S.P.L.O.T. a feature model online tool was presented. One of its
most used features has been the ability to centralise a feature model
repository with its own feature model dialect. As a result of
MODEVAR, we hope to have a new simple textual feature
model language that can be shared by the community. Having a
new repository for that language can help to share knowledge. In
this paper we present some ideas about the characteristics that
the future feature model repository should have in the future.
The idea is to discuss those characteristics with the communityMinisterio de Economía y Competitividad RTI2018-101204-B-C22 (OPHELIA)Ministerio de Ciencia, Innovación y Universidades MCIU-AEI TIN2017-90644-REDT (TASOVA
Variability Management in an unaware software product line company: An experience report
Software product line adoption is a challenging task in software
development organisations. There are some reports in
the literature of how software product line engineering has
been adopted in several companies using di erent variabil-ity
management techniques and patterns. However, to the best
of our knowledge, there are no empirical reports on how
variability management is handled in companies that do not
know about software product line methods and tools. In this
paper we present an experience report observing variability
management practices in a software development company
that was unaware of software product line approaches. We
brie
y report how variability management is performed in
di erent areas ranging from business architecture to software
assets management. From the observation we report some
open research opportunities for the future and foster further
similar and more structured empirical studies on unaware
software product line companies.Ministerio de Economía y Competitividad TIN2012-32273Junta de Andalucía TIC-5906Junta de Andalucía P12-TIC-186
Industrial Experience Report on the Formal Specification of a Packet Filtering Language Using the K Framework
Many project-specific languages, including in particular filtering languages, are defined using nonformal
specifications written in natural languages. This leads to ambiguities and errors in the specification
of those languages. This paper reports on an industrial experiment on using a tool-supported
language specification framework (K) for the formal specification of the syntax and semantics of a
filtering language having a complexity similar to those of real-life projects. This experimentation
aims at estimating, in a specific industrial setting, the difficulty and benefits of formally specifying a
packet filtering language using a tool-supported formal approach
Selection of Software Product Line Implementation Components Using Recommender Systems: An Application to Wordpress
In software products line (SPL), there may be features which can be implemented by different components, which means there are several implementations for the same feature. In this context, the selection of the best components set to implement a given configuration is a challenging task due to the high number of combinations and options which could be selected. In certain scenarios, it is possible to find information associated with the components which could help in this selection task, such as user ratings. In this paper, we introduce a component-based recommender system, called (REcommender System that suggests implementation Components from selecteD fEatures), which uses information associated with the implementation components to make recommendations in the domain of the SPL configuration. We also provide a RESDEC reference implementation that supports collaborative-based and content-based filtering algorithms to recommend (i.e., implementation components) regarding WordPress-based websites configuration. The empirical results, on a knowledge base with 680 plugins and 187 000 ratings by 116 000 users, show promising results. Concretely, this indicates that it is possible to guide the user throughout the implementation components selection with a margin of error smaller than 13% according to our evaluation.Ministerio de Economía y Competitividad RTI2018-101204-B-C22Ministerio de Economía y Competitividad TIN2014-55894-C2-1-RMinisterio de Economía y Competitividad TIN2017-88209-C2-2-RMinisterio de Economía, Industria y Competitividad MCIU-AEI TIN2017-90644-RED
Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis
The automated analysis of variability models in
general and feature models in particular is a thriving research
topic. There have been numerous contributions along the last
twenty years in this area including both, research papers and
tools. However, the lack of realistic variability models to evaluate
those techniques and tools is recognized as a major problem
by the community. To address this issue, we looked for large–
scale variability models in the open source community. We found
that the Debian package dependency language can be interpreted
as software product line variability model. Moreover, we found
that those models can be automatically analysed in a software
product line variability model-like style. In this paper, we take
a first step towards the automated analysis of Debian package
dependency language. We provide a mapping from these models
to propositional formulas. We also show how this could allow
us to perform analysis operations on the repositories like the
detection of anomalies (e.g. packages that cannot be installed).CICYT TIN2009- 07366Junta de Andalucía TIC-253
Using Machine Learning to Infer Constraints for Product Lines
Variability intensive systems may include several thousand
features allowing for an enormous number of possible configurations,
including wrong ones (e.g. the derived product
does not compile). For years, engineers have been using constraints
to a priori restrict the space of possible configurations,
i.e. to exclude configurations that would violate these
constraints. The challenge is to find the set of constraints
that would be both precise (allow all correct configurations)
and complete (never allow a wrong configuration with respect
to some oracle). In this paper, we propose the use of a
machine learning approach to infer such product-line
constraints from an oracle that is able to assess whether a
given product is correct. We propose to randomly generate
products from the product line, keeping for each of them its
resolution model. Then we classify these products accord-ing
to the oracle, and use their resolution models to infer crosstree
constraints over the product-line. We validate our
approach on a product-line video generator, using a simple
computer vision algorithm as an oracle. We show that an interesting
set of cross-tree constraint can be generated, with
reasonable precision and recall
ViViD: A Variability-Based Tool for Synthesizing Video Sequences
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 differ-ent
characteristics such as luminances, vehicles and persons that
cover a diversity of testing scenarios
- …