Submitted drafts

International Conferences and Journals

  • Luís Caires.Thread and Memory-Safe Programming with CLASS. International Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software, PLACES 2025 (2025). EPTCS 420, 2025.
  • Luís Caires, Bernardo Toninho. The Session Abstract Machine Programming Languages and Systems – 33rd European Symposium on Programming. ESOP 2024 (2024). Springer-Verlag Lecture Notes in Computer Science 14576.
  • Pedro Rocha, Luís Caires. Safe Session-Based Concurrency with Shared Linear State. Programming Languages and Systems – 32th European Symposium on Programming. ESOP 2023 (2023). Springer-Verlag Lecture Notes in Computer Science 13990.
  • Pedro Rocha, Luís Caires. Propositions-as-types and Shared State. Proc. ACM Program. Lang. 5. 26th ACM SIGPLAN International Conference on Functional Programming. ICFP 21: 1-30 (2021). Proc. ACM Program. Lang, 5.
  • Luís Caires, Bernardo Toninho. Refinement kinds: type-safe programming with practical type-level computation. Proc. ACM Program. Lang. 3. ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications. OOPSLA 2019: 131:1-131:30.
  • Bernardo Toninho, Luís Caires, Frank Pfenning. A Decade of Dependent Session Types. 23rd ACM International Symposium on Principles and Practice of Declarative Programming, PPDP 2021: 3:1-3:3. 10 Year Most Influential Paper Award.
  • Luís Caires, Jorge A. Pérez, Frank Pfenning, Bernardo Toninho: Domain-Aware Session Types. 30th International Conference on Concurrency Theory, CONCUR 2019: 39:1-39:17. LIPIcs 140.
  • Luís Caires, Jorge A. Pérez. Linearity, Control Effects, and Behavioural Types. Programming Languages and Systems – 26th European Symposium on Programming. ESOP 2017: 229-259. Springer-Verlag Lecture Notes in Computer Science 10201.
  • Filipe Militão, Jonathan Aldrich, Luís Caires: Composing Interfering Abstract Protocols. 30th European Conference on Object-Oriented Programming. ECOOP 2016: 16:1-16:26. LIPIcs 56.
  • Luís Caires, Frank Pfenning and Bernardo Toninho. Linear Logic Propositions as Session Types. MSCS Mathematical Structures in Computer Science, 26(3): 367-423, Cambridge University Press, 2016.
  • Hans Huttel, Ivan Lanese, Vasco T. Vasconcelos, Luís Caires, Marco Carbone, Pierre-Malo Deniélou, Dimitris Mostrous, Luca Padovani, António Ravara, Emilio Tuosto, Hugo Vieira, G. Zavattaro. Foundations of Session Types and Behavioural Contracts. ACM Computing Surveys 49(1): 3:1-3:36 (2016).
  • Luís Caires, Jorge A. Pérez. Multiparty Session Types Within a Canonical Binary Theory, and Beyond. Formal Techniques for Distributed Objects, Components, and Systems – 36th IFIP WG 6.1 International Conference. FORTE 2016: 74-95. Springer Verlag Lecture Notes in Computer Science 9688.
  • Luísa Lourenço, Luís Caires. Dependent Information Flow Types. 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL 2015: 317-328.
  • Filipe Militão, Jonathan Aldrich, Luís Caires. Rely-Guarantee Protocols. Object- Oriented Programming – 28th European Conference. ECOOP 2014: 334-359. Springer Verlag Lecture Notes in Computer Science 8586.
  • Jorge A. Pérez, Luís Caires, Frank Pfenning, Bernardo Toninho: Linear Logical Relations and Observational equivalences for Session-based Concurrency. Information and Computation, Elsevier. 239: 254-302 (2014).
  • Bernardo Toninho, Luís Caires, Frank Pfenning. Corecursion and Non-divergence in Session-Typed Processes. Trustworthy Global Computing – 9th International Symposium. TGC 2014: 159-175, Springer Verlag Lecture Notes in Computer Science 8902.
  • Filipe Militão, Jonathan Aldrich, Luís Caires: Substructural Typestates. Proceed- ings of the 2014 ACM SIGPLAN Workshop on Programming Languages meets Program Verification. PLPV 2014: 15-26.
  • Luís Caires, Jorge A. P ́erez, Frank Pfenning, Bernardo Toninho. Behavioral Polymorphism and Parametricity in Session-Based Communication. Programming Languages and Systems – 22nd European Symposium on Programming. ESOP 2013: 330-349. Springer Verlag Lecture Notes in Computer Science 7792.
  • Bernardo Toninho, Luís Caires, Frank Pfenning. Higher-Order Processes, Functions, and Sessions: A Monadic Integration. Programming Languages and Systems – 22nd European Symposium on Programming. ESOP 2013: 350-369. Springer Ver- lag Lecture Notes in Computer Science 7792,
  • Luís Caires, João C. Seco: The Type Discipline of Behavioural Separation. in 40th ACM SIGPLAN-SIGACT Symposium on Programming Languages POPL’13. ACM, 2013.
  • Luísa Lourenço, Luís Caires. Information Flow Analysis for Valued-Indexed Data Security Compartments. Trustworthy Global Computing – 8th International Symposium. TGC 2013: 180-198. Springer Verlag Lecture Notes in Computer Science 8358.
  • Henry DeYoung, Luís Caires, Frank Pfenning, Bernardo Toninho. Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication. 21th EACSL Annual Conference on Computer Science Logic. CSL 2012: 228-242. LIPIcs 16. core B.
  • Luís Caires, Hugo T. Vieira. SLMC: A Tool for Model Checking Concurrent Systems against Dynamical Spatial Logic Specifications. Tools and Algorithms for the Construction and Analysis of Systems – 18th International Conference. TACAS 2012: 485-491. Springer Verlag Lecture Notes in Computer Science 7214.
  • Bernardo Toninho, Luís Caires, Frank Pfenning. Functions as Session Typed Processes. Foundations of Software Science and Computational Structures – 15th International Conference. FoSSaCS 2012: 346-360. Springer Verlag Lecture Notes in Computer Science 7213.
  • Jorge Perez, Luís Caires, Frank Pfenning, Bernardo Toninho: Linear Logical Relations for Session-Based Concurrency. ESOP 2012, Programming Languages and Systems – 22th European Symposium on Programming, number 7211 in Lecture Notes in Computer Science, Springer-Verlag, 2012.
  • Luís Caires, Frank Pfenning, Bernardo Toninho: Towards Concurrent Type Theory. Proceedings of TLDI 2012: 2012 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, ACM, 2012.
  • Luís Caires, Hugo T. Vieira: Analyzing Service-based Software Systems with the Conversation Calculus. FACS 2010, Formal Aspects of Component Software, 7th International Workshop, number 6921 in Lecture Notes in Computer Science, Springer-Verlag, 2012.
  • Luis Caires, Rocco de Nicola, Rosario Pugliese, Vasco T. Vasconcelos, Gianluigi Zavattaro. Core Calculi for Service Oriented Computing, in Martin Wirsing, Matthias M. H ̈olzl, editors, “Rigorous Software Engineering for Service-Oriented Systems – Re- sults of the SENSORIA Project on Software Engineering for Service-Oriented Com- puting”, Lecture Notes in Computer Science, volume 6582 of Springer-Verlag, 2011.
  • Massimo Bartoletti, Luis Caires, Ivan Lanese, Franco Mazzanti, Davide Sangiorgi, Hugo T. Vieira and Roberto Zunino. Tools and Verification, in Martin Wirsing, Matthias Holzl, editors, “Rigorous Software Engineering for Service-Oriented Systems – Results of the SENSORIA Project on Software Engineering for Service- Oriented Computing”, Lecture Notes in Computer Science, volume 6582 of Springer- Verlag, 2011.
  • Frank Pfenning, Luís Caires, Bernardo Toninho: Proof-Carrying Code in a Session Typed Process Calculus. CPP 2011, Certified Programs and Proofs – First International Conference, number 7086 in Lecture Notes in Computer Science, Springer- Verlag, 2011.
  • Bernardo Toninho, Luís Caires, Frank Pfenning: Dependent Session Types via Intuitionistic Linear Type Theory. PPDP 2011, Proceedings of the 13th International ACM SIGPLAN Conference on Principles and Practice of Declarative Program- ming, ACM, 2011.
  • Luís Caires, Jorge A. Perez, João Costa Seco, Hugo Torres Vieira, Lucio Ferrão: Type-Based Access Control in Data-Centric Systems. ESOP 2011, 20th European Symposium on Programming Languages and Systems , number 6602 in Lecture Notes in Computer Science, Springer-Verlag, 2011.
  • Bernardo Toninho, Luís Caires: A Spatial-Epistemic Logic for Reasoning about Security Protocols. SecCO 2010, Proceedings 8th International Workshop on Security Issues in Concurrency, Electronic Proceedings in Theoretical Computer Science 51, 2010.
  • Luís Caires, Frank Pfenning: Session Types as Intuitionistic Linear Propositions. CONCUR 2010, 21th International Conference on Concurrency Theory, number 6269 in Lecture Notes in Computer Science, pages 222-236, Springer-Verlag, 2010. core A.
  • Filipe Militão, Jonathan Aldrich, Luís Caires: Aliasing Control with View-based Typestate. FTfJP’10 Formal Techniques for Java Programs, ECOOP 2010, ACM, 2010.
  • Mário Pires, Luís Caires. A Type System for Access Control Views in Object-Oriented Languages. ARSPA-WITS’10 Joint Conference on Automated Reasoning for Security Protocol Analysis and Issues in the Theory of Security, Revised Selected Papers, number 6186 in Lecture Notes in Computer Science, Springer-Verlag, 2010.
  • Luís Caires, Carla Ferreira, António Ravara. A Simple Proof System for Lock-Free Concurrency. PSPL’10 Proof Systems for Program Logics, LICS 2010, 2010.
  • Luís Caires, Hugo T. Vieira. Conversation Types. In Theoretical Computer Science, Elsevier, 411(51-52):4399–440, 2010.
  • Luísa Lourenço, Luís Caires. Type Inference for Conversation Types. PLACES’09 Programming Language Approaches to Concurrency and Communication-cEntric Software, March 2010.
  • Luís Caires. Spatial-Behavioral Types for Concurrency and Resource Countrol in Distributed Systems. In Theoretical Computer Science, Elsevier, 402(2-3):120–141, 2008.
  • Luís Caires, Hugo Torres Vieira: Conversation Types. European Symposium on Programming ESOP’09, number 5502 in Lecture Notes in Computer Science, pages 285-300, Springer-Verlag, 2009.
  • Hugo T. Vieira, L. Caires and J. Seco. The Conversation Calculus: A model of service-oriented computation. European Symposium on Programming ESOP’08, num ber 4960 in Lecture Notes in Computer Science. Springer-Verlag, 2008.
  • Luís Caires, Carla Ferreira and Hugo T. Vieira. A Process Calculus Analysis of Compensations. Fourth International Symposium on Trustworthy Global Computing TGC’08, number 5474 in Lecture Notes in Computer Science, Springer-Verlag, 2008.
  • Luís Caires. Dynamic Spatial Logics: A Tutorial Survey. Bulletin of the European Association for Theoretical Computer Science, 1, 2008.
  • Luís Caires. Logical Semantics of Types for Concurrency. Second International Conference on Algebra and Coalgenra in Computer Science CALCO’07, number 4624 in Lecture Notes in Computer Science, Springer-Verlag, 2007.
  • Luís Caires. Spatial-Behavioural Types for Distributed Services and Resources. Second International Symposium on Trustworthy Global Computing TGC’07, number 4661 in Lecture Notes in Computer Science, Springer-Verlag, 2007.
  • Michele Boreale, Roberto Bruni, Luís Caires, Rocco De Nicola, Ivan Lanese, Michele Loreti, Francisco Martins, Ugo Montanari, Antonio Ravara, Davide Sangiorgi, Vasco Vasconcelos, and Gianluigii Zavattaro. SCC: a service centered calculus. Proceedings of WS-FM 2006, 3rd International Workshop on Web Services and Formal Methods, number 4184 in Lecture Notes in Computer Science, Springer-Verlag, 2006.
  • João C. Seco and Luís Caires. Types for Dynamic Reconfiguration. European Symposium on Programming ESOP’06, number 3924 in Lecture Notes in Computer Science, 360–374. Springer-Verlag, 2006.
  • Luís Caires, Etienne Lozes. Elimination of Quantifiers and Undecidability in Spatial Logics for Concurrency. Theoretical Computer Science, Elsevier, 358(2-3):293– 314, 2006.
  • Luís Caires, Hugo T. Vieira. Extensionality of Spatial Observations in Distributed Systems. Electronic Notes in Theoretical Computer Science, Elsevier, 175(3):131–149, 2006.
  • João C. Seco and Luís Caires. Subtyping first-class Polymorphic Components. European Symposium on Programming ESOP’05, number 3444 in Lecture Notes in Computer Science, 360–374. Springer-Verlag, 2005.
  • Luís Caires, Luca Cardelli. A Spatial Logic for Concurrency (Part II). Theoretical Computer Science, Elsevier, 322(3):517-565, 2004.
  • Luís Caires and Etienne Lozes. Elimination of Quantifiers and Undecidability in Spatial Logics for Concurrency. Proc. of 15th International Conference on Concurrency Theory CONCUR’04, number 3170 in Lecture Notes in Computer Science. Springer-Verlag, 2004.
  • Luís Caires. Behavioral and Spatial Properties in a Logic for the Pi-Calculus. Proc. of Foundations of Software Science and Computation Structures FOSSACS’04, num- ber 2987 in Lecture Notes in Computer Science. Springer Verlag, 2004.
  • Luís Caires and Luca Cardelli. A Spatial Logic for Concurrency (Part I). Information and Computation, Elsevier, 186(2):194–235, 2003.
  • Luís Caires and Luca Cardelli. A Spatial Logic for Concurrency (Part II). In CONCUR 2002 (13th International Conference on Concurrency Thepry), Lecture Notes in Computer Science. Springer-Verlag, 2002.
  • Luís Caires and Luca Cardelli. A Spatial Logic for Concurrency (Part I). 10th Symposium on Theoretical Aspects of Computer Science TACS’01, volume 2215 of Lecture Notes in Computer Science, 1–30. Springer-Verlag, 2001.
  • João C. Seco and Luís Caires. Parametrically Typed Components. Proceedings of the Fifth International Workshop on Component Oriented Programming na European Conference on Object-Oriented Programming WCOP’00, 2000.
  • João C. Seco and Luís Caires. A Basic Model of Typed Components. European Conference on Object-Oriented Programming ECOOP’00, number 1850 in Lecture Notes in Computer Science, 42–56. Springer Verlag, 2000.
  • Luís Caires and Luís Monteiro. Verifiable and Executable Specifications of Concurrent Objects in Lpi. 7th European Symp. on Programming (ESOP 1998), number 1381 in Lecture Notes in Computer Science, 42–56. Springer-Verlag, 1998.
  • Luís Caires and Luís Monteiro. Proof net semantics of proof search computation. Proceedings of the Algebraic and Logic Programming International Conference ALP’97, number 1298 in Lecture Notes in Computer Science, 194–208, 1997.
  • Luís Caires. A language for the logical specification of processes and relations. Proceedings of the Algebraic and Logic Programming International Conference ALP’96, number 1139 in Lecture Notes in Computer Science, 150–164. Springer-Verlag, 1996.
  • Luís Caires and Luís Monteiro. Polymorphic higher-order unification for Logic Programming. In Pascal Van Henterick, editor, Proc. of the Eleventh International Conference on Logic Programming ICLP’94. MIT Press, 1994.
  • Luís Moniz Pereira, Luís Caires, and José J. Alferes. SLWV – A Theorem Prover for Logic Programming. Extensions of Logic Programming ELP’92, number 660 in Lecture Notes in Computer Science, 1–23. Springer-Verlag, 1992.
  • Luís Moniz Pereira, Luís Caires, and José J. Alferes. Classical negation in logic programs. In SBIA’90, 7th Brasilian Symposium of Artifical Intelligence, 1990.
  • José Alegria, Artur M. Dias, and Luís Caires. Towards distributed tools for heterogeneous logic programming environments. ICLP Logic Programming: Proc. of the Sixth International Conference, 505–520, MIT Press, 1989.

Edition of Proceedings and Special Issues

  • Luís Caires. Programming Languages and Systems – 28th European Symposium on Programming, ESOP 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, April 6-11, 2019, Proceedings. Lecture Notes in Computer Science 11423, Springer 2019.
  • Christel Baier, Luís Caires. Formal Techniques for Distributed Objects, Components, and Systems – 38th IFIP WG 6.1 International Conference, FORTE 2018, Held as Part of the 13th International Federated Conference on Distributed Computing Tech- niques, DisCoTec 2018, Madrid, Spain, June 18-21, 2018, Proceedings. Lecture Notes in Computer Science 10854, Springer 2018.
  • Luís Caires, Vasco T. Vasconcelos, Editors. Information and Computation, Vol- ume 208(6), Special Issue: 18th International Conference on Concurrency Theory (CONCUR 2007) , 2010.
  • Luís Caires, Vasco Thudichum Vasconcelos. Concurrency Theory, 18th International Conference, CONCUR 2007, Lisbon, Portugal, September 3-8, 2007, Proceedings. Lecture Notes in Computer Science 4703, Springer 2007.
  • Luís Caires, Giuseppe F. Italiano, Luís Monteiro, Catuscia Palamidessi, Moti Yung. Automata, Languages and Programming, 32nd International Colloquium, ICALP 2005, Lisbon, Portugal, July 11-15, 2005, Proceedings. Lecture Notes in Computer Science 3580, Springer 2005