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
Tópicos
de interesse
Detalhes

Detalhes

  • Nome

    Jácome Costa Cunha
  • Cargo

    Investigador
  • Desde

    01 novembro 2011
Publicações

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

Paint Your Programs Green: On the Energy Efficiency of Data Structures

Autores
Pereira, R; Couto, M; Cunha, J; Melfe, G; Saraiva, J; Fernandes, JP;

Publicação
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Abstract
This tutorial aims to provide knowledge on a different facet of efficiency in data structures: energy efficiency. As many recent studies have shown, the main roadblock in regards to energy efficient software development are the misconceptions and heavy lack of support and knowledge, for energy-aware development, that programmers have. Thus, this tutorial aims at helping provide programmers more knowledge pertaining to the energy efficiency of data structures. We conducted two in-depth studies to analyze the performance and energy efficiency of various data structures from popular programming languages: Haskell and Java. The results show that within the Haskell programming language, the correlation between performance and energy consumption is statistically almost identical, while there are cases with more variation within the Java language. We have presented which data structures are more efficient for common operations, such as inserting and removing elements or iterating over the data structure. The results from our studies can help support developers in better understanding such differences within data structures, allowing them to carefully choose the most adequate implementation based on their requirements and goals. We believe that such results will help further close the gap when discussing the lack of knowledge in energy efficient software development. © 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.

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.

Teses
supervisionadas

2022

Refactoring Java Monoliths into Executable Microservice-Based Applications

Autor
Francisco José Oliveira Freitas

Instituição
UM

2022

Characterizing Data Scientists in the Real World

Autor
Paula Sofia da Cunha Pereira

Instituição
UM

2022

Comparação de plataformas low-code

Autor
Mariana Gonçalves Marques

Instituição
UM

2022

Aiding Researchers Making their Computational Experiments Reproducible

Autor
Lázaro Gabriel Barros da Costa

Instituição
UP-FEUP

2022

Spectrum-Based Fault Localization for Microservices via Log Analysis

Autor
João Miguel Ribeiro de Castro Silva Martins

Instituição
UP-FEUP