[TYPES/announce] Postdoc at Imperial on the IRIS project, on "Compositional Reasoning for High-Assurance Many-Core Software"
Alastair Donaldson
alastair.donaldson at imperial.ac.uk
Fri Jun 1 06:10:13 EDT 2018
Dear all
I'd be really grateful if you could help me spread the word about this
postdoc position, and do contact me if you'd like to know more about it.
Best wishes
Ally Donaldson
Research Associate in Compositional Reasoning for High-Assurance
Many-Core Software
=======================================================================
The position is for 2.5 years, with a possible extension. Closing date
for applications: 1 July 2018.
We are looking to hire a motivated Research Associate to join IRIS:
Interface Reasoning for Interacting Systems - an exciting new
EPSRC-funded Programme Grant led by University College London, Imperial
College London, Queen Mary University of London and the London School of
Economics. The goal of the IRIS project is to study and devise novel
approaches for analysing large systems in a scalable manner via
reasoning at the level of inter-component interfaces. The current post
at Imperial College London will be jointly supervised by Dr Alastair
Donaldson (Department of Computing) and Dr John Wickerson (Department of
Electrical and Electronic Engineering, EEE), and will focus on reasoning
about software designed to run on many-core architectures and other
highly parallel accelerators. There will be a special focus on
high-assurance software that needs to leverage many-core technology due
to performance constraints, and yet which needs to be highly reliable.
Imperial’s Computing and EEE departments are both leading departments in
their respective subjects among UK Universities, and have consistently
been awarded the highest research rating from the Higher Education
Funding Council. The 2014 REF assessment ranked the Department of
Computing third (first in the Research Intensity table published by The
Times Higher), and the EEE department first for research in the
country’s EEE sector.
Reasoning about many-core software is challenging for various reasons,
including the state-space explosion that arises due to interleaving of
concurrent components, the subtle relaxed memory semantics of modern
architectures and programming languages, and the difficulty of automated
testing in the face of the nondeterminism that arises from both of these
concerns. As part of the IRIS project we will focus on making both
theoretical and practical advances in reasoning capabilities for
many-core software, following various lines of inquiry including (but
not limited to):
• Specification-based conformance testing. For example: can a
concurrent program’s pre- and post-conditions be used to automatically
generate conformance tests to check that an implementation meets its
specification?
• Composition of memory models. For example: if a GPU, an FPGA
accelerator and an ordinary processor all have access to the same memory
locations, as they do on modern system-on-chip devices, what guarantees
can programmers rely on?
• Validation of many-core compilers. For example: can automated
program generation techniques for testing compilers be extended and
combined with systematic concurrency testing techniques to check that
many-core code is compiled correctly?
• Refinement-based parallel program construction. For example, can
the common practice of deriving a high performance parallel program via
a series of equivalent, increasingly optimised program variants be
formalised and mechanised to allow automated exploration of the space of
equivalent-by-construction implementations?
The techniques we develop will be evaluated on case studies stemming
from the academic and industrial partners of the IRIS project, with a
particular focus on high-performance implementations of security- and
safety-critical functions, e.g. arising in cryptography or machine vision.
Duties and responsibilities
=====================
The successful candidate will work with the investigators at Imperial to
conduct original research in areas relevant to the IRIS project
(including for example some of the research areas outlined above), and
will collaborate with the investigators and researchers involved in the
IRIS project more broadly to amplify the technical depth and potential
impact of the work. In addition to frequent research meetings at
Imperial, the candidate will attend regular IRIS project meetings to
engage with the other academic and industrial partners, and will present
work arising from the project at international meetings.
Essential requirements
==================
The breadth of the project allows for flexibility in the profile of
applicants, ranging from applicants with backgrounds in formal methods
or programming languages theory who are interested in applying
fundamental theory to challenging engineering problems, to applicants
with a background in system-building who are interested in how to reason
about systems. All applicants require the following:
• a strong computing background;
• experience either in working on state-of-the-art theoretical
frameworks for program reasoning (such as program logics), or building
and working with practical verification/testing tools;
• a desire to learn about many-core systems in detail;
• a strong research track record and publications in a relevant area
with an ambition to lead high-quality research; and
• excellent verbal and written communication skills.
The successful applicant will have, or be near to completing, a PhD (or
equivalent) in an area pertinent to the subject area.
For more information:
https://www.imperial.ac.uk/jobs/description/ENG00364/research-associate-compositional-reasoning-high-assurance-many-core-software
Please get in touch with Alastair Donaldson or John Wickerson for
informal enquiries.
More information about the Types-announce
mailing list