🎉 🕵️♂️ Recipient of a MSCA COFUND Postdoctoral Fellowship @ CSIC! 🕵️♂️ 🎉
I am very happy to share that I have been selected for a MSCA COFUND Postdoctoral Fellowship @ CSIC, Barcelona, Spain. 🎉
(he/him)
MSCA COFUND Postdoctoral Fellow
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! 📧
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
I am very happy to share that I have been selected for a MSCA COFUND Postdoctoral Fellowship @ CSIC, Barcelona, Spain. 🎉
I am very happy to share that our paper on program clustering has been accepted at the JSS December 2025!! 🎉
I am thrilled to share that I was the recipient of the Vencer o Adamastor 2025 prize, which acknowledges innovative contributions by young scientists in Portugal. 🎉 🎉
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! 😃
This paper proposes InvAASTCluster, a novel approach for program clustering that uses dynamically generated program invariants to cluster semantically equivalent IPAs.
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 …
This paper introduces GitSEED, a language-agnostic automated assessment tool designed for Programming Education and Software Engineering (SE) and backed by GitLab.
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.
In this talk I will present a hybrid method to automated repair of C code, using Maximum Satisfiability (MaxSAT)-based fault localization, CFaults, to localize bugs and LLMs to replace the faulty code via a counterexample-guided loop.
In this talk, I will present our evaluation on whether state-of-the-art LLMs with up to 8B parameters can reason about Python programs or are simply guessing.