PhD position in Verification of Distributed Software

calendar_month 05 Mar 2015, 00:00
The FMT group is part of the Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) at the University of Twente.
Aim of the VerDi project is to develop automated program-logic based techniques for (message-based) distributed software.
Developing techniques to ensure the correctness of such programs is of utmost importance, because they are widely used for many different applications, including safety-critical ones. Typical examples are air traffic control systems and communication networks for emergency services. At the same time, this is also a considerable challenge, because in distributed programs the exchanged messages can arrive in arbitrary order or even get lost, so that a single program can show many different behaviours.
Current research on the verification of distributed programs focuses mostly on message exchange between the different sites, modelled at an abstract level, without considering implementation details. The VerDi project will bridge the gap between the abstract and the implementation level, and enable reasoning about the actual distributed software.
The VerDi project builds on ongoing work in the VerCors project, where a specific program logic, called separation logic, is used to verify concurrent software i.e., programs that run on a single computer.
The PhD candidate we are looking for is expected to develop a variant of separation logic that is also suitable to verify distributed programs running on multiple computers. In particular, the logic should be usable to explore distributed implementations of data structures. To specify the behaviour of data structures, it is essential that the logic is really on the level of the program code. We expect that recent techniques on using history-based reasoning to capture functional properties of concurrent programs also can be applied in a distributed setting. All techniques will should be validated on realistic and relevant examples.
Noutati




