Programming Languages and Compilers

Our research involves most aspects of the design, use, and implementation of programming languages. In particular, we have a strong interest in type systems, program analysis, code optimisation, memory management, high performance, security, interoperability, components, and embedded systems. We are interested in a range of language paradigms, including imperative, object-oriented, and functional programming, and place a strong emphasis on a proper formal foundation of our work.

A principled approach to the development of software systems is increasingly important as those systems grow more complex and are put in charge of increasingly safety-critical tasks, a development that is aggravated by the proliferation of embedded and mobile systems as well as cloud computing. Programming language technology is at the heart of every software effort, and thus, forms the basis for any form of principled software development. The increasing complexity of computer systems also entails that pen and paper designs without rigorous experimental evaluation will generally fail to meet their practical requirements. In our work, we facilitate experimental validation and the dissemination of results by implementing compiler infrastructure and other research software as part of open source software projects.

A large part of our research efforts are driven by the Compiler Research Group (CORG) and the Programming Languages and Systems Group (PLS). Moreover, we are involved in the Trustworthy Systems Project at Data61 (formerly NICTA).

 

Group members

Click through for a list of Research Group Members.