Rui Pereira

dblp:32/6005 · DBLP profile ↗
← Back
23ranked-venue papers
5as first author
9since 2021 · last 2026
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 11 · 6 since 2021Software engineering, systems software and programming languages · 9 · 5 first-author · 3 since 2021Applied, interdisciplinary, general and emerging computing · 3Databases, data management, data science and information retrieval · 1
YearPublicationVenuePosition
2026 Automatically Generating Visual Modeling Environments EICS025
abstract
Model-Driven Engineering (MDE) offers significant benefits but faces usability challenges, particularly in developing intuitive modeling interfaces. Most existing tools rely on textual or tree-based editors, which are often difficult for non-technical users to navigate. Creating custom graphical editors based on existing metamodels, a common way to describe modeling environments and languages, typically requires substantial manual effort and specialized knowledge of complex frameworks such as Sirius. These hurdles limit the broader adoption of MDE among developers and domain experts. Consequently, there is an increasing demand for automated, flexible, and user-friendly approaches to generating interfaces that can make MDE more accessible and practical across various domains. In this work, we present a method for automatically generating a visual modeling environment from existing metamodels. Based on this method, we devised Model2Block , a command-line application that automatically generates block-based visual languages from metamodels defined using the Ecore language. The tool analyzes an input metamodel and produces a corresponding set of blocks, which are then integrated into a web-based environment. This enables users to visually build models using blocks that represent valid model elements. We present an applicability study demonstrating that our method and tool were successfully applied to a publicly available dataset containing more than 50 metamodels. Moreover, we present a case study of a concrete modeling environment we generated from a metamodel, achieving, in this particular case, higher usability and lower workload than an existing tool.
Hugo Da Gião, Rui Pereira, Miguel Vilaça, Jácome Cunha
Proc. ACM Hum. Comput. Interact.2
2025 A Metamodel for Reengineering CI/CD Pipelines
abstract
In the realm of industrial software development, DevOps has emerged as the preferred approach for handling the highly iterative software production process. DevOps refers to the tight integration of development and operations activities, with Continuous Integration, Continuous Delivery, and Continuous Deployment (CI/CD) being pivotal methodologies for ensuring the iterative delivery of high-quality software. To achieve CI/CD, pipelines of activities are deployed using commercial tools. Due to the dynamic nature of these tools, CI/CD pipelines are often migrated to new versions or even new tools. Since this is mostly a manual process, it is a cumbersome and error-prone activity. To assist software engineers during this process, we propose a novel approach that leverages model-driven engineering (MDE) to support the migration of CI/CD pipelines. Our approach is inspired by the traditional reengineering horseshoe model, which abstracts existing pipeline artifacts into a comprehensive model as an intermediate representation. From these models, we can then generate semantic-equivalent pipelines for any novel CI/CD tool. Thus, our main contribution comprises a metamodel designed to represent the structure of existing CI/CD pipelines and build the foundation for MDE-based migration of CI/CD pipelines. We validated our metamodel by successfully modeling 400 existing pipelines. This evaluation demonstrated a 100% applicability rate when applied to configuration files from technologies that collectively account for over 92% of CI/CD scripts in use. Furthermore, we conducted a detailed case study demonstrating the practical applicability of our approach in real-world migration scenarios. Finally, we demonstrate that our metamodel promotes equivalence between an original pipeline and a new one generated from it in a different technology by showing through test cases that the execution traces of both pipelines are identical.
Hugo Da Gião, Vasco Amaral 0001, Gregor Engels, André Flores 0002, Rui Pereira, Stefan Sauer 0001, Jácome Cunha
MODELS5
2025 PipeBlocks: A Block-based Environment for CI/CD
abstract
Continuous Integration and Deployment (CI/CD) pipelines are essential for modern software delivery, yet configuring them remains a challenge due to the complexity of textbased formats like YAML. These configurations are error-prone and require substantial expertise, posing a barrier especially to novices. In this paper, we introduce PipeBlocks, a block-based CI/CD tool featuring a graphical interface for visually constructing pipelines through modular, drag-and-drop blocks. PipeBlocks seamlessly integrates with GitHub Actions, allowing users to design, validate, and execute pipelines entirely within the tool while maintaining full compatibility with existing YAML workflows. A key innovation is the ability to trigger and monitor pipeline runs directly in PipeBlocks, eliminating context-switching.
Hugo Da Gião, Rui Pereira, Jácome Cunha
VL/HCC2
2025 A Block-Based Language for CI/CD Authoring
abstract
Continuous Integration and Deployment (CI/CD) pipelines are essential for modern software delivery, yet configuring them remains a challenge due to the complexity of text-based formats like YAML. These configurations are error-prone and require substantial expertise, posing a barrier to novices. In this paper, we introduce PipeBlocks, a block-based CI/CD tool featuring a graphical interface for visually constructing pipelines through modular, drag-and-drop blocks. PipeBlocks seamlessly integrates with GitHub Actions, allowing users to design, validate, and execute pipelines entirely within the tool while maintaining full compatibility with existing YAML workflows. A key innovation is the ability to trigger and monitor pipeline runs directly in PipeBlocks, eliminating context-switching. We evaluated PipeBlocks through a controlled study with 10 participants configuring identical pipelines (build, test, deploy) using both PipeBlocks and YAML editing in GitHub Actions. Using the System Usability Scale (SUS) and NASA-TLX benchmarks, we found that PipeBlocks achieved a statistically significantly higher usability score and a lower cognitive load. The results suggest that block-based approaches can effectively lower CI/CD’s learning curve while maintaining functional completeness, making them particularly valuable for academic settings and early-career developers building CI/CD competencies.
Hugo Da Gião, Rui Pereira, Jácome Cunha
VL/HCC2
2023 CI/CD Meets Block-Based Languages
abstract
Continuous Integration and Continuous Deployment (CI/CD) pipelines play a vital role in the DevOps process, enabling developers to automate and enhance software delivery. However, the existence of multiple technologies, such as GitHub Actions, GitLab CI/CD, or Jenkins, poses challenges due to their lack of interoperability and the use of different programming languages for pipeline construction. To address these challenges and improve the CI/CD process, our objective is to develop a block-based language specifically designed for representing CI/CD pipelines. With our language, we intend to empower users to more easily create correct pipelines. Through an interactive and user-friendly process, our approach guides users in constructing pipelines, ensuring accuracy and reducing errors. Additionally, our language will facilitate seamless transitions between different pipeline technologies, providing users with flexibility and ease of adoption.
Hugo Da Gião, Rui Pereira, Jácome Cunha
VL/HCC2
2021 Bringing Green Software to Computer Science Curriculum: Perspectives from Researchers and Educators
abstract
Only recently has the software engineering community started conducting research on developing energy efficient software, or green software. This is shadowed when compared to the research already produced in the computer hardware community. While research in green software is rapidly increasing, several recent studies with software engineers show that they still miss techniques, knowledge, and tools to develop greener software. Indeed, all such studies suggest that green software should be part of a modern Computer Science Curriculum.
João Saraiva, Ziliang Zong, Rui Pereira
ITiCSE (1)3
2021 Linear Programming Meets Block-based Languages
abstract
Linear programming is a mathematical optimization technique used in numerous fields including mathematics, economics, and computer science, with numerous industrial contexts, including solving optimization problems such as planning routes, allocating resources, and creating schedules. As a result of its wide breadth of applications, a considerable amount of its user base is lacking in terms of programming knowledge and experience and thus often resorts to using graphical software such as Microsoft Excel. However, despite its popularity amongst less technical users, the methodologies used by these tools are often ad-hoc and prone to errors. To counteract this problem we propose creating a block-based language that allows users to create linear programming models using data contained inside spreadsheets. This language will guide the users to write syntactically and semantically correct programs and thus aid them in a way that current languages do not.
Hugo Da Gião, Jácome Cunha, Rui Pereira
VL/HCC3
2021 GreenHub: a large-scale collaborative dataset to battery consumption analysis of android devices
Rui Pereira, Hugo Matalonga, Marco Couto 0001, Fernando Castor Filho, Bruno Cabral 0001, Simão Melo de Sousa, João Paulo Fernandes
Empir. Softw. Eng.1
2021 Ranking programming languages by energy efficiency
Rui Pereira, Marco Couto 0001, Francisco Ribeiro, Rui Rua, Jácome Cunha, João Paulo Fernandes, João Saraiva
Sci. Comput. Program.1
2020 On energy debt: managing consumption on evolving software
abstract
This paper introduces the concept of energy debt: a new metric, reflecting the implied cost in terms of energy consumption over time, of choosing a flawed implementation of a software system rather than a more robust, yet possibly time consuming, approach. A flawed implementation is considered to contain code smells, known to have a negative influence on the energy consumption.
Marco Couto 0001, Daniel Maia, João Saraiva, Rui Pereira
TechDebt@ICSE4
2020 SPELLing out energy leaks: Aiding developers locate energy inefficient code
Rui Pereira, Tiago Carção, Marco Couto 0001, Jácome Cunha, João Paulo Fernandes, João Saraiva
J. Syst. Softw.1
2019 GreenHub farmer: real-world data for Android energy mining
abstract
As mobile devices are supporting more and more of our daily activities, it is vital to widen their battery up-time as much as possible. In fact, according to the Wall Street Journal, 9/10 users suffer from low battery anxiety. The goal of our work is to understand how Android usage, apps, operating systems, hardware and user habits influence battery lifespan. Our strategy is to collect anonymous raw data from devices all over the world, through a mobile app, build and analyze a large-scale dataset containing real-world, day-to-day data, representative of user practices. So far, the dataset we collected includes 12 million+ (anonymous) data samples, across 900+ device brands and 5.000+ models. And, it keeps growing. The data we collect, which is publicly available and by different channels, is sufficiently heterogeneous for supporting studies with a wide range of focuses and research goals, thus opening the opportunity to inform and reshape user habits, and even influence the development of both hardware and software for mobile devices.
Hugo Matalonga, Bruno Cabral 0001, Fernando Castor Filho, Marco Couto 0001, Rui Pereira, Simão Melo de Sousa, João Paulo Fernandes
MSR5
2018 jStanley: placing a green thumb on Java collections
abstract
Software developers are more and more eager to understand their code’s energy performance. However, even with such knowledge it is di cult to know how to improve the code. Indeed, little tool support exists to understand the energy consumption pro le of a software system and to eventually (automatically) improve its code.
Rui Pereira, Pedro Simão, Jácome Cunha, João Saraiva
ASE1
2017 Energy efficiency across programming languages: how do energy, time, and memory relate?
abstract
This paper presents a study of the runtime, memory usage and energy consumption of twenty seven well-known software languages. We monitor the performance of such languages using ten different programming problems, expressed in each of the languages. Our results show interesting findings, such as, slower/faster languages consuming less/more energy, and how memory usage influences energy consumption. Finally, we show how to use our results to provide software engineers support to decide which language to use when energy efficiency is a concern.
Rui Pereira, Marco Couto 0001, Francisco Ribeiro, Rui Rua, Jácome Cunha, João Paulo Fernandes, João Saraiva
SLE1
2016 Evaluating refactorings for spreadsheet models
Jácome Cunha, João Paulo Fernandes, Pedro Martins 0001, Jorge Mendes 0001, Rui Pereira, João Saraiva
J. Syst. Softw.5
2014 Managing and assessing group work from a distance
abstract
Group work is an essential activity during both graduate and undergraduate formation. Students develop a set of skills, and employ criticism which helps them to better handle future interpersonal situations. There is a vast theoretical literature and numerous case studies about group work, but we haven't yet seen much development concerning the assessment of individual group participants. It is not always easy to have the perception of each student contribution to the whole work. Nevertheless, more than frequently, the assessment of the group is transposed to each group participant, which in turn results in each student having the same final mark. We propose and describe a tool to manage and assess individual group work taking into account the amount of work, interaction, quality, and the temporal evolution of each group participant. The module features the possibility to create two types of activities: collaborative or cooperative group work. We describe the conceptual design of our tool and present the two operating modes of the module, which is based on events, alerts and conditions. We then describe the methodology for the assessment in the two operating modes and how these two major approaches can be deployed through our module into pedagogical situations.
Álvaro Figueira, Rui Pereira
FIE2
2014 Refactoring Smelly Spreadsheet Models
Pedro Martins 0001, Rui Pereira
ICCSA (5)2
2014 Embedding model-driven spreadsheet queries in spreadsheet systems
abstract
Spreadsheets are widely used not only to define mathematical expressions, but also to store large and complex data. To query such data is usually a difficult task to perform, usually for end user. In this work we embed the textual query language in the model-driven spreadsheet environment as a spreadsheet itself. The result is an expressive and powerful query environment that has knowledge of the business logic defined by the spreadsheet data (the spreadsheet model) to guide end users constructing correct queries.
Jácome Cunha, João Paulo Fernandes, Jorge Mendes 0001, Rui Pereira, João Saraiva
VL/HCC4
2014 ES-SQL: Visually querying spreadsheets
abstract
This paper presents ES-SQL, an embedded tool for visually constructing queries over spreadsheets. This tool provides an expressive query environment which has knowledge on the business logic of spreadsheets, and by this knowledge it assists the user in defining the intended queries.
Jácome Cunha, João Paulo Fernandes, Jorge Mendes 0001, Rui Pereira, João Saraiva
VL/HCC4
2013 QuerySheet: A bidirectional query environment for model-driven spreadsheets
abstract
This paper presents a tool, named QuerySheet, to query spreadsheets. We defined a language to write the queries, which resembles SQL, the language to query databases. This allows to write queries which are more related to the spreadsheet content than with current approaches.
Orlando Belo, Jácome Cunha, João Paulo Fernandes, Jorge Mendes 0001, Rui Pereira, João Saraiva
VL/HCC5
2013 Querying model-driven spreadsheets
abstract
Spreadsheets are being used with many different purposes that range from toy applications to complete information systems. In any of these cases, they are often used as data repositories that can grow significantly. As the amount of data grows, it also becomes more difficult to extract concrete information out of them. This paper focuses on the problem of spreadsheet querying. In particular, we propose an expressive and composable technique where intuitive queries can be defined. Our approach builds on a model-driven spreadsheet development environment, and queries are expressed referencing entities in the model of a spreadsheet instead of in its actual data. Finally, the system that we have implemented relies on Google's query function for spreadsheets.
Jácome Cunha, João Paulo Fernandes, Jorge Mendes 0001, Rui Pereira, João Saraiva
VL/HCC4
2013 Step towards Paper Free Hospital through Electronic Health Record
Maria Salazar, Julio Duarte, Rui Pereira, Filipe Portela, Manuel Filipe Santos, António Abelha, José Machado 0001
WorldCIST3
2011 Semantic annotation of biological concepts interplaying microbial cellular responses
abstract
BACKGROUND: Automated extraction systems have become a time saving necessity in Systems Biology. Considerable human effort is needed to model, analyse and simulate biological networks. Thus, one of the challenges posed to Biomedical Text Mining tools is that of learning to recognise a wide variety of biological concepts with different functional roles to assist in these processes. RESULTS: Here, we present a novel corpus concerning the integrated cellular responses to nutrient starvation in the model-organism Escherichia coli. Our corpus is a unique resource in that it annotates biomedical concepts that play a functional role in expression, regulation and metabolism. Namely, it includes annotations for genetic information carriers (genes and DNA, RNA molecules), proteins (transcription factors, enzymes and transporters), small metabolites, physiological states and laboratory techniques. The corpus consists of 130 full-text papers with a total of 59043 annotations for 3649 different biomedical concepts; the two dominant classes are genes (highest number of unique concepts) and compounds (most frequently annotated concepts), whereas other important cellular concepts such as proteins account for no more than 10% of the annotated concepts. CONCLUSIONS: To the best of our knowledge, a corpus that details such a wide range of biological concepts has never been presented to the text mining community. The inter-annotator agreement statistics provide evidence of the importance of a consolidated background when dealing with such complex descriptions, the ambiguities naturally arising from the terminology and their impact for modelling purposes.Availability is granted for the full-text corpora of 130 freely accessible documents, the annotation scheme and the annotation guidelines. Also, we include a corpus of 340 abstracts.
Rafael Carreira, Sónia Carneiro, Rui Pereira, Miguel Rocha 0001, Isabel Rocha, Eugénio C. Ferreira, Anália Lourenço
BMC Bioinform.3