School of Computing

Funded PhD Project in Functional Programming and Software Testing

Applications are invited for a funded PhD studentship with Dr Meng Wang in the School of Computing at the University of Kent (UK), to begin in September 2017 or shortly thereafter. The topic of the PhD project is flexible within the broad area of functional programming and/or software testing (see an example below).

The successful applicant will be part of Kent’s internationally renowned Programming Languages and System group, and able to capitalise on Dr Wang’s strong research links with collaborators at the Universities of Oxford, Edinburgh, Chalmers (Sweden), Tohoku (Japan), Tokyo (Japan) and Peking (China).

An example project

A bidirectional transformation (also known as a lens) is a pair of mappings between source and view data objects, one in each direction. When the view is modified, the source is updated accordingly with respect to some laws.

The most well-known instance of bidirectional transformation is the view-update problem from database design: a view represents a database computed from a source by a query, and the problem comes when translating an update of the view back to a corresponding update on the source. But the problem is much more widely applicable than just to databases. It is central in the same way to software evolution: having transformed a high-level model into a lower-level implementation, for a variety of reasons one often needs to reverse engineer a revised high-level model from an updated implementation.

One way to reduce the development and maintenance effort of bidirectional transformations is to have specialized languages in which the resulting programs are bidirectional by construction -- giving rise to the paradigm of bidirectional programming. Designing programming languages and systems to better support bidirectional programming has been a hot topic recently, especially in the functional programming research community. The very popular Lens library in Haskell is such an example.

Ideally bidirectional programming should be as easy as usual unidirectional programming. But the current state of the art fall short of this goal by quite a distance: very often bidirectional transformations have to be encoded in a restrictive programming style. This project aims at improving the current situation based on the previous research of an international team of researchers: Kent (Meng Wang), Tohoku Japan (Kazutaka Matsuda), NII Japan (Zhenjiang Hu), Bonn Germany (Janis Voigtlaender), and Oxford UK (Jeremy Gibbons). We seek a PhD student as a core member of the team to design and implement bidirectional languages, and explore suitable applications.


The School of Computing, University of Kent

The School of Computing has a reputation for high-quality research, with over 40 current PhD students. Our research activity is wide ranging and takes place within focused Research Groups which provide a vibrant research community for all members, staff or student.

The School of Computing was ranked highly in the recent government run Research Excellence Framework (REF) exercise. Our research intensity was ranked 12th out of 89, with superb impact – 100% of our research impact ranked world leading or internationally excellent.

The University of Kent is a leading university with a commitment to excellence in teaching and research. As the UK's European university, it is committed to creating a global student and staff community that advances knowledge and stimulates intellectual creativity, and performs at the highest levels.

Kent is ranked 21st in the Times Higher Education (THE) ‘Table of Tables’ 2017 and it has twice been awarded the highly prestigious Queen's Anniversary Prize for Higher and Further Education.
The School is committed to the Athena Swan Scheme. This is a national scheme whereby universities commit to advancing and promoting the careers of female scientists.



A scholarship will be awarded as Graduate Teaching Assistantship (GTA). GTAs are both registered students, in receipt of a scholarship, and employees of the University with teaching responsibilities. 

The GTA salary and maintenance scholarship combined is £14,553 in 2017/18. Tuition fees at the home/EU rate will be paid by the School of Computing on behalf of the student. Students from overseas will receive the same contribution to their fees (£4,179 in 2017/18) but will need to demonstrate that they can fund the difference between overseas and home fees. The award will be for three years, subject to satisfactory progression through each year of study.

Support for research students includes regular supervision meetings, a research training programme, computer equipment, a desk in an office and funds for conference travel.


Applicant qualification

Applicants should have a good undergraduate degree (First or 2:1) in a relevant subject. A good Master's degree or relevant industry experience may also be accepted. Knowledge of functional programming is essential.


How to apply

You should get in touch with Dr Wang by email ( in the first instance, with a Curriculum Vitae and a brief outline of your research proposal. Applications need to be submitted by 10 April 2017.


School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 09/03/2017