Programming Languages and Systems

Programming Languages and Systems is a new section that address theoretical and practical challenges in languages and architectures to ensure fast, efficient and correct software and hardware. Its work has led to more than ten best  paper/artifact awards at major international conferences such as OSDI, ESEC/FSE, ESOP and FPL. The section’s work on hardware and accelerator architectures has been highly successful and supported by EPSRC platform grants (Luk). Its impact is felt beyond academia and has led to a start-up company (Maxeler, founded by Mencer). It includes quantitative characterisation and optimisation of GPU and FPGA architectures. A second line of research focuses on software
correctness and reliability. This research led to concurrency-aware formal verification techniques for checking correctness at multiple levels of abstraction and has been applied to the detection of bugs in software by companies such as Yahoo, Facebook, Microsoft and Airbus. Funding includes two EPSRC programme grants (Gardner x 2), an RAEng/Microsoft research chair (Gardner), as well as EPSRC Advanced (Calcagno, Gardner) and EPSRC Career Acceleration (Maffeis – now a lecturer) fellowships. A recent recruit Cadar was awarded EPSRC Early Career fellowship in 2013 to work on novel tools for automatic test case generation and defect detection. The third strand of research focuses on programming languages and software performance optimisation and includes session types, a new paradigm for concurrent and distributed programming; and programming models and abstractions for automatic offloading to heterogeneous multi- and many-core architectures.  The group has been strengthened by the recruitment of Donaldson (with EPSRC postdoc fellowship). This work is supported by an ESPRC platform grant (Kelly), part of two EPSRC program grants (Kelly, Yoshida) and an EPSRC Advanced fellowship (Yoshida). Applications include a protocol language used by Ocean Observatories and the optimisation of AAA video games by Codeplay.