Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por HASLab

2023

A methodology for refactoring ORM-based monolithic web applications into microservices

Autores
Freitas, F; Ferreira, A; Cunha, J;

Publicação
JOURNAL OF COMPUTER LANGUAGES

Abstract
In the last few years we have been seeing a drastic change in the way software is developed. Large-scale software projects are being assembled by a flexible composition of many (small) components possibly written in different programming languages and deployed anywhere in the cloud - the so-called microservices-based applications. The dramatic growth in popularity of microservices-based applications has pushed several companies to apply major refactorings to their software systems. However, this is a challenging task that may take several months or even years. We propose a methodology to automatically evolve monolithic web applications that use object-relational mapping into microservices-based ones. Our methodology receives the source code and a microservices proposal and refactors the original code to create each microservice. Our methodology creates an API for each method call to classes that are in other services. The database entities are also refactored to be included in the corresponding service. The evaluation performed in 120 applications shows that our tool can successfully refactor about 72% of them. The execution of the unit tests in both versions of the applications yield exactly the same results.

2023

Impact of remote work on Portuguese software professionals during the COVID-19 pandemic

Autores
Almeida, AJ; Cunha, J; Fernandes, JM;

Publicação
26th Iberoamerican Conference on Software Engineering, CIbSE 2023, Montevideo, Uruguay, April 24-28, 2023.

Abstract
Although remote work was already possible and used in some contexts, the COVID-19 pandemic made it normal and, in some situations, even mandatory. This was the case in Portugal and in particular in its software industry. Given this abrupt change in how we work, it became pressing to investigate the impacts of this profound change to remote work, so that we can cope with the potential negative consequences (professional, personal, etc.). Thus, the goal of this work is to study the impact of the referred change to remote work, due to the COVID-19 pandemic, on software professionals in Portugal. To achieve this goal, a survey was prepared and distributed via email, LinkedIn, and Instagram. In total, 176 valid answers were collected from software professionals working in Portugal from 38 different companies. After the performed statistical analysis on the targeted population and focusing on the 10 elaborated research questions, two major findings can be concluded with certainty: (i) having worked in a remote regime before the pandemic period has a strong relationship with a higher frequency of use of teleconference tools after this period, and (ii) participants who do not feel safe about coming back to a fully on-site regime are more likely to prefer a fully remote regime than the ones who feel safe, while the latter group is more likely to prefer a hybrid regime. © 2023 CIbSE 2023 - XXVI Ibero-American Conference on Software Engineering. All rights reserved.

2023

A Backend Platform for Supporting the Reproducibility of Computational Experiments

Autores
Costa, L; Barbosa, S; Cunha, J;

Publicação
CoRR

Abstract

2023

Visually-Assisted Decomposition of Monoliths to Microservices

Autores
Salles, B; Cunha, J;

Publicação
2023 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, VL/HCC

Abstract
The architectural style of microservices has received much attention from both business and academia and converting a monolithic application into a microservice-based one has become a regular practice. However, companies struggle with migrating their existing monolithic applications to microservices and software engineers frequently face challenges due to a lack of awareness of alternative migration methodologies, making the migration process even harder. In this paper, we present a framework to help software engineers during the migration process by addressing gaps in understanding various migration tools and approaches, allowing for easy comparison between multiple options. Our tool combines multiple existing approaches into one platform, allowing a comprehensive visualization of migration proposals and comparing different options offered by already existing approaches.

2023

CI/CD Meets Block-Based Languages

Autores
da Giao, H; Pereira, R; Cunha, J;

Publicação
2023 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, VL/HCC

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.

2023

Towards an IDE for Scientific Computational Experiments

Autores
Costa, L; Barbosa, S; Cunha, J;

Publicação
2023 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, VL/HCC

Abstract
In recent years, the research community has raised serious questions about the replicability and reproducibility of scientific work. In particular, since many studies include some kind of computing work, these are also technological challenges, not only in computer science but in most research domains. Replicability and reproducibility are not easy to achieve, not only because researchers have diverse proficiency in computing technologies, but also because of the variety of computational environments that can be used. Indeed, it is challenging to recreate the same environment using the same frameworks, code, programming languages, dependencies, and so on. In this work, we propose a vision for an Integrated Development Environment allowing the creation, configuration, execution, packaging, and sharing of scientific computational experiments. Such a framework should allow researchers to easily set the code and data used and define the programming languages, code, dependencies, databases, or commands to execute to achieve consistent results for each experiment. With this work, we intend to aid researchers by integrating into the same platform all the stages of the design, execution, and analysis of a computational experiment.

  • 26
  • 256