My primary research interest lies in the area of functional programming, covering foundations, program analysis, language design, (parallel) implementation, and applications. I am particularly interested in symbolic computation and embedded systems as application domains for functional languages and techniques.
My current research focus is on high-level programming models for parallel computation. In particular, I am working on the implementation of Glasgow parallel Haskell (GpH), its application to problems in the area of symbolic computation (in the and HPCGAP projects) and abstractions built on top of GpH (evaluation strategies). I have been involved in the design and implementation of the following programming languages: Glasgow parallel Haskell (GpH), Glasgow distributed Haskell (GdH), mobile Haskell and Camelot.SCIEnce
I am also doing research on foundations of programming languages and systems. In particular, I have developed a VDM-style program logic and a specialised resource logic for the expression-level fragment of the embedded systems language. For my PhD thesis I have developed a granularity analysis for deriving bounds on the costs of (non-recursive) functional programs. More recently I have contributed to the development and implementation of a type-based inference of space and time consumption of Hume programs.
My research vision is one of formally-grounded design of effective and efficient complex systems. The design of such systems should build on formal foundations, such as type systems and program logics, and use formalisations in provers such as Isabelle/HOL to achieve a high degree of dependability and to be provably effective. To be efficient the system should support, as an essential ingredient, modern computer architectures such as multi- and many-core machines in-the-small and grid- and cloud-architectures in-the-large. This vision is exemplified, by using cost information of a granularity analysis to guide the management of parallelism in GpH; by using formally-driven program transformations to enhance the performance of parallel functional programs; by developing a proof-carrying-code infrastructure to assure bounded space consumption of mobile code; by jointly developing and implementing resource analyses for embedded systems programs, and using the resource bounds in compilation and in specialised resource logics for certification
I received an MSc ("Dipl-Ing") degree from Johannes Kepler University in Austria in 1992, and a PhD degree from the University of Glasgow in 1998 for my research on the parallel implementation of functional languages. From 1999 to 2002 I worked as a postdoctoral research fellow of the Austrian Academy of Sciences at Heriot-Watt University, Edinburgh, on architecture-independent parallelism. From 2002 to 2009 I worked as a postdoctoral researcher in the Theoretical Computer Science group at Ludwig-Maximilians University Munich on the EU-funded projects MRG and EmBounded. The goal of these projects was to develop an infrastructure for resource-safe computation, dealing with statically inferring resource bounds, (automatically) verifying concrete resource bounds, and certifying resource bounds by employing proof-carrying-code techniques. Since 2009 I am a lecturer at the School of Mathematical and Computer Sciences of Heriot-Watt University, Edinburgh.