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

I am a Ph.D. in Computer Science in the MAP-i Doctoral Programme at the Universities of Minho, Aveiro and Porto. I hold a degree in Informatics and Computation Engineering from the Faculty of Engineering of the University of Porto. Member of the Software Engineering Group, FEUP. I teach as an Assistant Professor at FEUP/DEI. I'm also a member of the Hillside Group.

Interest
Topics
Details

Details

  • Name

    Hugo Sereno Ferreira
  • Since

    01st January 2009
001
Publications

2023

SIMoT: A Low-fidelity Orchestrator Simulator for Task Allocation in IoT Devices

Authors
Fragoso, T; Silva, D; Dias, JP; Restivo, A; Ferreira, HS;

Publication
2023 53RD ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS WORKSHOPS, DSN-W

Abstract
Performing experiments with Internet-of-Things edge devices is not always a trivial task, as large physical testbeds or complex simulators are often needed, leading to low reproducibility and several difficulties in crafting complex scenarios and tweaking parameters. Most available simulators try to simulate as close to reality as possible. While we agree that this kind of high-fidelity simulation might be necessary for some scenarios, we argue that a low-fidelity easy-to-change simulator may be a good solution when rapid prototyping orchestration strategies and algorithms. In this work, we introduce SIMoT, a low-fidelity orchestrator simulator created to achieve shorter feedback loops when testing different orchestration strategies for task allocation in edge devices. We then transferred the simulator-validated algorithms to both physical and virtual testbeds, where it was possible to assert that the simulator results correlate strongly with the observations on those testbeds.

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

Designing and constructing internet-of-Things systems: An overview of the ecosystem

Authors
Dias, JP; Restivo, A; Ferreira, HS;

Publication
INTERNET OF THINGS

Abstract
The current complexity of IoT systems and devices is a barrier to reach a healthy ecosystem, mainly due to technological fragmentation and inherent heterogeneity. Meanwhile, the field has scarcely adopted any engineering practices currently employed in other types of large-scale systems. Although many researchers and practitioners are aware of the current state of affairs and strive to address these problems, compromises have been hard to reach, making them settle for sub-optimal solutions. This paper surveys the current state of the art in designing and constructing IoT systems from the software engineering perspective, without overlooking hardware concerns, revealing current trends and research directions.

2022

Evaluation of IoT Self-healing Mechanisms using Fault-Injection in Message Brokers

Authors
Duarte, M; Dias, JP; Ferreira, HS; Restivo, A;

Publication
2022 IEEE/ACM 4TH INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING RESEARCH AND PRACTICES FOR THE IOT (SERP4IOT 2022)

Abstract
The widespread use of Internet-of-Things (IoT) across different application domains leads to an increased concern regarding their dependability, especially as the number of potentially mission-critical systems becomes considerable. Fault-tolerance has been used to reduce the impact of faults in systems, and their adoption in IoT is becoming a necessity. This work focuses on how to exercise fault-tolerance mechanisms by deliberately provoking its malfunction. We start by describing a proof-of-concept fault-injection add-on to a commonly used publish/subscribe broker. We then present several experiments mimicking real-world IoT scenarios, focusing on injecting faults in systems with (and without) active self-healing mechanisms and comparing their behavior to the baseline without faults. We observe evidence that fault-injection can be used to (a) exercise in-place fault-tolerance apparatus, and (b) detect when these mechanisms are not performing nominally, providing insights into enhancing in-place fault-tolerance techniques.

2021

Automatically Generating Websites from Hand-drawn Mockups

Authors
Ferreira, JS; Restivo, A; Ferreira, HS;

Publication
VISAPP: PROCEEDINGS OF THE 16TH INTERNATIONAL JOINT CONFERENCE ON COMPUTER VISION, IMAGING AND COMPUTER GRAPHICS THEORY AND APPLICATIONS - VOL. 5: VISAPP

Abstract
Designers often use physical hand-drawn mockups to convey their ideas to stakeholders. Unfortunately, these sketches do not depict the exact final look and feel of web pages, and communication errors will often occur, resulting in prototypes that do not reflect the stakeholder's vision. Multiple suggestions exist to tackle this problem, mainly in the translation of visual mockups to prototypes. Some authors propose end-to-end solutions by directly generating the final code from a single (black-box) Deep Neural Network. Others propose the use of object detectors, providing more control over the acquired elements but missing out on the mockup's layout. Our approach provides a real-time solution that explores: (1) how to achieve a large variety of sketches that would look indistinguishable from something a human would draw, (2) a pipeline that clearly separates the different responsibilities of extracting and constructing the hierarchical structure of a web mockup, (3) a methodology to segment and extract containers from mockups, (4) the usage of in-sketch annotations to provide more flexibility and control over the generated artifacts, and (5) an assessment of the synthetic dataset impact in the ability to recognize diagrams actually drawn by humans. We start by presenting an algorithm that is capable of generating synthetic mockups. We trained our model (N=8400, Epochs=400) and subsequently fine-tuned it (N=74, Epochs=100) using real human-made diagrams. We accomplished a mAP of 95.37%, with 90% of the tests taking less than 430ms on modest commodity hardware (approximate to 2.3fps). We further provide an ablation study with well-known object detectors to evaluate the synthetic dataset in isolation, showing that the generator achieves a mAP score of 95%, approximate to 1.5 x higher than training using hand-drawn mockups alone.

Supervised
thesis

2022

Assessing IoT self healing limits using PBT driven chaos-engineering

Author
Guilherme José Ferreira do Couto Fonseca da Silva

Institution
UP-FEUP

2022

Automatic generation of program executions

Author
José Nuno Castro de Macedo

Institution
UM

2022

MLKit Text Recognition Evaluation

Author
Matheus Pereira Gonçalves

Institution
UP-FEUP

2022

Desenvolvimento de uma plataforma IoT para a gestão eficiente do consumo de água

Author
RUI PEDRO MARQUES NUNES

Institution
IPP-ISEP

2022

Towards ‘Just Good Enough’ Quantum Programming

Author
Ana Isabel Carvalho Neri

Institution
UM