Publications

Quick Links


Peer-Reviewed Book Chapters

  1. Polymorphic Session Processes as Morphisms
    Bernardo Toninho and Nobuko Yoshida
    The Art of Modelling Computational Systems: A Journey from Logic and Concurrency to Security and Privacy - Essays Dedicated to Catuscia Palamidessi on the Occasion of Her 60th Birthday (Palamidessifest), 2019
    [PDF]
  2. Certifying Data in Multiparty Session Types
    Bernardo Toninho and Nobuko Yoshida
    A List of Successes That Can Change the World - Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday (Wadlerfest), 2016
    [PDF]

Peer-Reviewed Conference and Workshop Papers

  1. Ferrite: A Judgmental Embedding of Session Types in Rust
    Ruofei Chen, Stephanie Balzer, and Bernardo Toninho
    European Conf. on Object-Oriented Programming (ECOOP), 2022
    [PDF, Code]
  2. Derivations with Holes for Concept-Based Program Synthesis
    João Seco, Jonathan Aldrich, Luis Carvalho, Bernardo Toninho, and Carla Ferreira
    International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (ONWARD), 2022
    [PDF]
  3. Making Session Types Go
    João Geraldo and Bernardo Toninho
    Simposio de Informatica (INFORUM), 2022
  4. A Decade of Dependent Session Types (Invited)
    Bernardo Toninho, Luís Caires, and Frank Pfenning
    ACM SIGPLAN Int. Symp. on Principles and Practice of Declarative Programming (PPDP), 2021
    [PDF]
  5. Domain-Aware Session Types
    Luís Caires, Jorge A. Pérez, Frank Pfenning, and Bernardo Toninho
    Int. Conf. on Concurrency Theory (CONCUR), 2019
    [PDF]
  6. Manifest Deadlock-Freedom for Shared Session Types
    Stephanie Balzer, Bernardo Toninho, and Frank Pfenning
    Programming Languages and Systems - European Symposium on Programming (ESOP), 2019
    [PDF]
  7. A Universal Session Type for Untyped Asynchronous Communication
    Stephanie Balzer, Frank Pfenning, and Bernardo Toninho
    Int. Conf. on Concurrency Theory (CONCUR), 2018
    [PDF]
  8. On Polymorphic Sessions and Functions - A Tale of Two (Fully Abstract) Encodings
    Bernardo Toninho and Nobuko Yoshida
    Programming Languages and Systems - European Symposium on Programming (ESOP), 2018
    [PDF]
  9. Depending on Session-Typed Processes
    Bernardo Toninho and Nobuko Yoshida
    Int. Conf. on Foundations of Software Science and Computation Structures (FoSSaCS), 2018
    [PDF]
  10. A Static Verification Framework for Message Passing in Go using Behavioural Types
    Julien Lange, Nicholas Ng, Bernardo Toninho, and Nobuko Yoshida
    ACM and IEEE Int. Conf. on Software Engineering (ICSE), 2018
    [PDF]
  11. Fencing off go: liveness and safety for channel-based programming
    Julien Lange, Nicholas Ng, Bernardo Toninho, and Nobuko Yoshida
    ACM SIGPLAN Symposium on Principles of Programming Languages (POPL), 2017
    [PDF, Code]
  12. Corecursion and Non-divergence in Session-Typed Processes
    Bernardo Toninho, Luís Caires, and Frank Pfenning
    Trustworthy Global Computing (TGC), 2014
    [PDF]
  13. Behavioral Polymorphism and Parametricity in Session-Based Communication
    Luís Caires, Jorge A. Pérez, Frank Pfenning, and Bernardo Toninho
    Programming Languages and Systems - European Symposium on Programming (ESOP), 2013
    [PDF]
  14. Higher-Order Processes, Functions, and Sessions: A Monadic Integration
    Bernardo Toninho, Luís Caires, and Frank Pfenning
    Programming Languages and Systems - European Symposium on Programming (ESOP), 2013
    [PDF]
  15. Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication
    Henry DeYoung, Luís Caires, Frank Pfenning, and Bernardo Toninho
    Annual Conf. of the EACSL, Computer Science Logic (CSL), 2012
    [PDF]
  16. Linear Logical Relations for Session-Based Concurrency
    Jorge A. Pérez, Luís Caires, Frank Pfenning, and Bernardo Toninho
    Programming Languages and Systems - European Symposium on Programming (ESOP), 2012
    [PDF]
  17. Functions as Session-Typed Processes
    Bernardo Toninho, Luís Caires, and Frank Pfenning
    Int. Conf. on Foundations of Software Science and Computation Structures (FoSSaCS), 2012
    [PDF]
  18. Towards concurrent type theory
    Luís Caires, Frank Pfenning, and Bernardo Toninho
    ACM SIGPLAN Int. Workshop on Types in Languages Design and Implementation (TLDI), 2012
    [PDF]
  19. Proof-Carrying Code in a Session-Typed Process Calculus
    Frank Pfenning, Luís Caires, and Bernardo Toninho
    ACM SIGPLAN Int. Conf. on Certified Programs and Proofs (CPP), 2011
    [PDF]
  20. Dependent session types via intuitionistic linear type theory
    Bernardo Toninho, Luís Caires, and Frank Pfenning
    ACM SIGPLAN Int. Symp. on Principles and Practice of Declarative Programming (PPDP), 2011
    [PDF]
  21. Constructive Provability Logic
    Robert J. Simmons and Bernardo Toninho
    Int. Workshop on Intuitionistic Modal Logics and Applications (IMLA), 2011
    [PDF]
  22. Distributed deductive databases, declaratively: The L10 logic programming language
    Robert J. Simmons, Bernardo Toninho, and Frank Pfenning
    ACM SIGPLAN X10 Workshop (X10), 2011
    [PDF]
  23. A Spatial-Epistemic Logic for Reasoning about Security Protocols
    Bernardo Toninho and Luís Caires
    Int. Workshop. on Security Issues in Concurrency (SecCo), 2010
    [PDF]

Journal Articles

  1. On Polymorphic Sessions and Functions: A Tale of Two (Fully Abstract) Encodings
    Bernardo Toninho and Nobuko Yoshida
    ACM Trans. on Programming Languages and Systems (TOPLAS), 2021
    To Appear
    [PDF]
  2. Featherweight Go
    Robert Griesemer, Raymond Hu, Wen Kokke, Julien Lange, Ian Taylor, Bernardo Toninho, Philip Wadler, and Nobuko Yoshida
    Proc. of the ACM on Programming Languages (PACMPL) issue ACM SIGPLAN Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH-OOPSLA), vol. 3, 2020
    [PDF, Code, Talk]
  3. Refinement kinds: Type-safe Programming with Practical Type-level Computation
    Luís Caires and Bernardo Toninho
    Proc. of the ACM on Programming Languages (PACMPL) issue ACM SIGPLAN Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH-OOPSLA), vol. 3, 2019
    [PDF, Code, Talk]
  4. Interconnectability of Session-Based Logical Processes
    Bernardo Toninho and Nobuko Yoshida
    ACM Trans. on Programming Languages and Systems (TOPLAS), vol. 40, num. 4, 2018, 1:1–1:42
    [PDF, Talk]
  5. Certifying data in multiparty session types
    Bernardo Toninho and Nobuko Yoshida
    Journal of Logic and Algebraic Methods in Programming (JLAMP), vol. 90, 2017
    [PDF]
  6. Linear logic propositions as session types
    Luís Caires, Frank Pfenning, and Bernardo Toninho
    Mathematical Structures in Computer Science (MSCS), 2016
    [PDF]
  7. Combining behavioural types with security analysis
    Massimo Bartoletti, Ilaria Castellani, Pierre-Malo Deniélou, Mariangola Dezani-Ciancaglini, Silvia Ghilezan, Jovanka Pantovic, Jorge A. Pérez, Peter Thiemann, Bernardo Toninho, and Hugo Torres Vieira
    Journal of Logic and Algebraic Methods in Programming (JLAMP), vol. 84, num. 6, 2015
    [PDF]
  8. Linear logical relations and observational equivalences for session-based concurrency
    Jorge A. Pérez, Luís Caires, Frank Pfenning, and Bernardo Toninho
    Information and Computation (I&C), vol. 239, 2014
    [PDF]

Invited Talks

  1. A Decade of Dependent Session Types (Invited Talk)
    Bernardo Toninho
    Principles and Practices of Declarative Programming, 2021
    [PDF, Talk]
  2. Featherweight Go
    Raymond Hu, Julien Lange, and Bernardo Toninho
    Go London User Group, 2021
    [Talk]
  3. Refinement Kinds
    Bernardo Toninho
    Facebook London, 2019
    [PDF]
  4. Refinement Kinds
    Bernardo Toninho
    Faculty of Science, University of Lisbon, 2019
    [PDF]
  5. Depending on Session-typed Processes
    Bernardo Toninho
    Mathematical Foundations of Programming Semantics, 2018
    [PDF]
  6. Session Types and Linear Logic
    Bernardo Toninho
    University of Bath, 2017
    [PDF]
  7. Session Types, Linear Logic and Lightweight Applications of Session Types in Java
    Bernardo Toninho and Raymond Hu
    University College London, 2017
    [PDF]
  8. Linear Logic: A Logical Foundation for Concurrent Computation
    Bernardo Toninho
    Curry-Howard: Logic and Computation Monthly Meeting (Lyon), 2012
    [PDF]

Theses and Other Papers

  1. A Logical Foundation for Session-based Concurrent Computation
    Bernardo Toninho
    PhD thesis, Carnegie Mellon University and NOVA University of Lisbon, 2015
    [PDF]
  2. A Logic and Tool for Local Reasoning about Security Protocols
    Bernardo Toninho
    MSc thesis, School of Science and Technology, NOVA University of Lisbon, 2009
    [PDF, Code]