Dear S-REPLers I'm hiring for a postdoc in an area that I believe is relevant to the interests of the S-REPLS community. Details are below - please get in touch if this is of interest, and I'd be grateful if you might pass this on to anyone else you think might find it relevant. Best wishes Ally Postdoc at Imperial College on "Reliable Many-Core Programming" I am looking to recruit a postdoc for a Research Associate position in my Multicore Programming Group at Imperial College London, to work on program analysis, verification and testing techniques for many-core systems. The post is for 2.5 years (with some flexibility in start date and duration), and will be funded as part of my recently-awarded EPSRC Early Career Fellowship project, “Reliable Many-Core Programming” (http://gow.epsrc.ac.uk/NGBOViewGrant.aspx?GrantRef=EP/N026314/1).The Department of Computing at Imperial provides a vibrant and stimulating research environment in the heart of London, with leading research groups working on programming languages, verification and testing.The department of is consistently recognised by high research ratings. In the 2014 REF assessment, the department was ranked third (1st in the Research Intensity table published by The Times Higher), and was rated as "Excellent" in the previous national assessment of teaching quality. Many-core CPU and GPU architectures offer tremendous potential for building exciting next-generation applications.However, they present a real challenge to software developers and platform vendors, because (a) writing high-performance code in many-core programming models is difficult and error-prone, and (b) building highly optimizing compilers, drivers and runtime systems for these programming models is a large and complex task. My recent work, with my research group and collaborators internationally, has demonstrated that formal specification, verification, program analysis and testing techniques can be very effective in the early identification of reliability issues across the many-core stack, including errors in next-generation architecture designs, bugs in many-core compilers, ambiguities and errors in many-core language specifications, subtle defects in many-core software, and problems in high-level translation tools that generate many-core code from higher-level representations. The aim of the “Reliable Many-Core Programming” project is to devise novel techniques to aid in the engineering of rigorous many-core software stacks, by investigating: ·Formal techniques for precisely specifying many-core programming language semantics ·Program analysis and verification techniques for reasoning about the behaviour of massively parallel many-core code ·Translation validation methods for checking the correctness of automatic transformations from high-level languages into optimized many-core code ·Automatic test case generation to identify defects in low-level compilation tools targeting many-core platforms With a strong emphasis on tool support and automation, the project will involve collaboration with four key industrial partners – AMD, ARM, Imagination Technologies and NVIDIA – as well interaction with Prof Albert Cohen (INRIA) and his research group. The breadth of the fellowship project allows for some flexibility in the profile of applicants.For example: ·The project would be a good fit for a practically-minded applicant who has experience working on compiler frameworks, expertise related to concurrent and multi/many-core software (e.g. familiarity with OpenCL/CUDA), and some familiarity with optimization and architectural issues.I would expect such a practically-minded candidate to be interested in learning about more formal techniques and developing their theoretical background according to the needs of the project. ·The project would also be suited to a more theoretically-minded applicant, with a strong background in formal verification and reasoning about concurrent programs.There is plenty of scope for such a candidate to work on the theoretical foundations of many-core programming, but I would seek to appoint a researcher who is also enthusiastic to learn about practical aspects of many-core systems, and willing to invest a portion of their time in software engineering work and empirical evaluation. ·A candidate with a profile lying between the above examples would be ideal. The main qualities I am looking for in an applicant are (a) a strong research track record in a relevant area, (b) ambition to lead high-quality research, (c) excellent communication skills, (d) solid programming skills, and (e) a desire to learn about many-core systems in detail. I actively encourage an applicant who wishes to explore their own research ideas within the scope of the project, and a research statement is required as part of the application.My research group, and Imperial in general, also offer many opportunities to help postdocs develop as independent researchers (e.g. through Imperial’s postdoc development centre, https://www.imperial.ac.uk/staff-development/postdoc-development-centre/). Please have a look at our group’s web pages and recent publications (http://multicore.doc.ic.ac.uk/) to see whether the sort of work we do excites you, and please contact me if you are interested in applying for the position ([log in to unmask]). For formal details on how to apply, look at our department’s vacancies (http://www.imperial.ac.uk/computing/job-vacancies/) and search for “Reliable Many-Core Programming”. Best wishes Alastair Donaldson