???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 Instituto Superior Técnico (IST, ULisboa) and a researcher at INESC-ID, where I am also the Vice-Coordinator of the research area Automated Reasoning and Software Reliability. I am the Executive Coordinator of the scientific area of Programming Methodology and Technology of the Department of Computer Science and Engineering. 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 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.
Identificação

Identificação pessoal

Nome completo
João Ferreira

Nomes de citação

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

Identificadores de autor

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

Websites

Domínios de atuação

  • Ciências Exatas - Ciências da Computação e da Informação - Ciências da Computação

Idiomas

Idioma Conversação Leitura Escrita Compreensão Peer-review
Português (Idioma materno)
Inglês Utilizador proficiente (C2) Utilizador proficiente (C2) Utilizador proficiente (C2) Utilizador proficiente (C2) Utilizador proficiente (C2)
Francês Utilizador independente (B2) Utilizador proficiente (C1) Utilizador independente (B2) Utilizador proficiente (C1) Utilizador independente (B2)
Espanhol; Castelhano Utilizador independente (B2) Utilizador proficiente (C1) Utilizador independente (B2) Utilizador proficiente (C1) Utilizador independente (B2)
Formação
Grau Classificação
2013
Concluído
Postgraduate Certificate in Education in Learning and Teaching in Higher Education (Pós-Graduação)
Teesside University, Reino Unido
2011/07/13
Concluído
PhD in Computer Science (Doctor of Philosophy)
University of Nottingham, Reino Unido
"Principles and Applications of Algorithmic Problem Solving" (TESE/DISSERTAÇÃO)
2005
Concluído
Licenciatura in Mathematics and Computer Science (Licenciatura)
Universidade do Minho, Portugal
Percurso profissional

Ciência

Categoria Profissional
Instituição de acolhimento
Empregador
2011/02 - 2011/10 Pós-doutorado (Investigação) Teesside University, Reino Unido
Teesside University, Reino Unido

Docência no Ensino Superior

Categoria Profissional
Instituição de acolhimento
Empregador
2023/09/01 - Atual Professor Associado (Docente Universitário) Universidade de Lisboa Instituto Superior Técnico, Portugal
2018/09/01 - 2023/08/31 Professor Auxiliar (Docente Universitário) Universidade de Lisboa Instituto Superior Técnico, Portugal
2017 - 2018 Professor Associado (Docente Universitário) Teesside University, Reino Unido
Teesside University School of Computing, Reino Unido
2011 - 2017 Professor Auxiliar (Docente Universitário) Teesside University, Reino Unido
Teesside University, Reino Unido
2009 - 2010 Professor Auxiliar Convidado (Docente Universitário) University of Nottingham, Reino Unido
University of Nottingham, Reino Unido
Projetos

Bolsa

Designação Financiadores
2006 - 2010 Principles and Applications of Algorithmic Problem Solving
SFRH/BD/24269/2005
Bolseiro de Doutoramento
Fundação para a Ciência e a Tecnologia
Concluído

Projeto

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

Publicações

Artigo em conferência
  1. Carrott, Pedro; Saavedra, Nuno; Thompson, Kyle; Lerner, Sorin; Ferreira, João F.; First, Emily. "CoqPyt: Proof Navigation in Python in the Era of LLMs". 2024.
    10.1145/3663529.3663814
  2. Álvaro Silva; Mendes, Alexandra; João F. Ferreira. "Leveraging Large Language Models to Boost Dafny's Developers Productivity". Trabalho apresentado em FormaliSE, 2024.
    Aceite para publicação
  3. Monika di Angelo; Thomas Durieux; João F. Ferreira; Gernot Salzer. "SmartBugs 2.0: An Execution Framework for Weakness Detection in Ethereum Smart Contracts". 2023.
    10.1109/ASE56229.2023.00060
  4. Saavedra, Nuno; Gonçalves, João; Henriques, Miguel; Ferreira, João F.; Mendes, Alexandra. "Polyglot Code Smell Detection for Infrastructure as Code with GLITCH". 2023.
    10.1109/ase56229.2023.00162
  5. Henrique Botelho Guerra; João F. Ferreira; COSTA SECO, JOÃO. "Hoogle*: Constants and \lambda-abstractions in Petri-net-based Synthesis using Symbolic Execution". Trabalho apresentado em 37th European Conference on Object-Oriented Programming (ECOOP 2023), 2023.
  6. 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". Trabalho apresentado em 37th European Conference on Object-Oriented Programming, ECOOP 2023, 2023.
    Publicado • 10.4230/LIPIcs.ECOOP.2023.4
  7. Nuno Saavedra; João F. Ferreira. "GLITCH: Automated Polyglot Security Smell Detection in Infrastructure as Code". Trabalho apresentado em 37th IEEE/ACM International Conference on Automated Software Engineering, 2022.
    Publicado • 10.1145/3551349.3556945
  8. Ricardo Pereira; João F. Ferreira (771E-6592-C2AB); Alexandra Mendes; Rui Abreu. "Extending EcoAndroid with Automated Detection of Resource Leaks". Trabalho apresentado em 9th IEEE/ACM International Conference on Mobile Software Engineering and Systems 2022 (MobileSoft 2022), 2022.
    Publicado
  9. Miguel Trinca; João F. Ferreira (771E-6592-C2AB); Rui Abreu. "A Preliminary Study on Generating Well-Formed Q# Quantum Programs for Fuzz Testing". Trabalho apresentado em 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.
    Publicado
  10. Miguel Grilo; João Campos; João F. Ferreira; Almeida, José Bacelar; Mendes, Alexandra. "Verified Password Generation from Password Composition Policies". Trabalho apresentado em International Conference on Integrated Formal Methods (iFM 2022), 2022.
    Publicado
  11. Lima, Rui; João F. Ferreira (771E-6592-C2AB); Mendes, Alexandra. "Automatic Repair of Java Code with Timing Side-Channel Vulnerabilities". Trabalho apresentado em 36th IEEE/ACM International Conference on Automated Software Engineering Workshops, 2021.
    Publicado • 10.1109/asew52652.2021.00014
  12. Carolina Carreira; 771E-6592-C2AB; Alexandra Mendes; Nicolas Christin. "Exploring Usable Security to Improve the Impact of Formal Verification: A Research Agenda.". Trabalho apresentado em Proceedings First Workshop on Applicable Formal Methods (AppFM 2021), 2021.
    Publicado
  13. Ana Ribeiro; João F. Ferreira (771E-6592-C2AB); Alexandra Mendes. "EcoAndroid: An Android Studio plugin for developing energy-efficient Java mobile applications". 2021.
    Publicado
  14. Carolina Carreira; João F. Ferreira; Mendes, Alexandra. "Towards Improving the Usability of Password Managers". Trabalho apresentado em Communication accepted at INForum 2021 (INForum ¿ Simpósio de Informática), Lisboa, 2021.
    Publicado
  15. Saul Johnson; João F. Ferreira; Alexandra Mendes; Julien Cordry. "Skeptic: Automatic, Justified and Privacy-Preserving Password Composition Policy Selection". Trabalho apresentado em ACM ASIA Conference on Computer and Communications Security (ASIACCS 2020), 2020.
  16. Thomas Durieux; João F. Ferreira; Rui Abreu; Pedro Cruz. "Empirical Review of Automated Analysis Tools on 47,587 Ethereum Smart Contracts". Trabalho apresentado em International Conference on Software Engineering (ICSE 2020), 2020.
  17. Julie Porteous; João F. Ferreira; Alan Lindsay; Marc Cavazza. "Extending Narrative Planning Domains with Linguistic Resources". Trabalho apresentado em International Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2020), Auckland, 2020.
    Aceite para publicação
  18. Thomas Hayton; Julie Porteous; João F. Ferreira; Alan Lindsay. "Narrative Planning Model Acquisition from Text Summaries and Descriptions". Trabalho apresentado em AAAI Conference on Artificial Intelligence (AAAI-20), 2020.
  19. Ferreira, João F.; Cruz, Pedro; Durieux, Thomas; Abreu, Rui. "SmartBugs: a framework to analyze solidity smart contracts". Trabalho apresentado em 35th IEEE/ACM International Conference on Automated Software Engineering, 2020.
    Publicado • 10.1145/3324884.3415298
  20. Pereira, David; Ferreira, Joao F.; Mendes, Alexandra. "Evaluating the Accuracy of Password Strength Meters using Off-The-Shelf Guessing Attacks". Trabalho apresentado em International Workshop on Reliability and Security Data Analysis (RSDA), 2020.
    Publicado • 10.1109/issrew51248.2020.00079
  21. Tony Hoare; Alexandra Mendes; João F. Ferreira. "Logic, Algebra, and Geometry at the Foundation of Computer Science". Trabalho apresentado em FMTea 2019 – Formal Methods Teaching Workshop and Tutorial (co-located with FM 2019, 3rd World Congress on Formal Methods), 2019, 2019.
    Aceite para publicação
  22. João F. Ferreira (771E-6592-C2AB); Alexandra Mendes. "Open and Interactive Learning Resources for Algorithmic Problem Solving.". Trabalho apresentado em 9th International Workshop on Open Community approaches to Education, Research and Technology (OpenCert), 2019.
    Publicado
  23. Saul Johnson; 771E-6592-C2AB; Alexandra Mendes; Julien Cordry. "Lost in Disclosure: On The Inference of Password Composition Policies". Trabalho apresentado em 4th International Workshop on Reliability and Security Data Analysis (RSDA), 2019.
    Publicado
  24. Mengda He; Shengchao Qin; João F. Ferreira. "Towards a Program Logic for C11 Release-Sequences". Trabalho apresentado em International Symposium on Theoretical Aspects of Software Engineering (TASE), 2018, 2018.
  25. Alexandra Mendes; João F. Ferreira. "Towards Verified Handwritten Calculational Proofs (short paper)". Trabalho apresentado em 9th International Conference on Interactive Theorem Proving (ITP 2018), 2018, 2018.
  26. 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". Trabalho apresentado em International Conference on integrated Formal Methods (iFM 2017), 2017, 2017.
  27. Alan Lindsay; Jonathon Read; João F. Ferreira; Thomas Hayton; Julie Porteous; Peter Gregory. "Framer: Planning Models from Natural Language Action Descriptions". Trabalho apresentado em 27th International Conference on Automated Planning and Scheduling (ICAPS’17), 2017, 2017.
  28. Ali Almohammad; João F. Ferreira; Alexandra Mendes; Phil White. "ReqCap: Hierarchical Requirements Modeling and Test Generation for Industrial Control Systems". Trabalho apresentado em 4th International Workshop on Requirements Engineering and Testing (RET’17), 2017, 2017.
    10.1109/rew.2017.65
  29. 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". Trabalho apresentado em International Conference on Knowledge Capture (K-CAP 2017), 2017, 2017.
    10.1145/3148011.3148036
  30. Malcolm McNeely; Julie Porteous; João F. Ferreira; Alan Lindsay. "Towards a Constraints Approach to Generating Personalised Horror Film Variants". Trabalho apresentado em Workshop on Constraint Satisfaction Techniques for Planning and Scheduling Problems (COPLAS'17), 2017, 2017.
  31. Thomas Hayton; Julie Porteous; João F. Ferreira; Alan Lindsay; Jonathon Read. "StoryFramer: From Input Stories to Output Planning Models". Trabalho apresentado em Workshop on Knowledge Engineering for Planning and Scheduling, 2017, 2017.
  32. Mengda He; Viktor Vafeiadis; Shengchao Quin; João F. Ferreira. "Reasoning about Fences and Relaxed Atomics". Trabalho apresentado em 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP'16), Pages 520--527, 2016, 2016.
  33. 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". Trabalho apresentado em Twenty-Ninth International Florida Artificial Intelligence Research Society Conference (FLAIRS29), Pages 329--334, 2016, 2016.
  34. Alexandra Mendes; Roland Backhouse; João F. Ferreira. "Structure Editing of Handwritten Mathematics: Improving the Computer Support for the Calculational Method". Trabalho apresentado em Ninth ACM International Conference on Interactive Tabletops and Surfaces (ITS’14), Pages 139–148, 2014, 2014.
  35. Chris Martens; João F. Ferreira; Anne-Gwenn Bosser; Marc Cavazza. "Generative story worlds as linear logic programs". Trabalho apresentado em Seventh Intelligent Narrative Technologies Workshop (INT7), Pages 17--23, 2014, 2014.
  36. João F. Ferreira; Alexandra Mendes. "The Magic of Algorithm Design and Analysis: Teaching Algorithmic Skills using Magic Card Tricks". Trabalho apresentado em Innovation & Technology in Computer Science Education (ITiCSE'14), Pages 75--80, 2014, 2014.
  37. Yanhong Huang; João F. Ferreira; Guanhua He; Shengchao Qin; Jifeng He. "Deadline analysis of AUTOSAR OS periodic tasks in the presence of interrupts". Trabalho apresentado em 15th International Conference on Formal Engineering Methods (ICFEM'13), LNCS 8144, 2013, 2013.
    10.1007/978-3-642-41202-8_12
  38. Chris Martens; Anne-Gwenn Bosser; João F. Ferreira; Marc Cavazza. "Linear logic programming for narrative generation". Trabalho apresentado em 12th International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR'13), 2013, 2013.
    10.1007/978-3-642-40564-8_42
  39. Yanhong Huang; Yongxin Zhao; Shengchao Qin; Guanhua He; João F. Ferreira. "A timed CSP model for the time-triggered language Giotto". Trabalho apresentado em 35th Annual IEEE Software Engineering Workshop (SEW-35), 2012, 2012.
    10.1109/SEW.2012.18
  40. João F. Ferreira; Guanhua He; Shengchao Qin. "Automated verification of the FreeRTOS scheduler in HIP/SLEEK". Trabalho apresentado em International Symposium on Theoretical Aspects of Software Engineering (TASE), 2012, 2012.
    10.1109/TASE.2012.45
  41. João F. Ferreira; Alexandra Mendes; Alcino Cunha; Carlos Baquero; Paulo Silva; L. S. Barbosa; J. N. Oliveira. "Logic training through algorithmic problem solving". Trabalho apresentado em 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
  42. Backhouse, R.; Chen, W.; Ferreira, J.F.. "The algorithmics of solitaire-like games". Trabalho apresentado em Mathematics of Program Construction 2010 (MPC'10), LNCS 6120, 2010, 2010.
    10.1007/978-3-642-13321-3_1
  43. João F. Ferreira. "Designing an algorithmic proof of the two-squares theorem". Trabalho apresentado em Mathematics of Program Construction 2010 (MPC'10), LNCS 6120, 2010, 2010.
    10.1007/978-3-642-13321-3_10
  44. João F. Ferreira; Alexandra Mendes; Roland Backhouse; L. S. Barbosa. "Which mathematics for the information society?". Trabalho apresentado em 2nd International FME Conference on Teaching Formal Methods (TFM'09), LNCS 5846, 2009, 2009.
    10.1007/978-3-642-04912-5_4
  45. João F. Ferreira; Alexandra Mendes. "Students' feedback on teaching mathematics through the calculational method". Trabalho apresentado em 39th IEEE Frontiers in Education Conference (FiE'09), 2009, 2009.
    10.1109/FIE.2009.5350478
  46. Roland Backhouse; João F. Ferreira. "Recounting the rationals: Twice!". Trabalho apresentado em Mathematics of Program Construction 2008 (MPC'08), LNCS 5133, 2008, 2008.
    10.1007/978-3-540-70594-9_6
  47. João F. Ferreira; João L. Sobral; Alberto J. Proença. "JaSkel: A Java skeleton-based framework for structured cluster and grid computing". Trabalho apresentado em 6th IEEE International Symposium on Cluster Computing and the Grid (CCGrid'06), 2006, 2006.
    10.1109/CCGRID.2006.65
  48. João F. Ferreira; João L. Sobral. "ParC#: Parallel computing with C# in .Net". Trabalho apresentado em Parallel Computing Technologies 2005 (PaCT'05), LNCS 3606, 2005, 2005.
  49. Joost Visser; J.N. Oliveira; L.S. Barbosa; João F. Ferreira; Alexandra Mendes. "Camila Revival: VDM meets Haskell". Trabalho apresentado em Overture Workshop (co-located with FM'05), 2005., 2005.
Artigo em revista
  1. 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
  2. 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
  3. 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):
    Publicado
  4. Henrique Botelho Guerra; João F. Ferreira; João Costa Seco. "Hoogle¿: Constants and ¿-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
  5. 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):
    Publicado
  6. 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.
    Publicado
  7. 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):
  8. 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
  9. 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):
  10. 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
  11. 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
Edição de livro
  1. João F. Ferreira (771E-6592-C2AB); Alexandra Mendes; Claudio Menghi. Formal Methods Teaching, 4th International Workshop and Tutorial, FMTea 2021. Springer International Publishing. 2021.
    Publicado • 10.1007/978-3-030-91550-6
Poster em conferência
  1. David R. Ferreira; João F. Ferreira; Mendes, Alexandra. "How are Contracts Used in Android Mobile Applications?". Trabalho apresentado em 46th International Conference on Software Engineering (ICSE 2024), 2024.
Pré-impressão
  1. David R. Ferreira; João F. Ferreira; Mendes, Alexandra. "Contract Usage and Evolution in Android Mobile Applications". 2024. https://arxiv.org/abs/2401.14244.
Atividades

Orientação

Título / Tema
Papel desempenhado
Curso (Tipo)
Instituição / Organização
2023 - Atual Exploring Seed Scheduling Strategies to Improve the Performance of Smart Contract Fuzzers
Orientador
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023 - Atual Automated Invariant Generation to Improve the Scalability of Smart Contract Fuzzers
Orientador
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - Atual Exploring Usable Security to Improve the Impact of Formal Verification
Orientador de Carolina Carreira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - Atual Extending EcoAndroid to Enable Better Energy-Efficient Mobile Applications
Orientador de Miguel Jardim
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - Atual An Investigation Into User Expectations for Formal Verification
Coorientador de Mariana Soares
Universidade do Porto Faculdade de Engenharia, Portugal
2020 - Atual Persistent and Lock-Free Data Structures for Non-Volatile Memories (provisional title)
Orientador de André Martins
Universidade de Lisboa Instituto Superior Técnico, Portugal
2023/05 - 2024/06 Code Smell Detection in Infrastructure as Code using Transformers
Orientador
Universidade de Lisboa Instituto Superior Técnico, Portugal
2017 - 2024 The Only Human Factor: Formal Methods for Secure Password Composition Policy Design and Deployment
Orientador de Saul Johnson
Teesside University, Reino Unido
2022 - 2023 Automated Repair of Persistence Bugs using Large Language Models
Orientador de Rodrigo Antunes
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Automatic Detection of Code Smells in Docker
Orientador de Miguel Henriques
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Combining Structural and Semantic Information in Transformers for Source Code Summarization
Coorientador de Bernardo Lourenço
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Randomized Testing of File I/O Programs
Orientador de Afonso Figueiredo
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Automatic Detection of Code Smells in Terraform
Orientador de João Gonçalves
Universidade de Lisboa Instituto Superior Técnico, Portugal
2022 - 2023 Studying contract usage in Android mobile applications
Coorientador de David Ferreira
Universidade do Porto Faculdade de Engenharia, Portugal
2021 - 2023 HOOGLE*: Synthesis of Constants and ¿-abstractions in Petri net based Synthesis using symbolic execution
Orientador de Henrique Guerra
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021/03/01 - 2022 Formal Verification of Persistent Concurrent Data Structures
Orientador de 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
Orientador de 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
Orientador de Francisco Mendes
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Extending the Concert Framework to Verify Solana Programs
Orientador de 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
Orientador de Pedro Carrott
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 GLITCH: Polyglot Code Smell Detection for Infrastructure as Code
Orientador de 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
Orientador de André Silva
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Automatic Bug Prioritization of SmartBugs Reports using Machine Learning
Orientador de João Dinis
Universidade de Lisboa Instituto Superior Técnico, Portugal
2021 - 2022 Smart Contract Migration Across Heterogeneous Blockchains
Coorientador de 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
Coorientador de Francisco Friande
Universidade do Porto Faculdade de Engenharia, Portugal
2020 - 2022 Persistence of Passwords in Bitwarden's Browser Extension: Unnecessary Retention and Solutions (provisional title)
Orientador de Rafael Prates
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Extending EcoAndroid with Automated Detection of Resource Leaks
Orientador de Ricardo Pereira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Development of a Multi-Platform Whiteboard Application
Orientador de Lucas Soares
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Migrating Smart Contracts Across Heterogeneous Blockchains
Coorientador de 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
Orientador de 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
Orientador de 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
Orientador de Mustafa Khalil
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 SmartPasswords: Increasing Password Managers' Usability by Generating Compliant Passwords
Orientador de João Campos
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 On Usable Security and Verified Password Managers
Orientador de Carolina Carreira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Formal Verification of Password Generation Algorithms used in Password Managers
Orientador de Miguel Grilo
Universidade de Lisboa Instituto Superior Técnico, Portugal
2020 - 2021 Serious Game for Forest Fire Prevention
Coorientador de Ana Catarina Bernardo
Engenharia Informática (Mestrado)
Universidade da Beira Interior, Portugal
2020 - 2021 Verification of Auction-Based Smart Contracts using the ConCert Framework
Orientador de Diogo José Fonseca Patrício
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2021 Prioritizing Facebook's Infer Static Analysis Tool Warnings
Orientador de 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
Orientador de Francisco Duarte
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Evaluating Password Strength Meters and Password Composition Policies using Guessing Attacks
Orientador de David Pereira
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Formal Verification of Pointer-Based Splay Trees in Iris
Orientador de Ricardo Graça
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Automatic Repair of Java Code with Timing Side-Channel Vulnerabilities
Orientador de Rui Lima
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 EcoAndroid: An Android Studio Plugin for Developing Energy-Efficient Java Mobile Applications
Orientador de Ana Ribeiro
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Practical Detection of JavaScript Concurrency Bugs using Callback Graphs
Orientador de Bernardo Furet
Universidade de Lisboa Instituto Superior Técnico, Portugal
2019 - 2020 Towards Automated Checking of Input Data Usage with Facebook Infer
Coorientador de 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
Orientador
MEIC (Mestrado)
Universidade de Lisboa Instituto Superior Técnico, Portugal
2016 - 2019 Planning Domain Model Acquisition from Narrative Synopses
Coorientador
Teesside University, Reino Unido
2014 - 2018 Visualising Natural Language: A Text-to-Scene Approach for recommendation and violations
Coorientador
Teesside University, Reino Unido
2012 - 2017 Reasoning about C11 Programs with Fences and Relaxed Atomics
Coorientador
Teesside University, Reino Unido
2013 - 2016 RuthR: A High-Level Reversible Programming Language
Orientador
Teesside University, Reino Unido
2014 - 2015 Therapeutic game based on narrative generation techniques for Schizophrenia
Coorientador
École nationale d'ingénieurs de Brest, França

Organização de evento

Nome do evento
Tipo de evento (Tipo de participação)
Instituição / Organização
2024 - 2024 Co-Chair of The Programming Languages Mentoring Workshop (PLMW) @ SPLASH 2024 (2024 - 2024)
Oficina (workshop) (Coorganizador)
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)
Oficina (workshop) (Coorganizador)
2022 - 2022 Co-chair of PhD-iFM'22, the PhD Symposium at the 17th International Conference on integrated Formal Methods (iFM) (2022 - 2022)
Conferência (Coorganizador)
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)
Concurso (Presidente da Comissão Organizadora)
2020 - 2021/02/20 Coordinator of MIUP 2020 (Inter-University Programming Marathon) (2020 - 2021/02/20)
Concurso (Presidente da Comissão Organizadora)
2021 - 2021 Co-chair of Formal Methods Teaching Workshop and Tutorial (FMTea'21) (2021 - 2021)
Conferência (Coorganizador)
2021 - 2021 Co-chair of RSDA21: 6th IEEE International Workshop on Reliability and Security Data Analysis (2021 - 2021)
Conferência (Coorganizador)
2019 - 2019 Scientific Coordinator of MIUP 2019 (Inter-University Programming Marathon) (2019/10/12 - 2019/10/12)
Concurso (Membro da Comissão Científica)
2017 - 2017 Organizer of the Northern Concurrency Working Group Meeting, held at Teesside University, 13th of January 2017 (https://ncwg.github.io/2017) (2013)
Oficina (workshop) (Coorganizador)

Júri de grau académico

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

Arbitragem científica em conferência

Nome da conferência Local da conferência
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

Arbitragem científica em revista

Nome da revista (ISSN) Editora
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

Comissão de avaliação

Descrição da atividade
Tipo de assessoria
Instituição / Organização Entidade financiadora
2022 - 2023 Evaluator/Reviewer for international R&D projects/grants: Natural Sciences and Engineering Research Council of Canada (NSERC)
Avaliador
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)

Membro de associação

Nome da associação Tipo de participação
2017 - Atual Formal Methods Europe (FME) Teaching Committee Member
2011 - Atual Association for Computing Machinery Professional Member

Membro de comissão

Descrição da atividade
Tipo de participação
Instituição / Organização
2019 - Atual Conference program committee member - 3rd World Congress on Formal Methods (FM 2019), 2019
Membro
2019 - Atual Conference program committee member - Mathematics of Program Construction (MPC 2019), 2019
Membro
2019 - Atual Conference program committee member - International Conference on Knowledge Capture (K-CAP 2019), 2019
Membro
2019 - Atual Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2019), 2019
Membro
2019 - Atual Conference program committee member - Formal Methods Teaching Workshop and Tutorial (FMTea 2019), 2019
Membro
2019 - Atual Conference program committee member - 9th International Workshop on Open Community approaches to Education, Research and Technology (OpenCERT 2019), 2019
Membro
2018 - Atual Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2018), 2018
Membro
2018 - Atual Conference program committee member - The 31st International Florida Artificial Intelligence Research Society Conference (FLAIRS-31), 2018
Membro
2017 - Atual Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2017), 2017
Membro
2017 - Atual Conference program committee member - The 30th International Florida Artificial Intelligence Research Society Conference (FLAIRS-30), 2017
Membro
2016 - Atual Conference program committee member - The 29th International Florida Artificial Intelligence Research Society Conference (FLAIRS-29), 2016
Membro
2016 - Atual Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2016), 2016
Membro
2015 - Atual Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2015), 2015
Membro
2014 - Atual Conference program committee member - INForum, Simpósio de Informática, 2014
Membro
2014 - Atual Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2014), 2014
Membro
2013 - Atual Conference program committee member - 7th International Workshop on Foundations and Techniques for Open Source Software Certification (OpenCert2013), 2013
Membro
2013 - Atual Conference program committee member - Brazilian Symposium on Programming Languages (SBLP 2013), 2013
Membro
2012 - Atual Conference program committee member- Brazilian Symposium on Programming Languages (SBLP 2012), 2012
Membro
2012 - Atual Conference program committee member - 6th International Symposium on Theoretical Aspects of Software Engineering (TASE 2012), 2012
Membro
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)

Outro júri / avaliação

Descrição da atividade Instituição / Organização
2019/07/25 - Atual Examiner of 1st year PhD examination (João Reis) Universidade da Beira Interior, Portugal
2018 - Atual Arguente de projecto de dissertação (mestrado) Universidade de Lisboa Instituto Superior Técnico, Portugal
2015 - Atual Supervised Work Experience: Industrial Placements at Accenture UK Teesside University, Reino Unido
2011 - 2016 Final Year Project Supervision Teesside University, Reino Unido
Distinções

Prémio

2024 Selected as a Visiting Researcher at Carnegie Mellon University, funded by CMU Portugal

Título

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

Outra distinção

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, Reino Unido
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