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 João Alexandre Saraiva

2021

Green Software Lab: Towards an Engineering Discipline for Green Software

Autores
Abreu, R; Couto, M; Cruz, L; Cunha, J; Fernandes, JP; Pereira, R; Perez, A; Saraiva, J;

Publicação
CoRR

Abstract

2017

Tabula: A Language to Model Spreadsheet Tables

Autores
Mendes, J; Saraiva, J;

Publicação
CoRR

Abstract

2025

pyZtrategic

Autores
Rodrigues, E; Macedo, JN; Saraiva, J;

Publicação

Abstract

2023

A congestion-based local search for transmission expansion planning problems

Autores
Gomes, PV; de Oliveira, LE; Saraiva, J;

Publicação
Swarm Evol. Comput.

Abstract
Transmission Expansion Planning (TEP) is a challenging task that takes into consideration future representations of electricity consumption behavior and generation capacity/technology. Besides, the investment in new transmission assets is a capital-intensive task, which motivates a clear and well-justified decision-making process. As the most frequent industry practice relies on cost–benefit analysis with the evaluation of individual reinforcements, Metaheuristic Algorithms (MAs) are the most suitable techniques to evaluate candidate projects efficiently. Likewise, the intrinsic features of the problem can be incorporated into these methods taking advantage of the stochastic knowledge, to build more efficient heuristics instead of considering the solver just as a black box. In this way, this paper proposes a congestion-based local search to improve the performance of metaheuristics when solving the TEP problem. The novelty of the method lies in the utilization of the congestion level of the transmission assets to guide the search procedure. Further, this work also presents an up-to-date comparison between five MAs in solving the TEP problem. The experimental experience is conducted using the mentioned MAs in different test systems, and the results confirm that the novel approach is successful in improving the performance of the solution technique while obtaining better solutions in all test cases. © 2023 The Author(s)

2026

“It Makes the Code Clearer”: Why Developers Adopt ModernPython Features in Open Source Projects

Autores
Mendonça, W; Leite, M; Romeiro, O; Carvalho, F; Bonifácio, R; Monteiro, E; Pinto, G; Accioly, P; Saraiva, J;

Publicação

Abstract
Python has become one of the most widely used programming languages, yet the transition fromPython 2 to 3 introduced a tension between innovation and compatibility. While new featuressuch as formatted string literals, type annotations, and structural pattern matching expanded thelanguage’s expressiveness, they also required substantial adaptation of legacy code. Despite theincreasing relevance of these features, there is still limited empirical evidence on how modernPython features are being adopted in practice—when developers start using them, how adoptionunfolds over time, and what motivations drive these decisions. This paper addresses this gapthrough a large-scale empirical study of 424 open-source Python projects. Our analysis revealstwo distinct adoption patterns: rapid adoption of small syntactic improvements and slowerintegration of features that require extensive refactoring or ecosystem support. On average,projects begin using with new features within 16 months after their release but take roughly 4years to achieve broader and sustained adoption. This observation may be partially explainedby the transition from Python 2 to 3, which did not preserve full backward compatibility.Complementary qualitative evidence from pull-request discussions indicates that developers areprimarily motivated to rejuvenate Python code through improvements in comprehension, safety,and performance, yet often constrained by compatibility requirements and maintenance costs.Together, these findings offer practical insights for tool developers and maintainers seeking tobalance innovation and stability in the ongoing rejuvenation of Python source code.

  • 28
  • 28