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
  • Cluster

    Computer Science
  • Role

    External Research Collaborator
  • Since

    01st October 2011
Publications

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.

2017

Engineering Software for the Cloud: Messaging Systems and Logging

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

Publication
Proceedings of the 22nd European Conference on Pattern Languages of Programs, EuroPLoP 2017, Irsee, Germany, July 12-16, 2017

Abstract
Software business continues to expand globally, highly motivated by the reachability of the Internet and possibilities of Cloud Computing. While widely adopted, development for the cloud has some intrinsic properties to it, making it complex to any newcomer. This research is capturing those intricacies using a pattern catalog, with this paper contributing with three of those patterns: Messaging System, a message bus for abstracting service placement in a cluster and orchestrating messages between multiple services; Preemptive Logging, a design principle where services and servers continuously output relevant information to log files, making them available for later debugging failures; and Log Aggregation, a technique to aggregate logs from multiple services and servers in a centralized location, which indexes and provides them in a queryable, user friendly format. These patterns are useful for anyone designing software for the cloud, either to guide or validate their design decisions. © 2017 Copyright is held by the owner/author(s).

2014

A testing and certification methodology for an open Ambient-Assisted Living ecosystem

Authors
Faria, JP; Lima, B; Sousa, TB; Martins, A;

Publication
International Journal of E-Health and Medical Communications

Abstract
To cope with the needs raised by the demographic changes in our society, several Ambient-Assisted Living (AAL) technologies have emerged in recent years, but those 'first offers' are often monolithic, incompatible and thus expensive and potentially not sustainable. The AAL4ALL project aims at improving that situation through the development of an open ecosystem of interoperable AAL components (products and services), tied together by an integration infrastructure, comprising a message-queue based service bus and gateways bridging the communication with devices. To that end, the project encompasses the specification of interfaces and requirements for interoperable components, against which candidates can be tested and certified before entering the ecosystem. This paper proposes a testing and certification methodology for such an ecosystem. Besides fulfilling specified pre-requisites, candidate components must pass unit tests that check their conformance with interface specifications and integration tests that check their semantic interoperability with other components in specified orchestration scenarios. Copyright © 2014, IGI Global.

2014

Collaborative Web Platform for UNIX-Based Big Data Processing

Authors
Castro, O; Ferreira, HS; Sousa, TB;

Publication
COOPERATIVE DESIGN, VISUALIZATION, AND ENGINEERING, CDVE 2014

Abstract
UNIX-based operative systems were always empowered by scriptable shell interfaces, with a core set of powerful tools to perform manipulation over files and data streams. However those tools can be difficult to manage at the hands of a non-expert programmer. This paper proposes the creation of a Collaborative Web Platform to easily create workflows using common UNIX command line tools for processing Big Data through a collaborative web GUI.

2013

A testing and certification methodology for an Ambient-Assisted Living ecosystem

Authors
Faria, JP; Lima, B; Sousa, TB; Martins, A;

Publication
2013 IEEE 15th International Conference on e-Health Networking, Applications and Services, Healthcom 2013

Abstract
To cope with the needs raised by the demographic changes in our society, several Ambient-Assisted Living (AAL) technologies have emerged in recent years, but those 'first offers' are often monolithic, incompatible and thus expensive and potentially not sustainable. The AAL4ALL project aims at improving that situation through the development of an open ecosystem of interoperable products and services for AAL, tied together via an integration infrastructure. To that end, the project encompasses the specification of a set of reference models and requirements for interoperable products and services, against which candidate products and services can be tested and certified, and subsequently integrated as components of the ecosystem. This paper proposes a testing and certification methodology for such an ecosystem. © 2013 IEEE.