Alcides Fonseca

40.197958, -8.408312

Research Ideas for Students

These ideas are written towards a MSc thesis in the 2023-24 school year. If you want to contribute in another context, reach out to me.

Editor Support for Energy Consumption Feedback

Programmers have no idea of the energy consumption of their programs while developing, only when benchmarking for energy consumption. The goal for this thesis is to develop a Visual Studio Plugin that shows the estimation of the energy consumption of a function as the user writes it. This way, developers have immediate feedback regarding the energy consumption impact of their design choices.

Requirements:

  • Advanced experience in programming systems.
  • Knowledge of Compilers.
  • Typescript is a bonus.

This thesis is part of the Resource Aware Programming project.

Microservice Decompositions that Minimize Conflicts among Transactions

When converting monoliths to microservices, it is not clear what the boundary of services are. Based on a tool that identifies potential conflicts in microservice-based transactions, you will create a tool that generates microservice decompositions, and sorts them by the ones with the least number of conflicts.

Requirements:

  • Knowledge of Microservices
  • Knowledge of Parsers and Compilers

This thesis is part of the DACOMICO project.

COSTS – Predicting the Cost of Machine Learning Pipelines

Data Scientists at Feedzai are concerned with designing features that will improve the quality of fraud detection. However, some of the new features they devise for their Machine Learning pipelines are most costly than others. It is important to provide feedback about the cost (in terms of latency and cloud usage) of the new changes to pipelines.

Requirements:

  • Basic Knowledge of Machine Learning
  • Knowledge of Compilers

This thesis is part of a new project, in partnership with Feedzai.

Verifying Machine Learning PIpelines

Data Scientists often make mistakes, either due to distraction or to not understanding the inner working of algorithms, that go undetected to production, underperforming, or being incorrectly applied. This thesis will focus on the detection of real-world bugs in machine learning pipelines, using static analysis techniques developed by our group.

Requirements:

  • Basic Knowledge of Machine Learning
  • Knowledge of Design by Contract or Certified Programming