Requirements prioritization is a complex process for determining the implementation order of requirements based on business value, cost, time, and other factors. Despite the growing use of AI to automate prioritization, full automation remains limited because common criteria, such as stakeholder ranking, cost, and dependencies, still require human input. To mitigate this, we focus on criteria that can be obtained automatically. We identified three such criteria: (1) Functional/Non-Functional (F/NF) classification, based on requirement purpose using pre-trained models; (2) MoSCoW categorization, which uses linguistic patterns and keywords to assess necessity; and (3) a Mandatory criterion derived from the similarity requirements process. In this study, we investigate the prioritization of requirements written in Spanish using automated criteria and automating the process with the LambdaMART algorithm. Additionally, we introduce PrioReSpa, a dataset of 401 requirements collected from a GIS project based on a software product line, each labeled with an importance score and the three prioritization criteria. Our findings demonstrate the effectiveness of using automated criteria for requirements prioritization. Results show that F/NF classification is the most influential criterion, followed by MoSCoW, while the Mandatory criterion had no impact. We trained LambdaMART models using XGBRanker and LGBMRanker implementations, performing hyperparameter optimization with Optuna. Both rankers obtained comparable NDCG performance, with LightGBM slightly outperforming in ranking metrics and XGBoost providing faster training. These findings demonstrate the viability of using LambdaMART algorithm to generate initial ranked lists of requirements, particularly for the top 10-20 priorities, reducing stakeholder involvement in early stages.
Context: Domain-specific languages (DSLs) are essential for modeling specialized concepts, offering greater fluency and efficiency than general-purpose languages. However, their adoption is often hindered by steep learning curves, limited tools, and complex implementations. While large language models (LLMs) can generate DSL code from natural language, their performance is limited in niche areas due to a lack of training on specific DSL definitions. Objectives: This paper introduces DSL-Xpert 2.0, a tool that addresses these challenges by using LLMs to generate DSL code effortlessly. Methods: Integrating grammar prompting and few-shot learning ensures the effective handling of proprietary DSLs. In addition, advanced features such as automatic grammar validation, input/output correction, and integration with platforms like OpenAI, HuggingFace, and WebLLM provide robust, reliable results while simplifying workflows for novices and experts. To further demonstrate the tool’s practical value, this paper provides a running example illustrating its workflow and a complementary user survey conducted across multiple DSLs of varying complexity, following the Technology Acceptance Model (TAM), to evaluate its impact on easing the DSL learning curve. Results: With a user-friendly and flexible design, DSL-Xpert 2.0 supports a wide range of DSL designs with minimal configuration. Its intuitive interface allows developers to focus on innovative problem-solving rather than technical complexities. Findings from the user survey confirm that DSL-Xpert 2.0 effectively reduces the learning effort required to work with DSLs and is perceived as both useful and easy to use. Additionally, this paper provides a detailed performance analysis across various LLMs, showcasing the adaptability and effectiveness of the tool. Conclusion: By simplifying DSL development and lowering entry barriers, DSL-Xpert 2.0 accelerates adoption and innovation, positioning itself as a valuable resource for domain-specific projects.
In this work, we explore different solutions for the problem of representing and querying geographical objects at different scales (zoom levels). In Geographic Information Systems (GIS), the maps we see when looking at the world at a planetary scale versus seeing the detailed coast of one province of a particular country are typically different, since GIS stores several maps, each with the appropriate level of detail for visualizing at a different scale. With the technique presented in this paper, it is possible to store and query the data of multiple geographical objects at different levels of scale, drastically reducing space consumption.
Many businesses depend on legacy systems, which often use outdated technology that complicates maintenance and updates. Therefore, software modernization is essential, particularly data migration between different database schemas. Established methodologies, like model transformation and ETL tools, facilitate this migration; they require deep knowledge of database languages and both the source and target schemas. This necessity renders data migration an error-prone and cognitively demanding task. Our objective is to alleviate developers' workloads during schema evolution through our DAMI-Framework. This framework incorporates a domain-specific language (DSL) and a parser to facilitate data migration between database schemas. DAMI-DSL simplifies schema mapping while the parser automates SQL script generation. We assess developer experience in data migration by conducting an empirical evaluation with 21 developers to assess their experiences using our DSL versus traditional SQL. The study allows us to measure their perceptions of the DSL properties and user experience. The participants praised DAMI-DSL for its readability and ease of use. The findings indicate that our DSL reduces data migration efforts compared to SQL scripts.
A Software Product Line (SPL) is a paradigm that effectively describes families of products based on reuse. Requirements engineering in this domain is a complex task, especially when new products are introduced. In this context, identifying similarities between new and existing requirements can help avoid additional effort and duplication. On the other hand, with the accelerated progress of deep learning in textual analysis, particularly through pre-trained models, several opportunities for semantic analysis have emerged, including semantic similarity. However, most of the research in this area has focused on the English language, with limited attention given to other languages, such as Spanish. In this paper, we introduce a novel tool, SimRE, that helps SPL engineers automatically identify the similarity of requirements written in Spanish using multilingual pre-trained models. We conducted a benchmarking study to validate and compare the performance of pre-trained models within the tool. This analysis aimed to provide a better understanding of their effectiveness in the Spanish language, particularly in the context of a Geographic Information System (GIS) product line.
The Universal Variability Language (UVL) was developed as a community-driven effort to create a simple yet extensible language for feature modeling, promoting tool interoperability within the software product line community. Although UVL is supported by several tools like FeatureIDE, Flamapy, and Pure::variants, it currently lacks direct support for web environments. To address this, we introduce a JavaScript-based UVL parser built with the ANTLR framework. This parser makes UVL models accessible directly within browser-based environments, eliminating the need for extra installations and enhancing UVL's usability for web-based tools. Furthermore, the parser can be used in back-end environments with JavaScript runtime environments such as Node.js. The parser has been successfully tested with more than 1,000 UVL models available on UVLHub and supports various UVL language levels and conversion strategies. We demonstrate its integration through two use cases: UVLHub, a public repository for UVL models developed using open science principles, and an application lifecycle management tool for software product lines. This JavaScript UVL parser is the first of its kind, unlocking new possibilities for web and JavaScript applications to take advantage of the advancements in UVL technology.
Background: The Internet of Things has revolutionized data collection in geosciences through extensive sensor networks. However, developing web-based data warehousing systems for IoT data remains costly and complex. While studies address sensor variability and data ingestion architectures, they often overlook the critical data warehouse component needed to manage IoT data volume and variability. Additionally, Model-Driven Engineering techniques have been used to create dashboards for urban activities but lack advanced map-based visualizations, which are essential for geospatial data. Objectives: This study aims to address the challenges of creating IoT data warehouses for geosciences, encouraging scientists to share sensor data analysis results using a simple, user-friendly, and cost-effective approach. Methods: The proposed framework integrates (i) a Domain-Specific Language metamodel to define sensors, dimensions, and measurement parameters, (ii) a Software Product Line for IoT data warehouse creation, and (iii) a low-code platform with command-line and web interfaces. The approach was validated through four case studies: meteorological, traffic and air quality, coastal, and oceanic monitoring systems. Results: The framework enables efficient IoT data warehouse creation with customized spatial, temporal, and attribute aggregation. Case studies demonstrate adaptability across domains, supporting real-time data ingestion, sensor mobility, and advanced visualization. Conclusion: The study presents a scalable, user-friendly framework for IoT data warehousing in geosciences using SPL and DSL technologies, addressing domain-specific challenges and empowering non-expert users. Future work includes usability assessments and expansion to other domains.
Software Product Line (SPL) Engineering is a reuse-oriented approach to developing a suite of software products that share common components but vary in specific features. The advantages of SPLs (e.g., reducing development costs and time while improving quality) have already been proven in practice. However, despite the success in deriving new products from an SPL, challenges arise in evolving existing products. Altering the feature selection (e.g., adding or removing a feature) for an already existing product poses a challenge regarding the application data stored and managed by derived products, particularly when the features impact an already populated database. In many cases, these modifications imply loss of data or constraint violations. However, in both the state of the art and practice, there are no approaches to support feature and data evolution simultaneously for SPL products.This paper reports a novel evolution approach, SPL-DB-Sync, with actions required for database adjustments when adding or removing features for existing SPL products. Actions delineate modifications necessary within the database. These modifications are associated with the SPL features and linked to the components of the data model they influence. SPL-DB-Sync facilitates the automatic readjustment of the database while preserving clear traceability between features and elements of the data model. The applicability of our evolution model is detailed in four practical scenarios of in-production products of an SPL for Digital Libraries. The contributions of this work are: present a novel evolution approach for SPLs with databases; define an SPL Evolution Model considering data transformation/migration; advance the state of practice between software reuse and data management; and provide insights for practitioners that face the same challenges of evolving both business logic and its data in software products.
Background: Ensemble models play an important role in integrating multiple classifiers in a wide range of applications, such as medical diagnosis, sentiment analysis, and financial market trends. In Requirements Engineering (RE), automatic requirements classification can be improved by the utilization of these models. Aims: This paper analyses the performance metrics of voting and stacking ensemble models for requirements classification prediction. Moreover, a cross-dataset validation was performed for the meta-models generated using the stacking ensemble method. Methods: Some previously trained base models and two datasets of software requirements written in Spanish (translated PROMISE_exp and ReSpa dataset) were used to build the ensemble models. Results: The results indicate that the stacking model achieved a weighted F1-score of 0.828 using Support Vector Machine (SVM) and Multi-layer Perceptron (MLP) for translated PROMISE_exp dataset. For the ReSpa dataset, the stacking model achieved a weighted F1-score of 0.890 using Logistic Regression (LR). Conclusion: This study confirms a slight improvement in the performance of binary requirements classification using stacking ensemble methods over voting and most individual base models. Moreover, combining all models outperforms combinations that include only Shallow ML or DL models.
Geosciences have witnessed a revolution in data collection thanks to the Internet of Things (IoT), which has made it possible to monitor complex phenomena using sensor networks. However, developing web-centric, sensor-based, data warehousing information systems presents challenges because of their complexity and cost. This paper presents an intuitive low-code development system (called SensorPublisher), based on a software product line (SPL) and a domain-specific language (DSL), that speeds up the creation of data warehousing applications for geographic sensor data. SensorPublisher allows the geoscientist to define the sensor network, to generate a software product, and to deploy the product to a local or a remote server. Our tool seeks to encourage scientists to share the outcomes of their sensor data analysis projects with their communities by means of a simple, user-friendly and cost-effective approach. We showcase the system in different geoscientific domains, such as meteorological monitoring services, traffic data and air quality monitoring in urban areas, and marine area monitoring systems.
Currently, the internet plays a main role in collecting and providing information on the needs and preferences of app users. App reviews contain valuable insights, such as bug reports, feature requests, and user feedback. However, manually analyzing these reviews is a time-consuming task. In this paper, we conducted an experiment to automate the process of analyzing app reviews using machine learning algorithms. We utilized and translated the dataset from Gu et al. (2015) to Spanish, which contains approximately 34,000 reviews from several apps. Three algorithms were trained: Multinomial Naive Bayes, Logistic Regression, and Support Vector Machine, with hyperparameter optimization performed via Grid Search. Logistic Regression achieved the highest performance with a maximum F1-score of 0.74.
Product Line Engineering (PLE) is a strategic approach in software engineering. Existing PLE factory development environments often lack integration with modern development and version control platforms, limiting their efficiency. We present a PLE factory development environment that meets the ISO/IEC 26580 standard and integrates with GitLab and git repositories to manage feature catalogues, bill-of-features portfolios, shared assets, and product instances. Our tool uses the Universal Variability Language (UVL) for feature modeling, offering a feature model editor for domain analysis and a source code editor for domain implementation. For application engineering, it supports requirements analysis via a bill-of-features editor and product derivation using the spl-js-engine. The tool also defines a git branching model to automate product asset changes and includes real-time tracking and historical visualization of the derivation process for each product configuration. A demonstration of the tool is available at https://doi.org/10.5281/zenodo.12700667.
Geographic Information Systems (GIS) are complex systems that store, organize, process, and present geographically referenced data. Developing GIS requires specialized knowledge of algorithms, data structures, and geospatial concepts, along with the ability to implement scalable and efficient solutions for managing massive volumes of spatial data from various sources and providing user-friendly interfaces. This article introduces GIS-Publisher, a tool built using the Software Product Line (SPL) approach, which is a method of systematically creating a family of software products from shared core assets managing similarities and controlling variability. With GIS-Publisher, users without software development expertise can quickly and easily create web applications from directories containing shapefiles, a popular format for geographic data. The tool automates system deployment across various environments, including local computers, Secure Shell (SSH) remote servers, and Amazon Web Services (AWS) instances. Additionally, GIS-Publisher enables users to specify different styles using Styled Layer Descriptions (SLDs) for each shapefile, providing complete control over the visual representation of geographic data. This study details the features, benefits, and implementation of GIS-Publisher, demonstrating how it can accelerate GIS development and deployment.
Nowadays, large language models (LLMs) are an extremely useful and fast tool to complement and help in many jobs and current problems. However, there are cases where a pretty specific vocabulary is used in which these models were not previously trained, leading to less satisfactory results. More specifically, these models are less effective when dealing with less-known or unpublished domain-specific languages (DSLs). Within this field, the automatic generation of code based on such languages, starting from natural language, would speed up the development times of any related project, as well as the understanding of such DSLs. Therefore, this paper presents a tool in which developers can perform what is known as semantic parsing. In other words, the developer can ask a pre-trained LLM to translate a natural language instruction into the vocabulary of the established DSL. Thus, by setting the DSL grammar as context (grammar prompting) and providing usage examples (few-shot learning), the LLM can quickly generate reliable domain-specific code, significantly improving the quality of life of the developers. A video demonstration of the tool is shown in the following link: https://zenodo.org/records/12610506.
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.
LiDAR devices are capable of acquiring clouds of 3D points reflecting any object around them,and adding additional attributes to each point such as color,position,time,etc.LiDAR datasets are usually large,and compressed data formats(e.g.LAZ)have been proposed over the years.These formats are capable of transparently decompressing portions of the data,but they are not focused on solving general queries over the data.In contrast to that traditional approach,a new recent research line focuses on designing data structures that combine compression and indexation,allowing directly querying the compressed data.Compression is used to fit the data structure in main memory all the time,thus getting rid of disk accesses,and indexation is used to query the compressed data as fast as querying the uncompressed data.In this paper,we present the first data structure capable of losslessly compressing point clouds that have attributes and jointly indexing all three dimensions of space and attribute values.Our method is able to run range queries and attribute queries up to 100 times faster than previous methods.
In recent years, mainly due to the application of smartphones in this area, research in human activity recognition (HAR) has shown a continuous and steady growth. Thanks to its wide range of sensors, its size, its ease of use, its low price and its applicability in many other fields, it is a highly attractive option for researchers. However, the vast majority of studies carried out so far focus on laboratory settings, outside of a real-life environment. In this work, unlike in other papers, progress was sought on the latter point. To do so, a dataset already published for this purpose was used. This dataset was collected using the sensors of the smartphones of different individuals in their daily life, with almost total freedom. To exploit these data, numerous experiments were carried out with various machine learning techniques and each of them with different hyperparameters. These experiments proved that, in this case, tree-based models, such as Random Forest, outperform the rest. The final result shows an enormous improvement in the accuracy of the best model found to date for this purpose, from 74.39% to 92.97%.
Software product-line engineering provides a framework for an organization to develop a family of similar, yet customized, software systems based on a common platform. This platform allows the organization to configure a system to changing customer requirements, while also achieving long-term benefits like reduced development and maintenance costs. Consequently, a product line is typically used for a long-living family of systems and is continuously evolved. However, at some point even a product line may be retired and potentially replaced by a successor, for instance, because of outdated technology that cannot be replaced easily and thus makes developing a new product line more feasible. Such a retiring of product lines is mentioned in previous work, but has not been investigated in detail. In this paper, we tackle this gap by describing a process for retiring and replacing a product line, which we defined based on a real-world action-research-like case study. Via this case study. we describe how our process can be executed in practice, what decisions must be considered, as well as the pros and cons we experienced with retiring a product line. We expect that these contributions will help practitioners retire product lines more systematically and with fewer problems. We also indicate open research directions that should be tackled in the future.
Nowadays, the field of human activity recognition (HAR) is a remarkably hot topic within the scientific community. Given the low cost, ease of use and high accuracy of the sensors from different wearable devices and smartphones, more and more researchers are opting to do their bit in this area. However, until very recently, all the work carried out in this field was done in laboratory conditions, with very few similarities with our daily lives. This paper will focus on this new trend of integrating all the knowledge acquired so far into a real-life environment. Thus, a dataset already published following this philosophy was used. In this way, this work aims to be able to identify the different actions studied there. In order to perform this classification, this paper explores new designs and architectures for models inspired by the ones which have yielded the best results in the literature. More specifically, different configurations of Convolutional Neural Networks (CNN) and Long-Short Term Memory (LSTM) have been tested, but on real-life conditions instead of laboratory ones. It is worth mentioning that the hybrid models formed from these techniques yielded the best results, with a peak accuracy of 94.80% on the dataset used.
In our research laboratory, we have been working on developing a software product line (SPL) specifically tailored for generating web-based geographic information systems (GIS). In addition, we have also designed a domain specific language (DSL) to make configuring our products as easy and flexible as possible. Over time, we have utilized this product line to create small GIS products, aiming to simplify the process of publishing and sharing geographic data. The steps involved in generating and deploying this kind of products are consistently repeated, so they can be easily automated. Doing so, we further reduce the time to market for this set of simple products, and minimize the complexity associated with the entire process.
Nelly Condori Fernández合作论文数University of Twente13