next up previous
Next: About this document ... Up: Research Previous: Research

Research Interests

My research interests encompass the areas of programming languages, static program analysis and mobile computation in large scale distributed networks. Recently, I have focused on foundational aspects of languages which include support for code mobility and security as a design objective. In particular, I am interested in the use of static type systems as a means for estimating the dynamic behaviour of programs and enforcing properties concerning the integrity of systems and secure information flow.

Functional programming languages of the ML family such as Standard ML, Concurrent ML and Facile have provided the framework of my research so far. These languages are known for their expressive power due to higher-order programming constructs, well-definedness of their computational model and the presence of sophisticated type systems which provide security through type safety in the contexts of sequential and concurrent computation. My doctoral research was motivated by the idea that adopting the principles of functional computation can give rise to well-founded and secure mobile code languages which also enable rigorous reasoning about programs.

As a departure point in the exploration of functional mobile computation, I defined a simple language, Mobile-$\lambda$, which integrates a functional core with channel-based communication. In this language functions are first class values which can be transmitted between different sites in a system. This leads to a natural support for code mobility since functions are code containing computational objects. My primary interest has been to exploit the methodology of annotated type and effect systems to expose and analyse the behaviour of Mobile-$\lambda$ programs. Static estimation of potentially mobile functions and distributed call-tracking analysis are among the problems which I considered in the earlier stages of my research. The information obtained by such static analyses can be put to use in compiler-optimisations.

More recently, I have been investigating notions of secure information flow for functional mobile computation in multi-user systems where users and data may be of different trust and sensitivity levels. This involves adapting relatively well-established notions such as non-interference to the context of functional mobile computation and investigating novel notions which are particularly relevant to mobile functions. My work on the language Confined-$\lambda$ introduces a confidentiality property called "confinement in a mobility region". By using Confined-$\lambda$ a user can create a confidential piece of information and declare the subsystem in which this information is allowed to flow freely. Such a subsystem is called a mobility region and is declared by providing the required annotations. The type system of the language makes use of these annotations to guarantee that well-typed programs cannot leak the confidential information to the parties outside the designated mobility region.

In general, my work requires an understanding of theoretical models of functional and mobile computation as well as an awareness of the practical challenges of computing in modern distributed systems. In the near future, I intend to work on transforming the meta-language nature of the languages I have designed to arrive at realistic intermediate languages such as those employed within state-of-the-art compilers. I am also interested in exploring the connections of my work with object oriented mobile code languages which take objects rather than functions as basic mobile units.


next up previous
Next: About this document ... Up: Research Previous: Research
Dilsun Kirli 2000-12-15