PhD student position in Functional Heterogeneous Systems

The Wallenberg Autonomous Systems and Software Program (WASP) is advertising a total of 31 PhD projects, and this will result in the appointment of 22 PhD students at the five Universities involved. One of those projects is about Functional Heterogeneous Systems. If this project makes the cut, then the chosen student will join the Functional Programming Group at Chalmers, and be supervised by Mary Sheeran and Koen Claessen. Being a WASP student also gives access to special PhD courses, summer schools and conferences, and is very likely to involve industrial collaboration. Note too that PhD students in Sweden are employees, and are paid a decent salary! This PhD project is more likely to make the cut if it gets excellent applicants. So please consider making this project your top priority.

In the Functional Programming Group at Chalmers, we have long been interested in code-generating Embedded Domain Specific Languages (EDSLs). We have worked on Lava for hardware generation, Obsidian for GPU programming and Feldspar for DSP algorithm development, for instance. In several of our recent projects, we have found ourselves dealing with programming heterogeneous systems, whether it be host plus multicore on the Parallella board or hardware plus software for FPGA programming. Recent work by PhD student Anton Ekblad on Haste (a Haskell to Javascript compiler) and Aplite (an EDSL for use with Haste that allows the performance pitfalls of Javascript to be avoided), and on ways to build distributed web applications from a single program has convinced us of the need develop principled ways to program heterogeneous systems. Ekblad's work points the way, for instance by showing how to make use of Haskell's expressive type system, but much remains to be done. We hope to recruit a new WASP PhD student to work in this area.

One of the big questions is how to verify end to end functional correctness in a heterogeneous system. Our intention is to take advantage of the fact that all code is generated from a single program in our setting, as this should permit the simultaneous checking of top level properties. Claessen is one of the developers of the original Haskell QuickCheck, and property-based testing remains central to our research. We intend to develop new methods of property-based testing for heterogeneous systems. We will investigate whether Claessen's Inductive Testing will enable the testing of distrbuted systems without the need to write complex property specifications. We are also interested in formal verification methods based on SAT-solving and automated theorem proving.

An application area that we find particularly interesting is cyber-physical systems, as this adds the fascinating complication of having to deal with continuous as well as discrete signals. We recently received significant funding from the Swedish Research Council to build a research environment for Systematic Testing of Cyber-Physical Systems (SyTeC) together with our colleagues in the Signals and Systems Department at Chalmers. The student recruited to this PhD project on Functional Heterogeneous Systems will get to join the strong Functional Programming Group at Chalmers, and will also gain access to both WASP and SyTeC. We feel confident that we can provide a very stimulating research environment.

To be suitable for this PhD student position, you should be an accomplished functional programmer with a strong interest both in practical implementation and in underlying theories. You should hold a relevant first degree corresponding to at least 240 higher education credits.

Deadline May 31. Apply electronically (choosing project C7 to apply for this project). Use the Apply button at the bottom of the page in the following link.

Application Portal