Bio

I am a MSCA COFUND Postdoctoral Fellow at the Artificial Intelligence Research Centre (IIIA), Spanish National Research Council (CSIC), collaborating with Felip Manyà at IIIA-CSIC and Guillem Alenyà at IRI-CSIC-UPC on the ALLIES project.

Before joining IIIA-CSIC, I was a Postdoctoral Research Associate at the University of Oxford, collaborating with 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), completed as part of a European Doctorate Programme in collaboration with the Czech Technical University (CTU) in Prague, Czechia. I had the privilege of being advised by Vasco Manquinho and Mikoláš Janota, with research hosted at INESC-ID, IST in Lisbon, and CIIRC, CTU in Prague.

During the final year of my MSc in Computer Science, 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.

I am the proud recipient of the some 🏆 awards and grants 🏆, including the Vencer o Adamastor 2025 prize, which acknowledges innovative contributions by young scientists in Portugal; and the ACM SIGSOFT Distinguished Paper Award at ESEC/FSE 2021.

📧 You can reach me at pmorvalho (AT) gmail.com! 📧

Education

PhD in Computer Science

Instituto Superior Técnico, Universidade de Lisboa, in collaboration with the Czech Technical University (CTU) in Prague

MSc in Computer Science and Engineering

Instituto Superior Técnico, Universidade de Lisboa

BSc in Computer Science and Engineering

Instituto Superior Técnico, Universidade de Lisboa

Research Interests

Artificial Intelligence Automated Reasoning Formal Methods Automated Program Repair Automated Verification Computer-aided Education Machine Learning Model-Based Diagnosis Program Synthesis Sofware Engineering
Recent News
👨‍💻 My Research 🕵️‍♂️

My research explores the synergy between Automated Reasoning (AR) and Machine Learning (ML), focusing on enhancing the robustness and reliability of ML Models (e.g., Large Language Models), across diverse reasoning tasks, including but not limited to code understanding.

By integrating the mathematical rigor and precision of formal methods with the scalability and adaptability of machine learning, I strive to develop AI systems that are both reliable and efficient, tackling critical challenges at the frontier of trustworthy AI.

I am always excited to explore new ideas together! 📧 Feel free to get in touch 📧 if you are interested in collaborating! 😃

Featured Publications
InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignments featured image

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

This paper proposes InvAASTCluster, a novel approach for program clustering that uses dynamically generated program invariants to cluster semantically equivalent IPAs.

avatar
Pedro Orvalho
Read more
Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization featured image

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

In this paper, we propose a novel approach that combines the strengths of both FM-based fault localization and LLMs, via zero-shot learning, to enhance APR for IPAs. Our method …

avatar
Pedro Orvalho
Read more
GitSEED: A Git-backed Automated Assessment Tool for Software Engineering and Programming Education featured image

GitSEED: A Git-backed Automated Assessment Tool for Software Engineering and Programming Education

This paper introduces GitSEED, a language-agnostic automated assessment tool designed for Programming Education and Software Engineering (SE) and backed by GitLab.

avatar
Pedro Orvalho
Read more
Recent Publications
Recent & Upcoming Talks

From Logic to Learning: Rethinking Programming for the AI Era

In this talk, I will present approaches that leverage the precision of formal logic and the adaptability of learning-based models to enable intelligent code generation, automated program analysis, and personalized, feedback-driven programming education.