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

Tiago is an invited professor at the Faculty of Engineering University of Porto (FEUP), teaching and researching software engineering, mainly focusing on web development, software processes, and tools. He holds a Ph.D. (Cum Laude) in Software Engineering from FEUP as part of his research on architectures for efficient cloud computing.


In the industry, Tiago leads product development at Kevel, a US company helping brands optimize their digital marketing initiatives in a data-conscious way. He arrived at this position after the acquisition of ShiftForward by Velocidi in 2018 and Kevel in 2022. 


Furthermore, Tiago is an external researcher at INESC-TEC, where he has previously held several full-time research grants. He organized several editions of the EuroPLoP conference and is a Hillside Europe non-profit organization board member. 


Interest
Topics
Details

Details

  • Name

    Tiago Boldt Sousa
  • Role

    External Research Collaborator
  • Since

    01st October 2011
Publications

2025

A Survey on the State of the Art of Causally Consistent Cloud Systems

Authors
Freitas, D; Degrandis, P; Sousa, TB;

Publication
ACM COMPUTING SURVEYS

Abstract
In geo-replicated distributed systems, data is redundantly stored across nodes at different geographical sites, increasing fault tolerance and ensuring low access latency by placing data closer to the end user. With data being concurrently updated across sites, replicas should converge to a consistent view of the data, which leads toward adopting fine-tuned consistency models, namely causal consistency (CC). On the one hand, CC respects the causality between operations, resulting in intuitive outcomes for end users and programmers. On the other hand, it avoids the latency penalty of stronger consistency models and bypasses their availability constraints in the presence of network partitions. Furthermore, when coupled with read-only transactions (ROTs) capable of extracting a unified view of the data, CC avoids the anomalies of weaker consistency models. ROTs, however, cause additional coordination overhead compared to non-transactional reads. This overhead is particularly unwelcome considering the prevalence of read operations in real-world applications, and hence the impact of ROTs on the overall performance of read-heavy systems. With this in mind, there has been a growing effort to optimize the latency and throughput of causally consistent ROTs and to understand how the design of existing systems impacts their performance. In light of these recent developments, the present work surveys the state-of-the-art of causally consistent distributed systems, summarizing and comparing their core characteristics and tradeoffs and examining how their design decisions impact the performance of ROTs. To this end, it first defines some key concepts and presents two impossibility results concerning the properties of ROT algorithms. It then reviews several causally consistent systems with ROT support by identifying their recurring strategies to ensure causality and summarizing each of their designs and properties, stressing their implications on the performance of ROTs. It also surveys two architectural approaches to CC, which present progress toward a standard implementation for causally consistent systems. Finally, it discusses the open challenges identified in the literature.

2022

A Survey on the Adoption of Patterns for Engineering Software for the Cloud

Authors
Sousa, TB; Ferreira, HS; Correia, FF;

Publication
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING

Abstract
This work takes as a starting point a collection of patterns for engineering software for the cloud and tries to find how they are regarded and adopted by professionals. Existing literature assesses the adoption of cloud computing with a focus on business and technological aspects and falls short in grasping a holistic view of the underlying approaches. Other authors delve into how independent patterns can be discovered (mined) and verified, but do not provide insights on their adoption. We investigate (1) the relevance of the patterns for professional software developers, (2) the extent to which product and company characteristics influence their adoption, and (3) how adopting some patterns might correlate with the likelihood of adopting others. For this purpose, we survey practitioners using an online questionnaire (n = 102). Among other findings, we conclude that most companies use these patterns, with the overwhelming majority (97 percent) using at least one. We observe that the mean pattern adoption tends to increase as companies mature, namely when varying the product operation complexity, active monthly users, and company size. Finally, we search for correlations in the adoption of specific patterns and attempt to infer causation, providing further clues on how some practices depend or influence the adoption of others. We conclude that the adoption of some practices correlates with specific company and product characteristics, and find relationships between the patterns that were not covered by the original pattern language and which might deserve further investigation.

2022

Preface

Authors
Sousa T.B.;

Publication
ACM International Conference Proceeding Series

Abstract

2022

Customer Data Platforms: A Pattern Language for Digital Marketing Optimization with First-Party Data

Authors
Boldt Sousa, T;

Publication
ACM International Conference Proceeding Series

Abstract
The internet is used by the majority of the world's population. Many of its contents are free for consumers, supported by digital marketing investment. The current large online population can render digital marketing campaigns inefficient for brands buying ads if the right message is not reaching the right audience. Customer Data Platforms (CDPs) enables brands to collect first-party data about their customers and leverage it to reach the right audience, without sharing private customer data with third parties. This paper documents how CDPs work, by detailing their main components as patterns and relating them as a pattern language. The language is composed of five patterns: Event Tracking, ID Matching, User Profile Storage, Segmentation, and Activation. The pattern language can be used by marketeers and engineers in digital marketing as an introduction or reference to how CDPs are designed and work. © 2022 ACM.

2021

Preface

Authors
Boldt T.;

Publication
ACM International Conference Proceeding Series

Abstract