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
Publications

Publications by João Alexandre Saraiva

2021

Green Software Lab: Towards an Engineering Discipline for Green Software

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

Publication
CoRR

Abstract

2017

Tabula: A Language to Model Spreadsheet Tables

Authors
Mendes, J; Saraiva, J;

Publication
CoRR

Abstract

2025

pyZtrategic

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

Publication

Abstract

2023

A congestion-based local search for transmission expansion planning problems

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

Publication
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

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

Publication

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