Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
About

About

Currently, I'm an Associate Professor at the Faculty of Engineering at University of Porto and an integrated member of the research center HASLab/INESC TEC. My research is mainly focused on aiding end users being more effective and efficient when developing their software systems. In particular, I've made several contributions to improve the effectiveness and efficiency of spreadsheet users/developers. More recently I've also worked on improving software energy consumption through the analysis and transformation of its source code. Currently I'm focused on making data science more accessible for (end) users. Moreover, I'm also studying how to improve the development of software applications based on the microservices architectural style. I obtained my PhD degree in Computer Science from the University of Minho in 2011. Afterward, I was a postdoctoral fellow jointly at University of Minho and Oregon State University, and was also an Invited Professor at School of Management and Technology of Polytechnic Institute of Porto, Assistant Professor at NOVA University of Lisbon and Assistant Professor at University of Minho.

Interest
Topics
Details

Details

  • Name

    Jácome Costa Cunha
  • Role

    Researcher
  • Since

    01st November 2011
Publications

2023

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

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

Publication
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

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

Publication
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

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

Publication
CoRR

Abstract

2023

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

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

Publication
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

Authors
Salles, B; Cunha, J;

Publication
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.

Supervised
thesis

2022

Data-driven Traffic Generation Model for Digital Twins of Wireless Networks

Author
Catarina Mouro de Sousa

Institution
UP-FEUP

2022

Aiding Researchers Making their Computational Experiments Reproducible

Author
Lázaro Gabriel Barros da Costa

Institution
UP-FEUP

2018

Multi-Value Distributed Key-Value Stores

Author
Ricardo Jorge Tomé Gonçalves

Institution
UM

2018

Design, Implementation and Evaluation of Model-Driven Spreadsheets

Author
Jorge Cunha Mendes

Institution
UM

2018

Altitude Control of an Underwatervehicle Based on Computer Vision

Author
Pedro Miguel Flores Rodrigues

Institution
UP-FEUP