Biography

I am a Research Associate at the University of Oxford, collaborating with Professor Marta Kwiatkowska on the FUN2MODEL ERC project.

I hold a Ph.D. in Computer Science from Instituto Superior Técnico (IST), Universidade de Lisboa (UL). My Ph.D. was conducted in collaboration with the Czech Technical University (CTU) in Prague, with research hosted at INESC-ID, IST in Lisbon, and CIIRC, CTU in Prague. I had the privilege of being advised by Vasco Manquinho at INESC-ID and Mikoláš Janota at CIIRC. Additionally, I was a Junior Researcher in the Automated Reasoning and Software Reliability (ARSR) group at INESC-ID. For five years, I contributed to teaching as an Invited Teaching Assistant for the Computer Science Department at IST-UL.

My academic background includes a BSc and MSc in Information Systems and Computer Engineering from IST-UL. During the final year of my MSc, I worked as a Research Assistant at Carnegie Mellon University (CMU), collaborating with Ruben Martins. I also gained industry experience as a Research Intern at OutSystems, a leading Portuguese software company.

My work has been recognised with several awards, including the Vencer o Adamastor 2025 prize, which acknowledges innovative contributions by young scientists in Portugal; the ACM SIGSOFT Distinguished Paper Award at ESEC/FSE 2021; and the Excellence in Teaching IST Award in 2021.

Interests

  • Automated Reasoning
  • Automated Verification
  • Program Repair
  • Program Synthesis
  • Formal Methods
  • Artificial Intelligence

Education

  • PhD in Computer Science and Engineering, 2025

    IST, Universidade de Lisboa

  • MSc in Information Systems and Computer Engineering, 2019

    IST, Universidade de Lisboa

  • BSc in Information Systems and Computer Engineering, 2017

    IST, Universidade de Lisboa

Recent Publications

Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization, AAAI 2025

In this paper, we propose a novel approach that combines the strengths of both FM-based fault localization and LLMs, via zero-shot …

InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments, JSS 2025

This paper proposes InvAASTCluster, a novel approach for program clustering that uses dynamically generated program invariants to …

MENTOR: Automated Feedback for Introductory Programming Exercises, PhD Thesis

This PhD thesis presents MENTOR, a semantic automated program repair (APR) framework designed to provide Automated Feedback for …

CFaults: Model-Based Diagnosis for Fault Localization in C with Multiple Test Cases, FM 2024

This paper introduces a novel fault localization approach for C programs with multiple faults. CFaults leverages Model-Based Diagnosis …

C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignments, APR 2024

A C90 Program Benchmark of Introductory Programming Assignments (IPAs), that contains semantically correct, semantically incorrect, and …

Experience

 
 
 
 
 

Research Associate

Department of Computer Science, University of Oxford

Jan 2025 – Present Oxford, UK
I am a Research Associate in the Department of Computer Science at University of Oxford, working with Professor Marta Kwiatkowska on the FUN2MODEL ERC project.
 
 
 
 
 

Ph.D. Candidate

INESC-ID, Instituto Superior Técnico, University of Lisbon

Oct 2020 – Dec 2024 Lisboa, Portugal
I was a Computer Science PhD candidate at IST, advised by Vasco Manquinho and Mikoláš Janota. My research host institutions were INESC-ID, IST in Lisbon and CIIRC, Czech Technical University in Prague.
 
 
 
 
 

Junior Researcher

INESC-ID

Jan 2020 – Sep 2020 Lisboa, Portugal
I was a Junior Researcher at INESC-ID, working under the supervision of Professor Vasco Manquinho and Professor Ruben Martins.
 
 
 
 
 

Research Assistant

Carnegie Mellon University, SCS​

Feb 2019 – May 2019 Pittsburgh, USA
During my MSc program, I had the opportunity to collaborate with Professor Ruben Martins on my thesis. Our primary focus was on a system called SQUARES, which aims to generate SQL queries by utilizing input-output examples. This falls under the domain of Programming-By-Examples, a subfield of computer science. We developed a novel encoding for programs for Enumeration-based Program Synthesis.
 
 
 
 
 

Research Intern

Outsystems

Sep 2018 – Nov 2019 Lisboa, Portugal
During my MSc thesis, I had the privilege of collaborating with OutSystems. My supervisors from OutSystems were Miguel Ventura and Miguel Neves.
 
 
 
 
 

Research Intern

INESC-ID

Sep 2018 – Dec 2019 Lisboa, Portugal
In the final year of my MSc, my thesis was supervised by Professor Vasco Manquinho. We developed a novel SQL synthesizer, SQUARES, capable of generating SQL queries using Query Reverse Engineering (QRE), i.e., from input-output tables. QRE is a subfield of Program Synthesis whose goal is to generate programs that satisfy a given high-level specification.

Awards & Honors

Vencer o Adamastor (VoA) - 3rd Edition

This 20,000€ scientific prize acknowledges innovative contributions by young scientists (<40y) in Portugal across the fields of computing, electrotechnics, and related disciplines.

ACM SIGSOFT Distinguished Paper Award

Excellence in Teaching IST Award

FCT PhD Scholarship

Scholarship to pursue a four-year Ph.D., with research hosted at INESC-ID, IST, U. Lisboa (UL), and CIIRC, Czech Technical University (CTU) in Prague, Czechia.

REN BSc Merit Award

Academic Excellence Diplomas

Research Talks

Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization

LLM-Driven Automated Program Repair Using MaxSAT-based Fault Localization

CFaults: Model-Based Diagnosis for Fault Localization in C with Multiple Test Cases

C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignments

Learning Variable Mappings to Repair and Verify Programs

Learning Variable Mappings to Repair Programs

SQUARES: A SQL Synthesizer Using Query Reverse Engineering