Research Topics

My research explores Neuro-symbolic AI, focusing on the synergy between Automated Reasoning (AR) and Machine Learning (ML) to enhance the robustness and reliability of ML models, including Large Language Models and Vision–Language Models.
I investigate these challenges across diverse reasoning tasks, with applications including logical reasoning, code understanding, and AI for Software Engineering (AI4SE).
Below is a selection of research topics I have explored over the years.

Sherlock4Py featured image

Sherlock4Py

🔎🐛 Sherlock4Py 🐍 MaxSAT-Based Misbehaviour Verification and Localisation Framework for Python Sherlock4Py is a research project investigating how formal reasoning and Large …

avatar
Pedro Orvalho
Neuro-Symbolic AI for Reliable Reasoning featured image

Neuro-Symbolic AI for Reliable Reasoning

Modern foundation models, including Large Language Models (LLMs) and Vision-Language Models (VLMs), have remarkable capabilities for understanding natural language, code, and …

avatar
Pedro Orvalho
Artificial Intelligence for Reliable Code featured image

Artificial Intelligence for Reliable Code

Understanding the reasoning and robustness of AI systems, such as Large Language Models (LLMs), is critical for ensuring their reliable use in programming tasks. While recent …

avatar
Pedro Orvalho
Model-Based Diagnosis for Software featured image

Model-Based Diagnosis for Software

Localising system faults has long been recognised as one of the most time-consuming and costly tasks in software engineering. Given a buggy system, fault localisation (FL) refers …

avatar
Pedro Orvalho
Artificial Intelligence for CS Education featured image

Artificial Intelligence for CS Education

Empowering the next generation of programmers requires intelligent systems that not only evaluate code but also teach, guide, and inspire. This research explores how Artificial …

avatar
Pedro Orvalho
Automated Assessment Tools for Programming Education featured image

Automated Assessment Tools for Programming Education

Delivering personalised, scalable feedback to students in large programming courses remains one of the most persistent challenges in Computer Science and Software Engineering …

avatar
Pedro Orvalho
Automated Feedback for Introductory Programming Exercises featured image

Automated Feedback for Introductory Programming Exercises

Delivering valuable and personalised feedback to students remains one of the greatest challenges in programming education, particularly in courses with large enrollments. Providing …

avatar
Pedro Orvalho
User partitioning for Maximum Satisfiability featured image

User partitioning for Maximum Satisfiability

The Maximum Satisfiability (MaxSAT) problem is the optimisation variant of the Satisfiability (SAT) problem. Solving MaxSAT efficiently often involves partitioning the set of soft …

avatar
Pedro Orvalho
Query Reverse Engineering featured image

Query Reverse Engineering

Many data analysts are domain experts but lack programming expertise. While they can describe what transformation they want to perform, they often struggle to express it in a query …

avatar
Pedro Orvalho