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

2026

Auto-active verification of distributed systems and specification refinements with Why3-do

Autores
Lourenço, CB; Pinto, JS;

Publicação
SCIENCE OF COMPUTER PROGRAMMING

Abstract
In this paper, we introduce a novel approach for rigorously verifying safety properties of state machine specifications. Our method leverages an auto-active verifier and centers around the use of action functions annotated with contracts. These contracts facilitate inductive invariant checking, ensuring correctness during system execution. Our approach is further supported by the Why3-do library, which extends the Why3 tool's capabilities to verify concurrent and distributed algorithms using state machines. Two distinctive features of Why3-do are: (i) it supports specification refinement through refinement mappings, enabling hierarchical reasoning about distributed algorithms; and (ii) it can be easily extended to make verifying specific classes of systems more convenient. In particular, the library contains models allowing for message-passing algorithms to be described with programmed handlers, assuming different network semantics. A gallery of examples, all verified with Why3 using SMT solvers as proof tools, is also described in the paper. It contains several auto-actively verified concurrent and distributed algorithms, including the Paxos consensus algorithm.

2026

ConflictSync: Bandwidth Efficient Synchronization of Divergent State

Autores
Baquero, C; Gomes, PS; Rodrigues, MB;

Publicação
PaPoC@EuroSys

Abstract
State-based Conflict-Free Replicated Data Types (CRDTs) are widely used in distributed systems to ensure high availability without coordination. However, their naive synchronization strategy, transmitting the full state, incurs high communication costs. In this paper, we: (1) propose ConflictSync, a digest-driven synchronization algorithm, which reduces total data transfer by up to 18× compared to full-state transmissions; (2) formulate state-based CRDT synchronization as set reconciliation over irredundant join decompositions; (3) generalize Rateless Set Reconciliation for variable-sized elements, at the cost of an additional communication step; (4) introduce a new generic set reconciliation solution, integrating Bloom Filters with rateless IBLTs; (5) experimentally evaluate the novel synchronization strategies. © 2026 Copyright held by the owner/author(s).

2026

Bounding Byzantine Impact in Open CRDT Systems

Autores
Baquero, C; Maia, F; Dantas, A; Anta, AF; Frey, D; Sánchez, C; Albouy, T;

Publicação
PaPoC@EuroSys

Abstract
Conflict-free Replicated Data Types (CRDTs) enable available and eventually consistent data replication without coordination, making them well suited for open and partition-prone environments. Recent work has shown that CRDTs can be extended to tolerate Byzantine faults by ensuring that replicas eventually agree on the validity of operations, even in permis-sionless settings. However, validity alone does not prevent a Byzantine participant from inflicting unbounded damage by issuing large volumes of adversarial yet well-formed updates. For example, when editing text, an attacker can easily delete prior text. In this paper, we study how to bound the impact of Byzantine behavior in open CRDT systems. We introduce bounded Byzantine CRDTs, a rate-limiting framework for CRDTs in which each update carries an associated cost that limits the influence of adversarial operations relative to the resources they expend. Overall, this work bridges the gap between Byzantine-Tolerant CRDTs and resource-bounded adversarial models, providing a principled foundation for deploying CRDTs in fully open, adversarial environments. © 2026 Copyright held by the owner/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.

2026

Foreword to the special section on recent advances in graphics and interaction (RAGI 2025)

Autores
Alves, T; Campos, JC; Chalmers, A;

Publicação
COMPUTERS & GRAPHICS-UK

Abstract
[No abstract available]

2026

Engineering Methods for HCI and UX in AI-Driven Systems

Autores
Spano, LD; Palanque, P; Martinie, C; Campos, JC; Schmidt, A; Barricelli, BR; ElAgroudy, P; Luyten, K;

Publicação
HUMAN-COMPUTER INTERACTION - INTERACT 2025, PT IV

Abstract
The growing integration of Artificial Intelligence (AI) into interactive systems presents unique challenges and opportunities for Human-Computer Interaction (HCI) and User Experience (UX). While AI can enhance usability and provide novel interaction paradigms, it also raises concerns related to transparency, control, and user trust. This workshop seeks to bring together researchers and practitioners to discuss state-of-the-art engineering methods that support HCI and UX in AI-driven systems. By fostering interdisciplinary collaboration, we aim to identify key challenges, share best practices, and develop a roadmap for future research in this critical area.

  • 1
  • 260