-
Local Features: Enhancing Variability Modeling in Software Product Lines
Authors:
David de Castro,
Alejandro Cortiñas,
Miguel R. Luaces,
Oscar Pedreira,
Ángeles Saavedra Places
Abstract:
Context and motivation: Software Product Lines (SPL) enable the creation of software product families with shared core components using feature models to model variability. Choosing features from a feature model to generate a product may not be sufficient in certain situations because the application engineer may need to be able to decide on configuration time the system's elements to which a cert…
▽ More
Context and motivation: Software Product Lines (SPL) enable the creation of software product families with shared core components using feature models to model variability. Choosing features from a feature model to generate a product may not be sufficient in certain situations because the application engineer may need to be able to decide on configuration time the system's elements to which a certain feature will be applied. Therefore, there is a need to select which features have to be included in the product but also to which of its elements they have to be applied. Objective: We introduce local features that are selectively applied to specific parts of the system during product configuration. Results: We formalize local features using multimodels to establish relationships between local features and other elements of the system models. The paper includes examples illustrating the motivation for local features, a formal definition, and a domain-specific language for specification and implementation. Finally, we present a case study in a real scenario that shows how the concept of local features allowed us to define the variability of a complex system. The examples and the application case show that the proposal achieves higher customization levels at the application engineering phase.
△ Less
Submitted 23 March, 2024;
originally announced March 2024.
-
An Architecture for Software Engineering Gamification
Authors:
Óscar Pedreira,
Félix García,
Mario Piattini,
Alejandro Cortiñas,
Ana Cerdeira-Pena
Abstract:
Gamification has been applied in software engineering to improve quality and results by increasing people's motivation and engagement. A systematic map** has identified research gaps in the field, one of them being the difficulty of creating an integrated gamified environment comprising all the tools of an organization, since most existing gamified tools are custom developments or prototypes. In…
▽ More
Gamification has been applied in software engineering to improve quality and results by increasing people's motivation and engagement. A systematic map** has identified research gaps in the field, one of them being the difficulty of creating an integrated gamified environment comprising all the tools of an organization, since most existing gamified tools are custom developments or prototypes. In this paper, we propose a gamification software architecture that allows us to transform the work environment of a software organization into an integrated gamified environment, i.e., the organization can maintain its tools, and the rewards obtained by the users for their actions in different tools will mount up. We developed a gamification engine based on our proposal, and we carried out a case study in which we applied it in a real software development company. The case study shows that the gamification engine has allowed the company to create a gamified workplace by integrating custom developed tools and off-the-shelf tools such as Redmine, TestLink, or JUnit, with the gamification engine. Two main advantages can be highlighted: (i) our solution allows the organization to maintain its current tools, and (ii) the rewards for actions in any tool accumulate in a centralized gamified environment.
△ Less
Submitted 31 January, 2024;
originally announced February 2024.
-
Pivot Selection for Median String Problem
Authors:
Pedro Mirabal,
José Abreu,
Oscar Pedreira
Abstract:
The Median String Problem is W[1]-Hard under the Levenshtein distance, thus, approximation heuristics are used. Perturbation-based heuristics have been proved to be very competitive as regards the ratio approximation accuracy/convergence speed. However, the computational burden increase with the size of the set. In this paper, we explore the idea of reducing the size of the problem by selecting a…
▽ More
The Median String Problem is W[1]-Hard under the Levenshtein distance, thus, approximation heuristics are used. Perturbation-based heuristics have been proved to be very competitive as regards the ratio approximation accuracy/convergence speed. However, the computational burden increase with the size of the set. In this paper, we explore the idea of reducing the size of the problem by selecting a subset of representative elements, i.e. pivots, that are used to compute the approximate median instead of the whole set. We aim to reduce the computation time through a reduction of the problem size while achieving similar approximation accuracy. We explain how we find those pivots and how to compute the median string from them. Results on commonly used test data suggest that our approach can reduce the computational requirements (measured in computed edit distances) by $8$\% with approximation accuracy as good as the state of the art heuristic.
This work has been supported in part by CONICYT-PCHA/Doctorado Nacional/$2014-63140074$ through a Ph.D. Scholarship; Universidad Católica de la Santísima Concepción through the research project DIN-01/2016; European Union's Horizon 2020 under the Marie Skłodowska-Curie grant agreement $690941$; Millennium Institute for Foundational Research on Data (IMFD); FONDECYT-CONICYT grant number $1170497$; and for O. Pedreira, Xunta de Galicia/FEDER-UE refs. CSI ED431G/01 and GRC: ED431C 2017/58.
△ Less
Submitted 4 March, 2020;
originally announced March 2020.
-
Extending General Compact Querieable Representations to GIS Applications
Authors:
Nieves R. Brisaboa,
Ana Cerdeira-Pena,
Guillermo de Bernardo,
Gonzalo Navarro,
Oscar Pedreira
Abstract:
The raster model is commonly used for the representation of images in many domains, and is especially useful in Geographic Information Systems (GIS) to store information about continuous variables of the space (elevation, temperature, etc.). Current representations of raster data are usually designed for external memory or, when stored in main memory, lack efficient query capabilities. In this pap…
▽ More
The raster model is commonly used for the representation of images in many domains, and is especially useful in Geographic Information Systems (GIS) to store information about continuous variables of the space (elevation, temperature, etc.). Current representations of raster data are usually designed for external memory or, when stored in main memory, lack efficient query capabilities. In this paper we propose compact representations to efficiently store and query raster datasets in main memory. We present different representations for binary raster data, general raster data and time-evolving raster data. We experimentally compare our proposals with traditional storage mechanisms such as linear quadtrees or compressed GeoTIFF files. Results show that our structures are up to 10 times smaller than classical linear quadtrees, and even comparable in space to non-querieable representations of raster data, while efficiently answering a number of typical queries.
△ Less
Submitted 19 November, 2019;
originally announced November 2019.
-
Compact and Efficient Representation of General Graph Databases
Authors:
Sandra Álvarez-García,
Borja Freire,
Susana Ladra,
Óscar Pedreira
Abstract:
In this paper, we propose a compact data structure to store labeled attributed graphs based on the k2-tree, which is a very compact data structure designed to represent a simple directed graph. The idea we propose can be seen as an extension of the k2-tree to support property graphs. In addition to the static approach, we also propose a dynamic version of the storage representation, which allows e…
▽ More
In this paper, we propose a compact data structure to store labeled attributed graphs based on the k2-tree, which is a very compact data structure designed to represent a simple directed graph. The idea we propose can be seen as an extension of the k2-tree to support property graphs. In addition to the static approach, we also propose a dynamic version of the storage representation, which allows exible schemas and insertion or deletion of data. We provide an implementation of a basic set of operations, which can be combined to form complex queries over these graphs with attributes. We evaluate the performance of our proposal with existing graph database systems and prove that our compact attributed graph representation obtains also competitive time results.
△ Less
Submitted 28 December, 2018;
originally announced December 2018.
-
Ranked Document Retrieval in (Almost) No Space
Authors:
Nieves R. Brisaboa,
Ana Cerdeira-Pena,
Gonzalo Navarro,
Oscar Pedreira
Abstract:
Ranked document retrieval is a fundamental task in search engines. Such queries are solved with inverted indexes that require additional 45%-80% of the compressed text space, and take tens to hundreds of microseconds per query. In this paper we show how ranked document retrieval queries can be solved within tens of milliseconds using essentially no extra space over an in-memory compressed represen…
▽ More
Ranked document retrieval is a fundamental task in search engines. Such queries are solved with inverted indexes that require additional 45%-80% of the compressed text space, and take tens to hundreds of microseconds per query. In this paper we show how ranked document retrieval queries can be solved within tens of milliseconds using essentially no extra space over an in-memory compressed representation of the document collection. More precisely, we enhance wavelet trees on bytecodes (WTBCs), a data structure that rearranges the bytes of the compressed collection, so that they support ranked conjunctive and disjunctive queries, using just 6%-18% of the compressed text space.
△ Less
Submitted 23 July, 2012;
originally announced July 2012.