Identification
Personal identification
- Full name
- Bernardo Toninho
Citation names
- Toninho, Bernardo
Author identifiers
- Ciência ID
- 6210-E4BB-0B8E
- ORCID iD
- 0000-0002-0746-7514
- Google Scholar ID
- LqQoVtgAAAAJ
Knowledge fields
- Exact Sciences - Computer and Information Sciences
- Exact Sciences - Computer and Information Sciences
- Exact Sciences - Computer and Information Sciences
Languages
Language | Speaking | Reading | Writing | Listening | Peer-review |
---|---|---|---|---|---|
English | Advanced (C1) | Advanced (C1) | Advanced (C1) | Advanced (C1) | |
Portuguese | Advanced (C1) | Advanced (C1) | Advanced (C1) | Advanced (C1) | |
French | Beginner (A1) | Intermediate (B1) | Intermediate (B1) | Beginner (A1) | |
Spanish; Castilian | Intermediate (B1) | Advanced (C1) | Intermediate (B1) | Intermediate (B1) |
Education
Degree | Classification | |
---|---|---|
2015
Concluded
|
Doctorate in Informatics (Doutoramento)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
"A Logical Foundation for Session-based Concurrent Computation" (THESIS/DISSERTATION)
|
n/a |
2015
Concluded
|
Doctor of Philosophy in Computer Science (Doutoramento)
Carnegie Mellon University, United States
"A Logical Foundation for Session-based Concurrent Computation" (THESIS/DISSERTATION)
|
n/a |
2012
Concluded
|
Master of Science in Computer Science (Mestrado)
Carnegie Mellon University, United States
"n/a" (THESIS/DISSERTATION)
|
n/a |
2009
Concluded
|
Master of Informatics Engineering (Mestrado)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
"A Logic and Tool for Local Reasoning about Security Protocols" (THESIS/DISSERTATION)
|
18 |
2007
Concluded
|
Informatics Engineering (Licenciatura)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
14 |
Affiliation
Science
Category Host institution |
Employer | |
---|---|---|
2025/03 - Current | Researcher (Research) | Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa, Portugal |
2018 - 2025 | Researcher (Research) | Universidade Nova de Lisboa Laboratório para a Ciência da Computação e Informática, Portugal |
Teaching in Higher Education
Category Host institution |
Employer | |
---|---|---|
2025/03 - Current | Associate Professor (University Teacher) | Universidade de Lisboa Instituto Superior Técnico, Portugal |
Universidade de Lisboa Instituto Superior Técnico, Portugal | ||
2024/01 - 2025/02 | Associate Professor (University Teacher) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2018/02/01 - 2024/01 | Assistant Professor (University Teacher) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
Others
Category Host institution |
Employer | |
---|---|---|
2015/06/01 - 2018/01/01 | Research Associate (Investigador Pós-Doutoral) | Imperial College London, United Kingdom |
Projects
Contract
Designation | Funders | |
---|---|---|
2023 - 2026/12 | TaRDIS - Trustworthy and Resilient Decentralised Intelligence for Edge Systems
101093006
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
Horizon 2020
Ongoing
|
2020/04/01 - 2023/03/31 | Automated Programming to Revolutionize App Development (GOLEM)
LISBOA-01-0247-FEDER-045917
Researcher
Universidade Nova de Lisboa Laboratório para a Ciência da Computação e Informática, Portugal
|
Fundação para a Ciência e a Tecnologia
Ongoing
|
2018/03/01 - 2023 | Behavioural Application Program Interfaces (BehAPI)
Researcher
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
Concluded
|
2015/07/17 - 2018/06/29 | Conversation-Based Governance for Distributed Systems by Multiparty Session Types
info:eu-repo/grantAgreement/RCUK/EPSRC/EP2%FK0117152%F1/GB
Researcher
|
Fundação para a Ciência e a Tecnologia |
2017/05/20 - 2018/02/15 | From Data Types to Session Types---A Basis for Concurrency and Distribution
info:eu-repo/grantAgreement/RCUK/EPSRC/EP2%FK0344132%F1/GB
Researcher
|
Fundação para a Ciência e a Tecnologia
Concluded
|
2012/10/26 - 2016/10/25 | Behavioural Types for Reliable Large- Scale Software Systems
COST Action IC1201
Researcher
|
Concluded
|
2009/09/01 - 2013/06/01 | Certified Interfaces for Integrity and Security in Extensible Web-based Applications
PhD Student Fellow
|
Fundação para a Ciência e a Tecnologia
Concluded
|
Outputs
Publications
Book chapter |
|
Conference paper |
|
Journal article |
|
Thesis / Dissertation |
|
Other
Software |
|
Activities
Oral presentation
Presentation title | Event name Host (Event location) |
|
---|---|---|
2022 | Ferrite: A Judgmental Embedding of Session Types in Rust (Invited Talk) | Seminar for the Computer Science Department
Faculdade de Ciências da Universidade de Lisboa
|
2021 | A Decade of Dependent Session Types | International Symposium on Principles and Practice of Declarative Programming |
2021 | Featherweight Go | Seminar for the Computer Science Department
Universidade NOVA de Lisboa Faculdade de Ciências e Tecnologia
|
2021 | Featherweight Go | Go User Group London
Go User Group London (United Kingdom)
|
2019 | Refinement kinds: type-safe programming with practical type-level computation | CM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity - OOPSLA
(Greece)
|
2019 | Interconnectability of Session-Based Logical Processes | ACM SIGPLAN Symposium on Principles of Programming Languages |
2019 | Refinement kinds: type-safe programming with practical type-level computation |
Facebook London
|
2019 | Refinement Kinds | Seminar for the Computer Science Department
Faculdade de Ciências da Universidade de Lisboa
|
2018 | A Universal Session Type for Untyped Asynchronous Communication | 29th International Conference on Concurrency Theory
(China)
|
2018 | Depending on Session-Typed Processes | Foundations of Software Science and Computation Structures - 21st International Conference
(Greece)
|
2018 | Depending on Session-typed Processes | Invited talk at the special session on Session Types, presented at the Conference on the Mathematical Foundations of Programming Semantics |
2017 | On the Expressiveness of Parametricity in Polymorphic Session Types. | Aarhus Concurrency Workshop
Aarhus University (Denmark)
|
2017 | Session Types and Linear Logic |
University College London (United Kingdom)
|
2017 | Fencing off go: liveness and safety for channel-based programming | ACM SIGPLAN Symposium on Principles of Programming Languages
(France)
|
2017 | Session Types and Linear Logic | Seminar for the Computer Science Department
University of Bath
|
2017 | Session Types, Linear Logic and Lightweight Applications of Session Types in Java | Seminar for the Computer Science Department
University College London
|
2016 | Fencing Off Go: Liveness and Safety for Channel-based Programming |
Cambridge University (United Kingdom)
|
2016 | Certifying Data in Multiparty Session Types | Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday
University of Edinburgh (United Kingdom)
|
2015 | Certifying Data in Multiparty Session Types |
Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa
|
2015 | Certifying Data in Multiparty Session Types |
Faculdade de Ciências, Universidade de Lisboa
|
2014 | Corecursion and Non-divergence in Session-Typed Processes | Trustworthy Global Computing - 9th International Symposium
(Italy)
|
2013 | Higher-Order Processes, Functions, and Sessions: A Monadic Integration | Programming Languages and Systems - 22nd European Symposium on Programming
(Italy)
|
2013 | Proof-Carrying Code with Dependent Session Types, Dynamic Spatial Logics, Gradual Security Types and Sessions | Behavioural Types for Reliable Large-Scale Software Systems (BETTY) Working Group Meeting |
2012 | Functions as Session-Typed Processes | Foundations of Software Science and Computation Structures - 15th International Conference
(Estonia)
|
2012 | Linear Logic: A Logical Foundation for Concurrent Computation | Curry-Howard: Logic and Computation Monthly Meeting (CHoCoLa) |
2011 | Dependent session types via intuitionistic linear type theory | 13th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming
(Denmark)
|
2010 | A Spatial-Epistemic Logic for Reasoning about Security Protocols | International Workshop on Security Issues in Concurrency
(France)
|
Supervision
Thesis Title Role |
Degree Subject (Type) Institution / Organization |
|
---|---|---|
2021 - Current | Temporal session types for hardware design and verification
Supervisor
|
Informática (PhD)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
Carnegie Mellon University, United States |
2019 - Current | Designing and Implementing a Compiled Programming Language with Session-Typed Concurrency
Supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2022 - 2023 | An optimizing compiler for a session-based concurrent language
Supervisor
|
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2022 - 2023 | Type-checking Linearity in Core: Semantic Linearity in a Lazy Optimising Compiler
Supervisor
|
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2021/10 - 2022 | Session Kotlin: An Embedded DSL for Session Types in Kotlin
Supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2021/10 - 2022 | Automatic Selection of Biometric Information
Co-supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2020 - 2022 | Making Session Types Go
Supervisor
|
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2020/11 - 2021/12 | Featherweight Generic Go with Untyped Constants,
Structural Type Definitions and Type Inference
Supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2020/11 - 2021/09 | Outsystems Logic Previewer
Supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2020/10 - 2021/09 | Typed Meta-programming with Kind Refinements - Bidirectionally
Supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2021 - 2021 | Synthesis of Linear Functional Programs
Supervisor
|
Engenharia Informática (Scientific initiation)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2020 - 2021 | Type-driven Synthesis of Evolving Data Models and APIs
Supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2019 - 2020 | Upgrading decision support systems with Cloud-based environments and machine learning
Co-supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2019 - 2020 | Automação de implementações de serviços na Cloud utilizando o modelo de infraestrutura como código
Co-supervisor
|
Engenharia Informática (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2019 - 2019 | Automação de implementações de serviços na Cloud utilizando o modelo de infraestrutura como código
Supervisor
|
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2016 - 2016 | Scribble in Haskell: Generating Endpoint Implementations from Communication Protocols
Co-supervisor
|
Imperial College London, United Kingdom
|
Event organisation
Event name Type of event (Role) |
Institution / Organization | |
---|---|---|
2023 - 2023 | EUTOPIA Doctoral Summer School. Local organizer and Scientific Committee member (2023/06/19 - 2023/06/23)
Other
|
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2017 - 2018 | Programming Languages Mentoring Workshop (PLMW) at the ACM Symposium on Principles of Programming Languages (POPL) 2018 (2018/01 - 2018/01)
Workshop (Co-organisor)
|
Jury of academic degree
Topic Role |
Candidate name (Type of degree) Institution / Organization |
|
---|---|---|
2023 | News-MQA: Multimodal question answering benchmark over news pieces
President of the jury
|
Catarina Lopes (Master) |
2023 | Shared channels on context-free session types
(Thesis) Main arguer
|
Diogo Filipe da Paz de Barros (Master)
Universidade de Lisboa Faculdade de Ciências, Portugal
|
2023 | CLASS: A Logical Foundation for Typeful Programming with Shared State
(Thesis) Arguer
|
Pedro Rocha (PhD)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2022 | On Forgetting Relations in Relational Databases
President of the jury
|
Guilherme Fonseca (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2022 | Assess the effect of angiogenesis inhibition in intra-tumor heterogeneity.
President of the jury
|
David Pais (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2022 | Parametric Optimization Support for Generative Engineering
President of the jury
|
Tiago Cotovio (Master) |
2021 | Thesis Committee member
Thesis Member
|
Pedro Rocha (PhD)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2021 | Sistema para avaliação de postura com utilização de sensores
President of the jury
|
Gabriel Botelho (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2021 | LowNimbus: A decentralized autonomic cloud to edge deployment framework
President of the jury
|
Bruno Anjos (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2021 | Clustering of protein-protein Interfaces
President of the jury
|
João Afonso (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2020/07 | Presidente do Juri das provas de mestrado do aluno João Paulo dos Santos Pires. Título da tese: Representing Amino Acid Contacts
In Protein Interfaces
President of the jury
|
João Paulo dos Santos Pires (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2019 | Presidente do Juri das provas de mestrado do aluno Vasco Coelho. Título da tese: Study and optimization of the memory management
in Memcached
President of the jury
|
Vasco Coelho (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
2019 | Arguente das provas de Mestrado do aluno Francisco Fernandes. Título da tese: Progressive Web App: Uma Experiência Cross-Platform
para Gestão de Consumos Energéticos
(Thesis) Arguer
|
Francisco Miguel Antunes Fernandes (Master) |
2019 | Presidente do Júri das provas de mestrado do aluno Roberto Veloso. Título da tese: Uma linguagem para modelação de requisitos
de interface para WebGIS
President of the jury
|
Roberto Jorge Melo Veloso (Master) |
2019 | The Logic of Fault-Tolerance in Message-Passing Concurrency
(Thesis) Arguer
|
Bas van den Heuvel (Master)
Universiteit van Amsterdam, Netherlands
|
2019 | Thesis Committee Membership (External Examiner). Thesis: Session-Typed Concurrent Contracts/
(Thesis) Main arguer
|
Hannah Gommerstadt (PhD)
Carnegie Mellon University, United States
|
2018 | Presidente do Júri das provas de mestrado do aluno Eduardo Geraldo. Título da tese: SNITCH: Dependent Dynamic Information
Flow Analysis on Intermediate Java Code.
President of the jury
|
Eduardo Geraldo (Master)
Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal
|
Committee member
Activity description Role |
Institution / Organization | |
---|---|---|
2023 - Current | Steering Committee Member (elected) of NOVA LINCS Research Center | Universidade Nova de Lisboa Laboratório para a Ciência da Computação e Informática, Portugal |
2022 - Current | Member (elected) of Computer Science Department Council (CDI) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2022 - Current | Executive Board of the Computer Science Department | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
Conference scientific committee
Conference name | Conference host | |
---|---|---|
2023 - 2024 | ACM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH 2024) | |
2023 - 2023 | 21st International Conference on Software Engineering and Formal Methods (SEFM 2023) | |
2023 - 2023 | 30 Years of Session Types Workshop (ST30) | |
2023 - 2023 | 3rd International Workshop on Recent Advances in Concurrency and Logic (RADICAL 2023) | |
2022 - 2023 | 27th ACM SIGPLAN International Conference on Functional Programming (ICFP) | |
2022 - 2023 | ACM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH 2023). | |
2022 - 2022 | 31st European Symposium on Programming | |
2022 - 2022 | 17th Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 2022) | |
2021 - 2021 | 32nd International Conference on Concurrency Theory (CONCUR) | |
2019 - 2019 | 2nd International Workshop on Recent Advances in Concurrency and Logic (RADICAL 2019) | |
2017 - 2017 | 19th International Symposium on Principles and Practice of Declarative Programming (PPDP 2017) | |
2016 - 2016 | 11th Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 2016) | |
2016 - 2016 | Workshop on Programming Language Approaches to Concurrency and Communication-centric Software (PLACES 2016) | |
2015 - 2015 | Workshop on Interaction and Concurrency Experience (ICE 2015) | |
2014 - 2014 | Workshop on Interaction and Concurrency Experience (ICE 2014) |
Course / Discipline taught
Academic session | Degree Subject (Type) | Institution / Organization | |
---|---|---|---|
2021/03 - Current | Construção e Verificação de Software (Construction and Verification of Software), Laboratory classes | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2021/03 - Current | Análise e Desenho de Algoritmos (Analysis and Design of Algorithms), Laboratory classes | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2020/09 - Current | Modelação e Validação de Sistemas Concorrentes (Modeling and Validation of Concurrent Systems) | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2020/03 - Current | Análise e Desenho de Algoritmos (Aulas Práticas) | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2022/03 - 2022/07 | Construção e Verificação de Software (Construction and Verification of Software) | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2021/09 - 2022/02 | Introdução à Programação (Introduction to Programming). | Engenharia Informática (Licenciatura) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2021/09 - 2022/01 | Programação Concorrente: Linguagens e Técnicas (Concurrent Programming: Languages and Techniques) | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2020/09 - 2021/01 | Introdução à Programação | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2019/09 - 2020/01 | Introdução à Programação | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2019/03 - 2019/07 | Análise e Desenho de Algoritmos (Aulas Práticas) | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2018/09 - 2019/01 | Introdução à Programação | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2018/03 - 2018/07 | Análise e Desenho de Algoritmos (Aulas Práticas) | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2016/01 - 2016/03 | Computing Topics | Computing (Bachelor) | Imperial College London, United Kingdom |
2015 - 2015/06 | Base de Dados | Engenharia Informática (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2012/03 - 2012/06 | Análise e Desenho de Algoritmos | Engenharia Informática (Licenciatura) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2011/09 - 2011/12 | Type Systems and Programming Languages | Computer Science (Doctor of Philosophy) | Carnegie Mellon University School of Computer Science, United States |
2008/09 - 2008/12 | Teoria da Computação | Engenharia Informática (Licenciatura) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
2007/10 - 2008/01 | Introdução à Programação (B) | Engenharia Biomédica (Mestrado integrado) | Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia, Portugal |
Journal scientific committee
Journal title (ISSN) | Publisher | |
---|---|---|
2015 - Current | Mathematical Structures in Computer Science (1469-8072) | Cambridge University Press |
2015 - Current | Journal of Logical and Algebraic Methods in Programming (2352-2208) | Elsevier |
2014 - Current | Logical Methods in Computer Science (1860-5974) | Logical Methods in Computer Science |
2013 - Current | Science of Computer Programming (0167-6423) | Elsevier |
2013 - 2013 | Journal of Functional Programming |
Other jury / evaluation
Activity description | Institution / Organization | |
---|---|---|
2022 - Current | MSc intermediate report evaluation | Universidade de Lisboa Faculdade de Ciências, Portugal |
Distinctions
Award
2022 | Distinguished Paper Award for Ferrite: A Judgmental Embedding of Session Types in Rust at ECOOP 2022 |
2022 | Distinguished reviewer award at the 31st European Symposium on Programming (ESOP 22) |
2022 | Best paper award at the 13th INFORUM, Simpósio de Informática (INFORUM 2022) for the paper Making Session Types Go: Compilation of a session-typed functional language to Go |
2021 | 10 Year Most Influential Paper Award at the International Symposium on Principles and Practice of Declarative Programming (PPDP) |