???global.info.a_carregar???
My research interests are centered on software reliability, encompassing both empirical and formal methods applied to software engineering. I am an Associate Professor at the Faculty of Engineering (FEUP), University of Porto, and a researcher at INESC-ID, where I am also the Coordinator of the research area Automated Reasoning and Software Reliability. I was recently awarded a prestigious Amazon Research Award on Automated Reasoning and I am currently the Principal Investigator of the funded project SafeIaC, a project focused on improving the reliability of Infrastructure as Code. I was the Executive Coordinator of the scientific area of Programming Methodology and Technology of the Department of Computer Science and Engineering in 2023 and 2024. From September 2024 to February 2025, I was the Coordinator of the BSc in Computer Science and Engineering at Instituto Superior Técnico. I worked in the UK Higher Education (HE) for 12 years. I moved to Portugal in 2018 as an Assistant Professor at IST/ULisboa and I was promoted to Associate Professor in 2023. In 2025, I moved as an Associate Professor to the Faculty of Engineering, University of Porto. In the UK, I was at Teesside University from 2011 to 2018. I was a Principal Lecturer of Research and Innovation from 2017 to 2018 (equivalent to Associate Professor but with a substantial part of the job dedicated to research administration, such as preparing the Department’s UK REF submission). From 2011 to 2017 I was a Senior Lecturer. Just before that, from February to October 2011, I was a Postdoctoral Research Associate in Computer Science. From 2006 to 2011, I was at The University of Nottingham. In the academic year 2009/2010, whilst still a PhD student, I was hired as Lecturer in Computer Science (Fixed term) to teach the first-year module Algorithmic Problem Solving. From 2006 and 2011, I was a Teaching Assistant in the modules Mathematics for Computer Scientists and Algorithmic Problem Solving. I have a Ph.D. in Computer Science from The University of Nottingham (UK, 2011), and a 5-year BSc in Mathematics and Computer Science from University of Minho (Portugal, 2005). I also earned a Postgraduate Certificate in Education in Learning and Teaching in Higher Education from Teesside University (UK, 2013). This degree allowed me to become a Fellow of the Higher Education Academy, in recognition of attainment against the UK Professional Standards Framework for teaching and learning support in Higher Education. This title can only be given to higher-education academics who demonstrate commitment to teaching, learning and the student experience, through engagement in a practical process that encourages research, reflection and development. I am a member of the, by invitation only, Formal Methods Teaching Committee (https://fme-teaching.github.io) and a Fellow of The Higher Education Academy, UK (https://www.advance-he.ac.uk/fellowship). In 2014 I provided consultancy services to Applied Integration UK, assessing the company’s software development and software testing methodologies and suggested improvements. This led to a Knowledge Transfer Partnership, supported by Innovate UK. The KTP was later evaluated as Outstanding.
Identification

Personal identification

Full name
João Ferreira

Citation names

  • Ferreira, João
  • João F. Ferreira

Author identifiers

Ciência ID
771E-6592-C2AB
ORCID iD
0000-0002-6612-9013

Websites

Knowledge fields

  • Exact Sciences - Computer and Information Sciences - Computer Sciences

Languages

Language Speaking Reading Writing Listening Peer-review
Portuguese (Mother tongue)
English Proficiency (C2) Proficiency (C2) Proficiency (C2) Proficiency (C2) Proficiency (C2)
French Upper intermediate (B2) Advanced (C1) Upper intermediate (B2) Advanced (C1) Upper intermediate (B2)
Spanish; Castilian Upper intermediate (B2) Advanced (C1) Upper intermediate (B2) Advanced (C1) Upper intermediate (B2)
Education
Degree Classification
2013
Concluded
Postgraduate Certificate in Education in Learning and Teaching in Higher Education (Pós-Graduação)
Teesside University, United Kingdom
2011/07/13
Concluded
PhD in Computer Science (Doctor of Philosophy)
University of Nottingham, United Kingdom
"Principles and Applications of Algorithmic Problem Solving" (THESIS/DISSERTATION)
2005
Concluded
Licenciatura in Mathematics and Computer Science (Licenciatura)
Universidade do Minho, Portugal
Affiliation

Science

Category
Host institution
Employer
2011/02 - 2011/10 Postdoc (Research) Teesside University, United Kingdom
Teesside University, United Kingdom

Teaching in Higher Education

Category
Host institution
Employer
2025/09/01 - Current Associate Professor (University Teacher) Universidade do Porto Faculdade de Engenharia, Portugal
2023/09/01 - 2025/08/31 Associate Professor (University Teacher) Universidade de Lisboa Instituto Superior Técnico, Portugal
2018/09/01 - 2023/08/31 Assistant Professor (University Teacher) Universidade de Lisboa Instituto Superior Técnico, Portugal
2017 - 2018 Associate Professor (University Teacher) Teesside University, United Kingdom
Teesside University School of Computing, United Kingdom
2011 - 2017 Assistant Professor (University Teacher) Teesside University, United Kingdom
Teesside University, United Kingdom
2009 - 2010 Invited Assistant Professor (University Teacher) University of Nottingham, United Kingdom
University of Nottingham, United Kingdom
Projects

Grant

Designation Funders
2006 - 2010 Principles and Applications of Algorithmic Problem Solving
SFRH/BD/24269/2005
PhD Student Fellow
Fundação para a Ciência e a Tecnologia
Concluded

Contract

Designation Funders
2025/07/01 - 2028/06/30 SafeIaC: Reliable Analysis and Automated Repair for Infrastructure as Code
2023.18089.ICDT
Principal investigator
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal

Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Fundação para a Ciência e a Tecnologia
Ongoing
2025/02/17 - 2026/08/16 VeriFixer: Automated Repair for Verification-Aware Programming Languages
2023.15557.PEX
Researcher
Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal

Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal
Fundação para a Ciência e a Tecnologia
Ongoing
2025/03/01 - 2026/01/31 InfraGov: A Public Framework for Reliable and Secure IT Infrastructure
2024.07411.IACDC
Principal investigator
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal

Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciência, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2025/03/01 - 2026/01/31 OptiGov: Leveraging AI for Process Efficiency in Public Administration
2024.07385.IACDC
Researcher
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal

Instituto de Telecomunicações Lisboa, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2020 - 2023 Automated Programming to Revolutionize App Development (GOLEM)
Researcher
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal
Concluded
2021/02/01 - 2022/06/30 PassCert: Exploring the Impact of Formal Verification on the Adoption of Password Security Software
Principal investigator
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal
Fundação para a Ciência e a Tecnologia
Concluded
2019/09/01 - 2022/02/28 FaultLocker: FAULT LOCalization and repair toolKit for dEpendable softwaRe
PTDC/CCI-COM/29300/2017
Researcher
Concluded
2019/01/01 - 2021/12/31 Qualichain: Decentralised Qualifications' Verification and Management for Learner Empowerment, Education Reengineering and Public Sector Transformation
822404
Researcher
EU Framework Programme for Research and Innovation Excellent Science
Concluded
2015/01 - 2017/09 Review: an Innovative Intelligent Evidence Exploration System
KTP 9885
Principal investigator
Innovate UK
Concluded
2014/11 - 2017/07 Safe hybrid critical systems via automated testing from formal user requirements
KTP 9828
Principal investigator
Innovate UK
Concluded
2009 - 2012 MathIS: Reinvigorating Mathematics for the Information Society
PTDC/EIA/73252/2006
Researcher
Fundação para a Ciência e a Tecnologia
2011 - 2011 Verification of low-level programs with asynchronous interrupts
N/A
Principal investigator
Teesside University
Concluded
Outputs

Publications

Book chapter
  1. Carreira, Carolina; Ferreira, João F.; Mendes, Alexandra; Christin, Nicolas. "Are Users More Willing to Use Formally Verified Password Managers?". In Software Engineering and Formal Methods, 185-202. Springer Nature Switzerland, 2025.
    Published • 10.1007/978-3-032-10444-1_12
Conference paper
  1. Opdebeeck, Ruben; Mahmoud Alfadel; Akond Rahman; Yutaro Kashiwa; João F. Ferreira; Raula Gaikovina Kula. "An Empirical Study of Policy as Code: Adoption, Purpose, and Maintenance". Paper presented in 23rd International Mining Software Repositories Conference (MSR 2026), 2026.
    Accepted
  2. Afonso, Martim; Saavedra, Nuno; Lourenço, Bruno; Mendes, Alexandra; João F. Ferreira. "ProfOlaf: Semi-Automated Tool for Systematic Literature Reviews". Paper presented in 34th ACM International Conference on the Foundations of Software Engineering (FSE 2026), Tool Demonstrations, Montreal, 2026.
    Accepted
  3. Carreira, Carolina; Saavedra, Nuno; Mendes, Alexandra; João F. Ferreira. "The Ultimate Configuration Management Tool? Lessons from a Mixed Methods Study of Ansible's Challenges". Paper presented in International Conference on Evaluation and Assessment in Software Engineering (EASE), 2026.
  4. David R. Ferreira; João F. Ferreira; Mendes, Alexandra. "Contract Usage and Evolution in Android Mobile Applications". Paper presented in European Conference on Object-Oriented Programming (ECOOP 2025), 2025.
    Published
  5. Kyle Thompson; Saavedra, Nuno; Carrott, Pedro; Kevin Fisher; Alex Sanchez-Stern; Yuriy Brun; João F. Ferreira; Lerner, Sorin; First, Emily. "Rango: Adaptive Retrieval-Augmented Proving for Automated Software Verification". Paper presented in International Conference on Software Engineering (ICSE), 2025.
  6. Saavedra, Nuno; Ferreira, João F.; Mendes, Alexandra. "InfraFix: Technology-Agnostic Repair of Infrastructure as Code". Paper presented in 34th ACM SIGSOFT International Symposium on Software Testing and Analysis, 2025.
    10.1145/3713081.3731735
  7. Carrott, Pedro; Saavedra, Nuno; Thompson, Kyle; Lerner, Sorin; Ferreira, João F.; First, Emily. "CoqPyt: Proof Navigation in Python in the Era of LLMs". Paper presented in International Conference on the Foundations of Software Engineering (FSE 2024, Tool Demo Track), 2024.
    10.1145/3663529.3663814
  8. Álvaro F. Silva; Alexandra Mendes; João F. Ferreira. "Leveraging Large Language Models to Boost Dafny’s Developers Productivity". Paper presented in International Conference on Formal Methods in Software Engineering (FormaliSE 2024), 2024.
    10.1145/3644033.3644374
  9. David R. Ferreira; Alexandra Mendes; Joao F. Ferreira. "How are Contracts Used in Android Mobile Applications?". Paper presented in International Conference on Software Engineering (ICSE 2024, Poster Paper), 2024.
    10.1145/3639478.3643536
  10. Álvaro Silva; Mendes, Alexandra; João F. Ferreira. "Leveraging Large Language Models to Boost Dafny's Developers Productivity". Paper presented in FormaliSE, 2024.
    Accepted
  11. Monika di Angelo; Thomas Durieux; João F. Ferreira; Gernot Salzer. "SmartBugs 2.0: An Execution Framework for Weakness Detection in Ethereum Smart Contracts". Paper presented in International Conference on Automated Software Engineering (ASE 2023, Tool Demo Track), 2023.
    10.1109/ASE56229.2023.00060
  12. Saavedra, Nuno; Gonçalves, João; Henriques, Miguel; Ferreira, João F.; Mendes, Alexandra. "Polyglot Code Smell Detection for Infrastructure as Code with GLITCH". Paper presented in International Conference on Automated Software Engineering (ASE 2023, Tool Demo Track), 2023.
    10.1109/ase56229.2023.00162
  13. Henrique Botelho Guerra; João F. Ferreira; COSTA SECO, JOÃO. "Hoogle*: Constants and \lambda-abstractions in Petri-net-based Synthesis using Symbolic Execution". Paper presented in 37th European Conference on Object-Oriented Programming (ECOOP 2023), 2023.
  14. Henrique Botelho Guerra; João F. Ferreira; COSTA SECO, JOÃO. "Hoogle*: Synthesis of Constants and lambda-abstractions in Petri-net-based Synthesis using Symbolic Execution". Paper presented in 37th European Conference on Object-Oriented Programming, ECOOP 2023, 2023.
    Published • 10.4230/LIPIcs.ECOOP.2023.4
  15. Nuno Saavedra; João F. Ferreira. "GLITCH: Automated Polyglot Security Smell Detection in Infrastructure as Code". Paper presented in 37th IEEE/ACM International Conference on Automated Software Engineering, 2022.
    Published • 10.1145/3551349.3556945
  16. Ricardo Pereira; João F. Ferreira (771E-6592-C2AB); Alexandra Mendes; Rui Abreu. "Extending EcoAndroid with Automated Detection of Resource Leaks". Paper presented in 9th IEEE/ACM International Conference on Mobile Software Engineering and Systems 2022 (MobileSoft 2022), 2022.
    Published
  17. Miguel Trinca; João F. Ferreira (771E-6592-C2AB); Rui Abreu. "A Preliminary Study on Generating Well-Formed Q# Quantum Programs for Fuzz Testing". Paper presented in 2nd International Workshop on Artificial Intelligence in Software Testing, co-located with 15th IEEE International Conference on Software Testing, Verification and Validation (ICST) 2022, 2022.
    Published
  18. Miguel Grilo; João Campos; João F. Ferreira; Almeida, José Bacelar; Mendes, Alexandra. "Verified Password Generation from Password Composition Policies". Paper presented in International Conference on Integrated Formal Methods (iFM 2022), 2022.
    Published
  19. Lima, Rui; João F. Ferreira (771E-6592-C2AB); Mendes, Alexandra. "Automatic Repair of Java Code with Timing Side-Channel Vulnerabilities". Paper presented in 36th IEEE/ACM International Conference on Automated Software Engineering Workshops, 2021.
    Published • 10.1109/asew52652.2021.00014
  20. Carolina Carreira; 771E-6592-C2AB; Alexandra Mendes; Nicolas Christin. "Exploring Usable Security to Improve the Impact of Formal Verification: A Research Agenda.". Paper presented in Proceedings First Workshop on Applicable Formal Methods (AppFM 2021), 2021.
    Published
  21. Ana Ribeiro; João F. Ferreira (771E-6592-C2AB); Alexandra Mendes. "EcoAndroid: An Android Studio plugin for developing energy-efficient Java mobile applications". 2021.
    Published
  22. Carolina Carreira; João F. Ferreira; Mendes, Alexandra. "Towards Improving the Usability of Password Managers". Paper presented in Communication accepted at INForum 2021 (INForum ¿ Simpósio de Informática), Lisboa, 2021.
    Published
  23. Saul Johnson; João F. Ferreira; Alexandra Mendes; Julien Cordry. "Skeptic: Automatic, Justified and Privacy-Preserving Password Composition Policy Selection". Paper presented in ACM ASIA Conference on Computer and Communications Security (ASIACCS 2020), 2020.
  24. Thomas Durieux; João F. Ferreira; Rui Abreu; Pedro Cruz. "Empirical Review of Automated Analysis Tools on 47,587 Ethereum Smart Contracts". Paper presented in International Conference on Software Engineering (ICSE 2020), 2020.
  25. Julie Porteous; João F. Ferreira; Alan Lindsay; Marc Cavazza. "Extending Narrative Planning Domains with Linguistic Resources". Paper presented in International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2020), Auckland, 2020.
    Accepted
  26. Thomas Hayton; Julie Porteous; João F. Ferreira; Alan Lindsay. "Narrative Planning Model Acquisition from Text Summaries and Descriptions". Paper presented in AAAI Conference on Artificial Intelligence (AAAI-20), 2020.
  27. Ferreira, João F.; Cruz, Pedro; Durieux, Thomas; Abreu, Rui. "SmartBugs: a framework to analyze solidity smart contracts". Paper presented in 35th IEEE/ACM International Conference on Automated Software Engineering, 2020.
    Published • 10.1145/3324884.3415298
  28. Pereira, David; Ferreira, Joao F.; Mendes, Alexandra. "Evaluating the Accuracy of Password Strength Meters using Off-The-Shelf Guessing Attacks". Paper presented in International Workshop on Reliability and Security Data Analysis (RSDA), 2020.
    Published • 10.1109/issrew51248.2020.00079
  29. Tony Hoare; Alexandra Mendes; João F. Ferreira. "Logic, Algebra, and Geometry at the Foundation of Computer Science". Paper presented in FMTea 2019 – Formal Methods Teaching Workshop and Tutorial (co-located with FM 2019, 3rd World Congress on Formal Methods), 2019, 2019.
    Accepted
  30. João F. Ferreira (771E-6592-C2AB); Alexandra Mendes. "Open and Interactive Learning Resources for Algorithmic Problem Solving.". Paper presented in 9th International Workshop on Open Community approaches to Education, Research and Technology (OpenCert), 2019.
    Published
  31. Saul Johnson; 771E-6592-C2AB; Alexandra Mendes; Julien Cordry. "Lost in Disclosure: On The Inference of Password Composition Policies". Paper presented in 4th International Workshop on Reliability and Security Data Analysis (RSDA), 2019.
    Published
  32. Mengda He; Shengchao Qin; João F. Ferreira. "Towards a Program Logic for C11 Release-Sequences". Paper presented in International Symposium on Theoretical Aspects of Software Engineering (TASE), 2018, 2018.
  33. Alexandra Mendes; João F. Ferreira. "Towards Verified Handwritten Calculational Proofs (short paper)". Paper presented in 9th International Conference on Interactive Theorem Proving (ITP 2018), 2018, 2018.
  34. João F. Ferreira; Saul A. Johnson; Alexandra Mendes; Phillip J. Brooke. "Certified Password Quality – A Case Study Using Coq and Linux Pluggable Authentication Modules". Paper presented in International Conference on integrated Formal Methods (iFM 2017), 2017, 2017.
  35. Alan Lindsay; Jonathon Read; João F. Ferreira; Thomas Hayton; Julie Porteous; Peter Gregory. "Framer: Planning Models from Natural Language Action Descriptions". Paper presented in 27th International Conference on Automated Planning and Scheduling (ICAPS’17), 2017, 2017.
  36. Ali Almohammad; João F. Ferreira; Alexandra Mendes; Phil White. "ReqCap: Hierarchical Requirements Modeling and Test Generation for Industrial Control Systems". Paper presented in 4th International Workshop on Requirements Engineering and Testing (RET’17), 2017, 2017.
    10.1109/rew.2017.65
  37. Jonathan Siddle; Alan Lindsay; João F. Ferreira; Julie Porteous; Jonathon Read; Fred Charles; Marc Cavazza; Gersende Georg. "Visualization of Patient Behavior from Natural Language Recommendations". Paper presented in International Conference on Knowledge Capture (K-CAP 2017), 2017, 2017.
    10.1145/3148011.3148036
  38. Malcolm McNeely; Julie Porteous; João F. Ferreira; Alan Lindsay. "Towards a Constraints Approach to Generating Personalised Horror Film Variants". Paper presented in Workshop on Constraint Satisfaction Techniques for Planning and Scheduling Problems (COPLAS'17), 2017, 2017.
  39. Thomas Hayton; Julie Porteous; João F. Ferreira; Alan Lindsay; Jonathon Read. "StoryFramer: From Input Stories to Output Planning Models". Paper presented in Workshop on Knowledge Engineering for Planning and Scheduling, 2017, 2017.
  40. Mengda He; Viktor Vafeiadis; Shengchao Quin; João F. Ferreira. "Reasoning about Fences and Relaxed Atomics". Paper presented in 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP'16), Pages 520--527, 2016, 2016.
  41. Cindy Even; Anne-Gwenn Bosser; João F. Ferreira; Cédric Buche; Florian Stéphan; Marc Cavazza; Christine Lisett. "Supporting Social Skills Rehabilitation with Virtual Storytelling". Paper presented in Twenty-Ninth International Florida Artificial Intelligence Research Society Conference (FLAIRS29), Pages 329--334, 2016, 2016.
  42. Alexandra Mendes; Roland Backhouse; João F. Ferreira. "Structure Editing of Handwritten Mathematics: Improving the Computer Support for the Calculational Method". Paper presented in Ninth ACM International Conference on Interactive Tabletops and Surfaces (ITS’14), Pages 139–148, 2014, 2014.
  43. Chris Martens; João F. Ferreira; Anne-Gwenn Bosser; Marc Cavazza. "Generative story worlds as linear logic programs". Paper presented in Seventh Intelligent Narrative Technologies Workshop (INT7), Pages 17--23, 2014, 2014.
  44. João F. Ferreira; Alexandra Mendes. "The Magic of Algorithm Design and Analysis: Teaching Algorithmic Skills using Magic Card Tricks". Paper presented in Innovation & Technology in Computer Science Education (ITiCSE'14), Pages 75--80, 2014, 2014.
  45. Yanhong Huang; João F. Ferreira; Guanhua He; Shengchao Qin; Jifeng He. "Deadline analysis of AUTOSAR OS periodic tasks in the presence of interrupts". Paper presented in 15th International Conference on Formal Engineering Methods (ICFEM'13), LNCS 8144, 2013, 2013.
    10.1007/978-3-642-41202-8_12
  46. Chris Martens; Anne-Gwenn Bosser; João F. Ferreira; Marc Cavazza. "Linear logic programming for narrative generation". Paper presented in 12th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'13), 2013, 2013.
    10.1007/978-3-642-40564-8_42
  47. Yanhong Huang; Yongxin Zhao; Shengchao Qin; Guanhua He; João F. Ferreira. "A timed CSP model for the time-triggered language Giotto". Paper presented in 35th Annual IEEE Software Engineering Workshop (SEW-35), 2012, 2012.
    10.1109/SEW.2012.18
  48. João F. Ferreira; Guanhua He; Shengchao Qin. "Automated verification of the FreeRTOS scheduler in HIP/SLEEK". Paper presented in International Symposium on Theoretical Aspects of Software Engineering (TASE), 2012, 2012.
    10.1109/TASE.2012.45
  49. João F. Ferreira; Alexandra Mendes; Alcino Cunha; Carlos Baquero; Paulo Silva; L. S. Barbosa; J. N. Oliveira. "Logic training through algorithmic problem solving". Paper presented in Third International Congress on Tools for Teaching Logic (TICTTL'11), LNCS 6680 (FoLLI-LNAI Series), 2011, 2011.
    10.1007/978-3-642-21350-2_8
  50. Backhouse, R.; Chen, W.; Ferreira, J.F.. "The algorithmics of solitaire-like games". Paper presented in Mathematics of Program Construction 2010 (MPC'10), LNCS 6120, 2010, 2010.
    10.1007/978-3-642-13321-3_1
  51. João F. Ferreira. "Designing an algorithmic proof of the two-squares theorem". Paper presented in Mathematics of Program Construction 2010 (MPC'10), LNCS 6120, 2010, 2010.
    10.1007/978-3-642-13321-3_10
  52. João F. Ferreira; Alexandra Mendes; Roland Backhouse; L. S. Barbosa. "Which mathematics for the information society?". Paper presented in 2nd International FME Conference on Teaching Formal Methods (TFM'09), LNCS 5846, 2009, 2009.
    10.1007/978-3-642-04912-5_4
  53. João F. Ferreira; Alexandra Mendes. "Students' feedback on teaching mathematics through the calculational method". Paper presented in 39th IEEE Frontiers in Education Conference (FiE'09), 2009, 2009.
    10.1109/FIE.2009.5350478
  54. Roland Backhouse; João F. Ferreira. "Recounting the rationals: Twice!". Paper presented in Mathematics of Program Construction 2008 (MPC'08), LNCS 5133, 2008, 2008.
    10.1007/978-3-540-70594-9_6
  55. João F. Ferreira; João L. Sobral; Alberto J. Proença. "JaSkel: A Java skeleton-based framework for structured cluster and grid computing". Paper presented in 6th IEEE International Symposium on Cluster Computing and the Grid (CCGrid'06), 2006, 2006.
    10.1109/CCGRID.2006.65
  56. João F. Ferreira; João L. Sobral. "ParC#: Parallel computing with C# in .Net". Paper presented in Parallel Computing Technologies 2005 (PaCT'05), LNCS 3606, 2005, 2005.
  57. Joost Visser; J.N. Oliveira; L.S. Barbosa; João F. Ferreira; Alexandra Mendes. "Camila Revival: VDM meets Haskell". Paper presented in Overture Workshop (co-located with FM'05), 2005., 2005.
Conference poster
  1. David R. Ferreira; João F. Ferreira; Mendes, Alexandra. "How are Contracts Used in Android Mobile Applications?". Paper presented in 46th International Conference on Software Engineering (ICSE 2024), 2024.
Edited book
  1. João F. Ferreira (771E-6592-C2AB); Alexandra Mendes; Claudio Menghi, ed. Formal Methods Teaching, 4th International Workshop and Tutorial, FMTea 2021. Springer International Publishing. 2021.
    Published • 10.1007/978-3-030-91550-6
Journal article
  1. Masoumzadeh, Sogol; Saavedra, Nuno; Maipradit, Rungroj; Wei, Lili; Ferreira, João F.; Varró, Dániel; McIntosh, Shane. "Do Experts Agree About Smelly Infrastructure?". IEEE Transactions on Software Engineering 51 5 (2025): 1472-1486. https://doi.org/10.1109/tse.2025.3553383.
    Published • 10.1109/tse.2025.3553383
  2. Monika di Angelo; Thomas Durieux; João F. Ferreira; Gernot Salzer. "Evolution of automated weakness detection in Ethereum bytecode: a comprehensive study". Empirical Software Engineering (2024): https://doi.org/10.1007/s10664-023-10414-8.
    10.1007/s10664-023-10414-8
  3. Lima, Rui; Ferreira, João F.; Mendes, Alexandra; Carreira, Carolina. "DifFuzzAR: automatic repair of timing side-channel vulnerabilities via refactoring". Automated Software Engineering 31 1 (2024): http://dx.doi.org/10.1007/s10515-023-00398-6.
    10.1007/s10515-023-00398-6
  4. Steve Dunne; João F. Ferreira; Mendes, Alexandra; Campbell Ritchie; Bill Stoddart; Frank Zeyda. "bGSL: An Imperative Language for Specification and Refinement of Backtracking Programs". Journal of Logical and Algebraic Methods in Programming (JLAMP) 130 100811 (2023):
    Published
  5. Henrique Botelho Guerra; João F. Ferreira; João Costa Seco. "Hoogle*: Constants and \lambda-abstractions in Petri-net-based Synthesis using Symbolic Execution (Artifact)". Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2023): https://drops.dagstuhl.de/opus/volltexte/2023/18260/.
    10.4230/DARTS.9.2.20
  6. Guerreiro, Sérgio Luís Proença Duarte ; João F. Ferreira; Tiago Fonseca; Miguel Correia. "Integrating an Academic Management System with Blockchain: A case study.". Blockchain: Research and Applications 100099 (2022):
    Published
  7. Julie Porteous; João F. Ferreira (771E-6592-C2AB); Alan Lindsay; Marc Cavazza. "Automated Narrative Planning Model Extension". Autonomous Agents and Multi-Agent Systems (JAAMAS) 35 2 (2021): 1-29.
    Published
  8. Mengda He; Viktor Vafeiadis; Shengchao Qin; João F. Ferreira. "GPS+: Reasoning about Fences and Relaxed Atomics". International Journal of Parallel Programming 46.6 (2018), 2018 (2018):
  9. João F. Ferreira; Alexandra Mendes. "A calculational approach to path-based properties of the Eisenstein–Stern and Stern–Brocot trees via matrix algebra". Journal of Logical and Algebraic Methods in Programming 85 5 (2016): 906-920. https://doi.org/10.1016%2Fj.jlamp.2015.11.004.
    10.1016/j.jlamp.2015.11.004
  10. João F. Ferreira; Cristian Gherghina; Guanhua He; Shengchao Qin; Wei-Ngan Chin. "Automated Verification of the FreeRTOS Scheduler in HIP/SLEEK". International Journal on Software Tools for Technology Transfer, Vol. 16, Issue 4, Pages 381–397, 2014 (2014):
  11. Roland Backhouse; Wei Chen; João F. Ferreira. "The algorithmics of solitaire-like games". Science of Computer Programming 78 11 (2013): 2029-2046. http://www.scopus.com/inward/record.url?eid=2-s2.0-84882450622&partnerID=MN8TOARS.
    10.1016/j.scico.2012.07.007
  12. Roland Backhouse; João F. Ferreira. "On Euclid's algorithm and elementary number theory". Science of Computer Programming 76 3 (2011): 160-180. http://www.scopus.com/inward/record.url?eid=2-s2.0-78751569989&partnerID=MN8TOARS.
    10.1016/j.scico.2010.05.006
Activities

Supervision

Thesis Title
Role
Degree Subject (Type)
Institution / Organization
2025/09 - Current Automated Detection and Repair of Dependency Problems in Terraform Configurations
Supervisor of Carlos Felgueiras
Universidade de Lisboa Instituto Superior Técnico, Portugal
2025/09 - Current From Natural Language to Automated Weakness Detection in Infrastructure as Code
Supervisor of Daniel Carvalho
Universidade de Lisboa Instituto Superior Técnico, Portugal
2025/09 - Current Reducing Proof Effort in Formal Systems Verification Using Verus and Large Language Models
Supervisor of Pedro Ribeiro
Universidade de Lisboa Instituto Superior Técnico, Portugal
2025/09 - Current Automated Repair of AWS CloudFormation Templates using CloudTrail-Based State Inference
Supervisor of Duarte Gonçalves
Universidade do Porto Faculdade de Engenharia, Portugal
2024 - Current Agent-Based Approaches to Automated Reasoning and Software Verification (Provisional Title)
Supervisor of Martim Afonso
Universidade de Lisboa Instituto Superior Técnico, Portugal
2024 - Current An Ontology-Driven Knowledge Graph Framework for Semantic Log, Vulnerability, and Threat Analysis (Provisional Title)
Supervisor of Bruno Lourenço
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023/10 - Current Reliable Software Configuration and Infrastructure as Code Analysis (provisional title)
Supervisor of Nuno Saavedra
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023/10 - Current Gradual Verification Techniques for External Unsafe Code in Rust (provisional title)
Supervisor of Henrique Guerra
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - Current Exploring Usable Security to Improve the Impact of Formal Verification
Supervisor of Carolina Carreira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2025 - 2026 From Policy Violation to Patch: Automated Terraform Repair via Policy as Code
Supervisor of Tiago Caldas
Universidade de Lisboa Instituto Superior Técnico, Portugal
2025 - 2026 FixN’Push: Interactive Debugger for Github Actions
Supervisor of João Pereira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2025 - 2026 Vibenix: Automated Generation and Maintenance of Nix Packages using Large Language Models
Supervisor of Martim Monis
Universidade de Lisboa Instituto Superior Técnico, Portugal
2024 - 2025 LLM-Based Detection of Security Smells in Infrastructure as Code
Supervisor of Adriana Nunes
Engenharia Informática e de Computadores (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2024 - 2025 Evaluating Open-Source Large Language Models for Lemma and Predicate Inference in Dafny
Supervisor of João Matos
Engenharia Informática e de Computadores (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2024 - 2025 Automated Detection of Errors and Security Vulnerabilities in Infrastructure as Code Scripts
Supervisor of Simão Fonseca
Engenharia Informática e de Computadores (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023 - 2025 Automated Invariant Generation to Improve the Scalability of Smart Contract Fuzzers
Supervisor of João Esteves
Engenharia Informática e de Computadores (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2025 Extending EcoAndroid to Enable Better Energy-Efficient Mobile Applications
Supervisor of Miguel Jardim
Engenharia Informática e de Computadores (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2025 Understanding and Improving Static Application Security Testing Tools
Co-supervisor of Sofia Oliveira Reis
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023/05 - 2024/06 Code Smell Detection in Infrastructure as Code using Transformers
Supervisor
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023 - 2024 Exploring Seed Scheduling Strategies to Improve the Performance of Smart Contract Fuzzers
Supervisor
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023 - 2024 A Study on Developers’ Challenges and Struggles with Verification-Aware Languages
Co-supervisor of Francisco Oliveira
Engenharia Informática e Computação (Master)
Universidade do Porto Faculdade de Engenharia, Portugal
2017 - 2024 The Only Human Factor: Formal and Statistical Methods for Secure Password Composition Policy Design and Deployment
Supervisor of Saul Johnson
Teesside University, United Kingdom
2022 - 2023 Automated Repair of Persistence Bugs using Large Language Models
Supervisor of Rodrigo Antunes
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Automatic Detection of Code Smells in Docker
Supervisor of Miguel Henriques
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Combining Structural and Semantic Information in Transformers for Source Code Summarization
Co-supervisor of Bernardo Lourenço
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Randomized Testing of File I/O Programs
Supervisor of Afonso Figueiredo
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Automatic Detection of Code Smells in Terraform
Supervisor of João Gonçalves
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Studying contract usage in Android mobile applications
Co-supervisor of David Ferreira
Universidade do Porto Faculdade de Engenharia, Portugal
2022 - 2023 An Investigation Into User Expectations for Formal Verification
Co-supervisor of Mariana Soares
Universidade do Porto Faculdade de Engenharia, Portugal
2021 - 2023 HOOGLE*: Synthesis of Constants and ¿-abstractions in Petri net based Synthesis using symbolic execution
Supervisor of Henrique Guerra
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021/03/01 - 2022 Formal Verification of Persistent Concurrent Data Structures
Supervisor of Ricardo Graça
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Automated Program Repair of Arithmetic Programs in Dafny: Repairing Simple Arithmetic Programs
Supervisor of Hugo Martins
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Reasoning About Persistent and Concurrent Data Structures: Evaluating the Persistent Owicki-Gries Program Logic Through the Verification of a Persistent Queue
Supervisor of Francisco Mendes
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Extending the Concert Framework to Verify Solana Programs
Supervisor of João Gomes
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Formal Specification and Verification of the Lazy JellyFish Skip List: A Case Study in Iris on the Verification of Concurrent Maps with Version Control
Supervisor of Pedro Carrott
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 GLITCH: Polyglot Code Smell Detection for Infrastructure as Code
Supervisor of Nuno Saavedra Silva
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 A Comparative Study of Self-Supervised Learning Techniques for Functional Program Repair
Supervisor of André Silva
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Automatic Bug Prioritization of SmartBugs Reports using Machine Learning
Supervisor of João Dinis
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Smart Contract Migration Across Heterogeneous Blockchains
Co-supervisor of Tiago Domingues
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Extending a Hybrid Fuzzer for Smart Contracts with a Test-Suite Diagnosability Metric
Co-supervisor of Francisco Friande
Universidade do Porto Faculdade de Engenharia, Portugal
2020 - 2022 Persistence of Passwords in Bitwarden's Browser Extension: Unnecessary Retention and Solutions
Supervisor of Rafael Prates
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Extending EcoAndroid with Automated Detection of Resource Leaks
Supervisor of Ricardo Pereira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Development of a Multi-Platform Whiteboard Application
Supervisor of Lucas Soares
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Migrating Smart Contracts Across Heterogeneous Blockchains
Co-supervisor of Luís Abrunhosa
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 A Static Analysis-based Platform-as-Service to Improve the Quality of Smart Contracts
Supervisor of Dinis Araújo
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Refining High-Level Specifications of Decentralized Finance Protocols to EVM bytecode using the K framework
Supervisor of Tiago Barbosa
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Mechanizing Feng-Ying Quantum Hoare Logic in Coq for Formal Proofs of Programs with Quantum and Classical Variables
Supervisor of Mustafa Khalil
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 SmartPasswords: Increasing Password Managers' Usability by Generating Compliant Passwords
Supervisor of João Campos
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 On Usable Security and Verified Password Managers
Supervisor of Carolina Carreira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Formal Verification of Password Generation Algorithms used in Password Managers
Supervisor of Miguel Grilo
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Serious Game for Forest Fire Prevention
Co-supervisor of Ana Catarina Bernardo
Engenharia Informática (Master)
Universidade da Beira Interior, Portugal
2020 - 2021 Verification of Auction-Based Smart Contracts using the ConCert Framework
Supervisor of Diogo José Fonseca Patrício
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2021 Prioritizing Facebook's Infer Static Analysis Tool Warnings
Supervisor of João Martins
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020/10 IntelliComment. An IDE Plugin to Improve Java Source Code Using Comments
Supervisor of Francisco Duarte
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Evaluating Password Strength Meters and Password Composition Policies using Guessing Attacks
Supervisor of David Pereira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Formal Verification of Pointer-Based Splay Trees in Iris
Supervisor of Ricardo Graça
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Automatic Repair of Java Code with Timing Side-Channel Vulnerabilities
Supervisor of Rui Lima
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 EcoAndroid: An Android Studio Plugin for Developing Energy-Efficient Java Mobile Applications
Supervisor of Ana Ribeiro
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Practical Detection of JavaScript Concurrency Bugs using Callback Graphs
Supervisor of Bernardo Furet
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Towards Automated Checking of Input Data Usage with Facebook Infer
Co-supervisor of Rui Ferreira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2018/09/30 - 2019/10/30 A Study of Static Analysis Tools for Ethereum Smart Contracts
Supervisor of Pedro Cruz
MEIC (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2016 - 2019 Planning Domain Model Acquisition from Narrative Synopses
Co-supervisor of Thomas Hayton
Teesside University, United Kingdom
2015 - 2018 Visualising Natural Language: A text-to-scene approach for Recommendations and Violations
Co-supervisor of Jonathan Siddle
Teesside University, United Kingdom
2012 - 2017 Reasoning about C11 Programs with Fences and Relaxed Atomics
Co-supervisor of Mengda He
Teesside University, United Kingdom
2012 - 2016 RuthR: a High-Level Weakly Reversible Programming Language
Supervisor of Campbell Ritchie
Teesside University, United Kingdom
2014 - 2015 Therapeutic game based on narrative generation techniques for Schizophrenia
Co-supervisor of Cindy Even
École nationale d'ingénieurs de Brest, France

Event organisation

Event name
Type of event (Role)
Institution / Organization
2025 - 2026 Organizer of FLoC 2026 Mentoring Workshop (2026)
Workshop (Co-organisor)
2024 - 2024 Co-Chair of The Programming Languages Mentoring Workshop (PLMW) @ SPLASH 2024 (2024 - 2024)
Workshop (Co-organisor)
2022 - 2024 Proceedings co-chair of 46th International Conference on Software Engineering (ICSE 2024) (2022 - 2024)
2023 - 2023 Co-Chair of The Programming Languages Mentoring Workshop (PLMW) @ SPLASH 2023 (2023 - 2023)
Workshop (Co-organisor)
2022 - 2022 Co-chair of PhD-iFM'22, the PhD Symposium at the 17th International Conference on integrated Formal Methods (iFM) (2022 - 2022)
Conference (Co-organisor)
2022 - 2022 Co-chair of RSDA22: 7th IEEE International Workshop on Resiliency, Security, Defenses and Attacks (2022 - 2022)
2020/10/01 - 2021/03/07 Site Director of Lisbon Site of Southwestern Europe Regional Contest (SWERC) 2020-2021 (2020 - 2021/03/07)
Call (President of the Organising Committee)
2020 - 2021/02/20 Coordinator of MIUP 2020 (Inter-University Programming Marathon) (2020 - 2021/02/20)
Call (President of the Organising Committee)
2021 - 2021 Co-chair of Formal Methods Teaching Workshop and Tutorial (FMTea'21) (2021 - 2021)
Conference (Co-organisor)
2021 - 2021 Co-chair of RSDA21: 6th IEEE International Workshop on Reliability and Security Data Analysis (2021 - 2021)
Conference (Co-organisor)
2019 - 2019 Scientific Coordinator of MIUP 2019 (Inter-University Programming Marathon) (2019/10/12 - 2019/10/12)
Call (Member of the Scientific Committee)
2017 - 2017 Organizer of the Northern Concurrency Working Group Meeting, held at Teesside University, 13th of January 2017 (https://ncwg.github.io/2017) (2013)
Workshop (Co-organisor)

Jury of academic degree

Topic
Role
Candidate name (Type of degree)
Institution / Organization
2022 Improving the comprehension of model checkers' results using natural language (Pre-thesis)
(Thesis) Main arguer
Ezequiel José Veloso Ferreira Moreira (PhD)
Universidade do Minho, Portugal
2021 Lightweight Trustworthy High-Level Software Design
(Thesis) Main arguer
Liu Chong (PhD)
Universidade do Minho, Portugal
2021 Blockchain Interoperability (Pre-thesis)
(Thesis) Arguer
Rafael Belchior (PhD)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019/11/14 Secure Storage with a Small, Verified TCB
(Thesis) Main arguer
Afonso Tinoco de Faria Cecílio dos Santos (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019/11/14 Applying Multi-Objective Test Selection for Continuous Integration at OutSystems
(Thesis) Main arguer
Daniel Duarte de Carvalho Brojo Correia (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019/11/13 A Product Family for Digital Humanities Repositories
(Thesis) Main arguer
Nuno Manuel Bagulho Gonçalves (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019/09/30 Improving Software Fault Prediction Using a Data-Driven Approach
(Thesis) Main arguer
André Sobral Gonçalves (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019/09/11 Extremely Imbalanced Smell-based Defect Prediction
(Thesis) Main arguer
Bruno Miguel Sotto-Mayor de Castro Machado (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019/05/16 Análise crítica da qualidade dos testes em projetos FLOSS
(Thesis) Main arguer
Djamila Marisa Pascoal Quipipa Caetano (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 Program Synthesis with Constraint Solving for the OutSystems Language
(Thesis) Main arguer
Rodrigo André Moreira Bernardo (Master)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 Single-assignment Program Verification
(Thesis) Arguer
Cláudio Belo Lourenço (PhD)
Universidade do Minho, Portugal

Association member

Society Organization name Role
2017 - Current Formal Methods Europe (FME) Teaching Committee Member
2011 - Current Association for Computing Machinery Professional Member

Committee member

Activity description
Role
Institution / Organization
2026 - 2027 Program Committee Member of IEEE/ACM International Conference on Software Engineering (ICSE 2027)
Member
2026 - 2026 Program Committee Member of 27th International Symposium on Formal Methods (FM 2026)
Member
2026 - 2026 Program Committee Member of ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2026)
Member
2026 - 2026 Program Committee Member of 41th IEEE/ACM International Conference on Automated Software Engineering (ASE 2026)
Member
2025 - 2026 Local Chair of Seventeenth Conference on Interactive Theorem Proving
Member
2025 - 2025 Program Committee Member of 3rd International Workshop on Artificial Intelligence in Software Testing (AIST)
Member
2025 - 2025 Program Committee Member of European Conference on Object-Oriented Programming (ECOOP 2025)
Member
2024 - 2024 Program Committee Member of 4th International Workshop on Artificial Intelligence in Software Testing (AIST)
2024 - 2024 Program Committee Member of International Conference on Formal Methods in Software Engineering (FormaliSE 2024)
2024 - 2024 Program Commitee Member of International Conference on Software Engineering(ICSE) Doctoral Symposium (DS)
2024 - 2024 Program Committee Member of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) Early Research Achievement (ERA) Track
2022 - 2024 Conference program committee member - 46th International Conference on Software Engineering (ICSE 2024), 2024
2023 - 2023 Program Committee Member of 3rd International Workshop on Artificial Intelligence in Software Testing (AIST)
2023 - 2023 Program Commitee Member of the IEEE/ACM International Conference on Automated Software Engineering (ASE 2023) NIER Track
2022 - 2023 Conference program committee member - Thirty-Seventh AAAI Conference on Artificial Intelligence (AAAI-23), 2023
2022 - 2022 Conference program committee member (Posters and Demos) - The Web Conference (TheWebConf 2022), 2022
2022 - 2022 Program Committee Member of 2nd International Workshop on Artificial Intelligence in Software Testing (AIST)
2021 - 2021 Program Committee Member of 1st International Workshop on Artificial Intelligence in Software Testing (AIST)
2019 - 2019 Conference program committee member - 3rd World Congress on Formal Methods (FM 2019), 2019
Member
2019 - 2019 Conference program committee member - Mathematics of Program Construction (MPC 2019), 2019
Member
2019 - 2019 Conference program committee member - International Conference on Knowledge Capture (K-CAP 2019), 2019
Member
2019 - 2019 Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2019), 2019
Member
2019 - 2019 Conference program committee member - Formal Methods Teaching Workshop and Tutorial (FMTea 2019), 2019
Member
2019 - 2019 Conference program committee member - 9th International Workshop on Open Community approaches to Education, Research and Technology (OpenCERT 2019), 2019
Member
2018 - 2018 Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2018), 2018
Member
2018 - 2018 Conference program committee member - The 31st International Florida Artificial Intelligence Research Society Conference (FLAIRS-31), 2018
Member
2017 - 2017 Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2017), 2017
Member
2017 - 2017 Conference program committee member - The 30th International Florida Artificial Intelligence Research Society Conference (FLAIRS-30), 2017
Member
2016 - 2016 Conference program committee member - The 29th International Florida Artificial Intelligence Research Society Conference (FLAIRS-29), 2016
Member
2016 - 2016 Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2016), 2016
Member
2015 - 2015 Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2015), 2015
Member
2014 - 2014 Conference program committee member - INForum, Simpósio de Informática, 2014
Member
2014 - 2014 Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2014), 2014
Member
2013 - 2013 Conference program committee member - 7th International Workshop on Foundations and Techniques for Open Source Software Certification (OpenCert2013), 2013
Member
2013 - 2013 Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2013), 2013
Member
2012 - 2012 Conference program committee member- Brazilian Symposium on Programming Languages (SBLP 2012), 2012
Member
2012 - 2012 Conference program committee member - 6th International Symposium on Theoretical Aspects of Software Engineering (TASE 2012), 2012
Member

Conference scientific committee

Conference name Conference host
2022 - 2022 2nd International Workshop on Artificial Intelligence in Software Testing (AIST)
2021 - 2021 1st International Workshop on Artificial Intelligence in Software Testing (AIST)
2021 - 2021 The Eleventh International Conference on Knowledge Capture (K-CAP)
2019 - 2019 International Joint Conference on Artificial Intelligence (IJCAI 2019), 2019
2019 - 2019 3rd World Congress on Formal Methods (FM 2019), 2019
2019 - 2019 Mathematics of Program Construction (MPC 2019), 2019
2019 - 2019 International Conference on Knowledge Capture (K-CAP 2019), 2019
2019 - 2019 Brazilian Symposium on Programming Languages (SBLP 2019), 2019
2019 - 2019 Formal Methods Teaching Workshop and Tutorial (FMTea 2019), 2019
2019 - 2019 9th International Workshop Open Community approaches to Education, Research and Technology (OpenCERT 2019), 2019
2018 - 2018 Brazilian Symposium on Programming Languages (SBLP 2018), 2018
2018 - 2018 The 31st International Florida Artificial Intelligence Research Society Conference (FLAIRS-31), 2018
2017 - 2017 Ninth International Conference on Knowledge Capture (K-CAP 2017), 2017
2017 - 2017 ACM Technical Symposium on Computing Science Education (SIGCSE 2017), 2017
2017 - 2017 Brazilian Symposium on Programming Languages (SBLP 2017), 2017
2017 - 2017 The 30th International Florida Artificial Intelligence Research Society Conference (FLAIRS-30), 2017
2016 - 2016 ACM Interactive Surfaces and Spaces (ISS 2016), 2016
2016 - 2016 10th International Symposium on Theoretical Aspects of Software Engineering (TASE 2016), 2016
2016 - 2016 T29th International Florida Artificial Intelligence Research Society Conference (FLAIRS-29), 2016
2016 - 2016 Brazilian Symposium on Programming Languages (SBLP 2016), 2016
2015 - 2015 17th International Conference on Formal Engineering Methods (ICFEM 2015), 2015
2015 - 2015 Brazilian Symposium on Programming Languages (SBLP 2015), 2015
2014 - 2014 INForum, Simpósio de Informática, 2014
2014 - 2014 Brazilian Symposium on Programming Languages (SBLP 2014), 2014
2013 - 2013 7th International Workshop on Foundations and Techniques for Open Source Software Certification (OpenCert2013), 2013
2013 - 2013 Brazilian Symposium on Programming Languages (SBLP 2013), 2013
2012 - 2012 14th International Conference on Formal Engineering Methods (ICFEM 2012), 2012
2012 - 2012 Mathematics of Program Construction (MPC 2012), 2012
2012 - 2012 Brazilian Symposium on Programming Languages (SBLP 2012), 2012
2012 - 2012 6th International Symposium on Theoretical Aspects of Software Engineering (TASE 2012), 2012
2011 - 2011 Conference on Intelligent Computer Mathematics (CICM 2011), 2011
2011 - 2011 13th International Conference on Formal Engineering Methods (ICFEM 2011), 2011
2011 - 2011 5th IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2011), 2011
2011 - 2011 5th International Workshop on Harnessing Theories for Tool Support in Software (TTSS 2011), 2011
2010 - 2010 ACM SIGPLAN 6th Workshop on Generic Programming (WGP 2010), 2010

Evaluation committee

Activity description
Role
Institution / Organization Funding entity
2022 - 2023 Evaluator/Reviewer for international R&D projects/grants: Natural Sciences and Engineering Research Council of Canada (NSERC)
Evaluator
2022 - 2022 Evaluator/Reviewer for international R&D projects/grants: The Czech Science Foundation (GACR)
2022 - 2022 Evaluator/Reviewer for international R&D projects/grants: Hungarian National Research, Development and Innovation Office (NKFIH)

Journal scientific committee

Journal title (ISSN) Publisher
2022 - 2022 Journal of Systems and Software (0164-1212) Elsevier
2022 - 2022 IEEE Transactions on Software Engineering (0098-5589) IEEE Computer Society
2020 - 2022 Empirical Software Engineering (1382-3256) Springer Publishing
2021 - 2021 IEEE Transactions on Computers (0018-9340 ) IEEE Computer Society
2016 - 2016 Journal of Logical and Algebraic Methods in Programming, Elsevier
2013 - 2013 International Journal on Software Tools for Technology Transfer, Springer
2012 - 2012 Formal Aspects of Computing, Springer
2010 - 2010 Journal of Functional Programming, Cambridge University Press

Other jury / evaluation

Activity description Institution / Organization
2018 - 2026 Arguente de projecto de dissertação (mestrado) Universidade de Lisboa Instituto Superior Técnico, Portugal
2019/07/25 - 2019/07/25 Examiner of 1st year PhD examination (João Reis) Universidade da Beira Interior, Portugal
2011 - 2016 Final Year Project Supervision Teesside University, United Kingdom
2015 - 2015 Supervised Work Experience: Industrial Placements at Accenture UK Teesside University, United Kingdom
Distinctions

Award

2025 ACM SIGSOFT Distinguished Paper for our ICSE 2025 paper "Rango: Adaptive Retrieval-Augmented Proving for Automated Software Verification"
2025 Amazon Research Award - Automated Reasoning
Amazon Science, United States
2024 Selected as a Visiting Researcher at Carnegie Mellon University, funded by CMU Portugal

Title

2013 Fellow of the Higher Education Academy, United Kingdom (Recognition reference: PR059403)
Higher Education Academy, United Kingdom

Other distinction

2023 Excellency in Teaching (Docente Excelente) 2022/2023, Instituto Superior Técnico
2022 Excellency in Teaching (Docente Excelente) 2021/2022, Instituto Superior Técnico
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 Excellency in Teaching (Docente Excelente) 2020/2021, Instituto Superior Técnico
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 Excellency in Teaching (Docente Excelente) 2019/2020, Instituto Superior Técnico
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 Excellency in Teaching (Docente Excelente) 2018/2019, Instituto Superior Técnico
Universidade de Lisboa Instituto Superior Técnico, Portugal
2017 Finalist in "The Star Awards 2017" in the category "Innovation and Enterprise", due to "work towards research results that are shared with real-world companies, thus having impact''
Teesside University, United Kingdom
2011 6-year postdoctoral grant from FCT (I declined this opportunity to take the position at Teesside University)
Fundação para a Ciência e a Tecnologia, Portugal
2006 4-year PhD grant from FCT
Fundação para a Ciência e a Tecnologia, Portugal