My main research interests lie in the area of functional programming languages, namely in the static analysis of programs using type systems and type inference. I am particularly interested in type systems that employ advanced techniques: intersection types; gradual types; substructural type systems, namely linear and their application in the context of binary session types; and type systems that support languages with metaprogramming capabilities. I am also interested in object-oriented languages, namely minimal formalizations of languages such as Java, and in exploring how functional language concepts can be applied to this context.
Beyond these topics, I am interested in exploring other areas. Still within type systems, I am interested in studying: type systems for choreographic languages, besides binary session types, such as multiparty session types; dependent types and refinement types; parametric polymorphism. However, my research interests are not limited to the area of type systems. In the future, I would like to explore the following topics: more advanced compilation techniques, such as Just-in-Time; network protocols, and how they can be described more formally, using session types, for example; intermediate cryptographic protocols and their interaction with communication and concurrency; SMT and SAT solvers; theorem provers; and abstract interpretation.