Ongoing PhD Students

André Rijo (co-supervision with Nuno Preguiça)
Partial replication in geo-replicated databases (since 2019)

Ana Catarina Ribeiro
Automated black-box testing techniques for RESTful APIs (since 2021)

Dina Borrego (co-supervision with Elisa Gonzalez Boix and Nuno Preguiça)
Verification techniques for partitioned databases (since 2023)

Ongoing MSc Students (probably outdated)

Bárbara Lopes
Feature toggling with built-in abstraction in OutSystems


Joana Parreira (co-supervision with João Costa Seco)
Meta-representation of enterprise data-centric applications


João Figueira
Static verification technique for CRDTs in Rust


Sara Simões (co-supervision with Nuno Preguiça)
Sistema para teste de aplicações distribuídas


Tomás Silva (co-supervision with André Pedro)
Monitoring of spatio-temporal properties


Concluded PhD Students

Anne Kersten Kauer (co-supervision with Roberto Bruni)
Formal specification, verification and analysis of long-running transactions (2013)

Cátia Raquel de Jesus Vaz
A formal approach to long running transactions (2010)

Carlos Alberto Lourenço dos Santos (co-supervision with José Tribolet)
Modelo conceptual para auditoria organizacional contínua com análise em tempo real (2007)

Concluded MSc Students

Ana Catarina Ribeiro: Invariant‐driven automated testing (2020)

Gualter Parada: Inferring likely data invariants (2020)

Nuno Gomes: A semantic consistency model to reduce coordination in replicated systems (2020)

Alexandre Jacinto: Test mocks for low‐code applications (2020)

Filipe Meirim: Static Verification of Cloud Applications with Why3 (2019)

Francisco Cunha: Optimizing service orchestration in OutSystems (2019)

Miguel Loureiro: Security reports for OutSystems factories (2019)

José Pedro Soares (co-supervision with Valter Balegas)
Microservices framework for data consistency (2019)


André Rijo (co-supervision with Nuno Preguiça)
Building custom Replicated Data Types (2018)


Paulo Figueira (co-supervision with João Costa Seco)
Automatic test generation for embedded systems (2018)


Miguel Ramos Duque: Specification of a partial replication protocol with TLA+ (2015)

Miguel Aires Teixeira: Transactional memory scheduler with irrevocable support and selective rollback (2015)

Diogo Sousa (co-supervision with João Lourenço)
Preventing atomicity violations with contracts (2013)


Paulo Ferreira (co-supervision with João Costa Seco)
Information flow analysis using data-dependent logical propositions (2012)


Ana Ferreira: Refinamento de diagramas de classes: análise e verificação em Alloy (2010)

Rui Costa: Mecanismos de recuperação para serviços Web (2010)

Maria de Fátima Reis: Verificação de protocolos de e-voting (2009)

Eunice Lee da Silva
Verificação de coerência de diagramas UML com Alloy (2009)

Hermínio Miguel Sanches: Um perfil UML 2.0 para modelação de processos de negócio (2008)

Miguel Brazia Santos
Estudo comparativo de métodos de verificação de uma urgência hospitalar (2007)