[ The Types Forum (announcements only),
     http://lists.seas.upenn.edu/mailman/listinfo/types-announce ]

Hello all,

[Sorry for multiple postings.]

I have openings for two post-doctoral research positions in my Verified 
Software research group at Imperial on `Gillian: Program Correctness and 
Incorrectness', funded by Facebook, and `Gillian: Coq-Certified Compositional 
Symbolic Analysis', funded by a national fellowship. Details of these projects 
are given below.

These positions are for three years. The start date is flexible in these 
uncertain times, up to September 2021.  It is possible to start the positions 
remotely, although we are able to meet at Imperial when necessary so it might 
make sense to be in London. In fact, accommodation rents are currently very 
good (due to covid) so it is actually quite a good time to come to London.

If you are interested, please do not hesitate to contact me.

Philippa

----------------------------------------------------------------------------------------


Professor Philippa Gardner
Department of Computing
Imperial College
180 Queen’s Gate
London
SW7 2AZ


My working day may not be the same as yours.  Please do not feel
obliged to reply to this email outside your normal working hours.



-------------


Gillian: Program Correctness and Incorrectness
Philippa Gardner
Imperial College London

We have introduced Gillian [1], a multi-language platform for compositional 
symbolic analysis. It supports three flavours of analysis: whole-program 
symbolic testing; full verification based on
separation logic; and automatic compositional testing based on bi-abduction. It 
is underpinned by a core symbolic execution engine, parametric on the memory 
model of the target language, with strong mathematical foundations that unifies 
symbolic testing and verification. Gillian has been instantiated to the 
real-world languages C and JavaScript, obtaining results on real-world code 
that demonstrate the viability of our unified, parametric approach.

Meanwhile, O’Hearn [2] has observed that program correctness for describing the 
absence of bugs and program incorrectness for describing the presence of bugs 
are two sides of the same coin. He, Azalea Raad (Imperial) and others [3] have 
recently introduced incorrectness separation logic for reasoning about program 
incorrectness, in contrast with Hoare logic and separation logic for reasoning 
about program correctness. The underlying theory of Gillian resonates with the 
fundamental ideas of incorrectness logic, suggesting that Gillian has an 
unexplored potential for reasoning about both program correctness and 
incorrectness.

Our goal is to establish Gillian as a leading academic platform for integrated 
analysis of program correctness and incorrectness, by advancing the development 
of its existing analyses and incorporating the new ideas arising from 
incorrectness logic. This research position is for three years. It would suit 
someone with a strong background in formal methods (theory and/or practice), 
especially someone with experience in program analysis, testing or 
verification. It is funded by Facebook.

References

[1] Gillian, Part 1: A Multi-language Platform for Symbolic Execution, Jose 
Fragoso Santos, Peter Maksimovic, Sacha-Elie Ayoun and Philippa Gardner, 
PLDI'2020. Part 2 on verification and bi-abduction is being written now! We are 
giving a talk on Gillian at the conference Rebase,
associated with ECOOP and OOPSLA, on 16th and 17th November, and at the 
Facebook Testing and Verification Symposium in December, 2020.

[2] Incorrectness Logic, Peter O'Hearn, POPL'20.

[3] Local Reasoning about the Presence of Bugs: Incorrectness Separation Logic, 
Azalea Raad, Josh Berdine, Hoang-Hai Dang, Derek Dreyer, Peter O'Hearn and 
Jules Villard, CAV'20.



---------


Gillian: Coq-Certifiction of Compositional Symbolic Analysis
Philippa Gardner
Imperial College London

We have introduced Gillian [1], a multi-language platform for compositional 
symbolic analysis. It supports three flavours of analysis: whole-program 
symbolic testing; full verification based on
separation logic; and automatic compositional testing based on bi-abduction. 
Gillian has been instantiated to the real-world languages C (using the 
Coq-verified CompCert compiler) and JavaScript (using our own compiler), 
obtaining results on real-world code that demonstrate
the viability of our unified, parametric approach.

The goal is to provide Coq-certification for the Gillian platform. Gillian is 
underpinned by a core symbolic execution engine, parametrised by the memory 
model of the target language, with strong mathematical foundations that unifies 
symbolic testing and verification. This core is ripe for Coq mechanisation 
since it has a general correctness result that depends on lemmas associated 
with particular Gillian instantiations. The challenge is to understand how to 
link this Coq mechanisation of the core engine to the Gillian platform:  either 
by replacing the Gillian implementation with extracted Coq code; or by using 
Gillian to generate proof terms that can be
certified by Coq in order to retain the Gillian optimisations.

This position is for three years, funded by Gardner's UKRI national fellowship. 
It would suit someone with strong experience with the Coq theorem prover, to 
enhance the current Coq expertise in the group. In particular, my PhD student 
Rao Xlaojia is part of the Imperial and
Cambridge team doing WasmCert, a Coq-specification of Wasm [2]. There is also 
an opportunity to get involved with this WasmCert project if interested.

References

[1] Gillian, Part 1: A Multi-language Platform for Symbolic Execution, Jose 
Fragoso Santos, Peter Maksimovic, Sacha-Elie Ayoun and Philippa Gardner, 
PLDI'2020. Part 2 on verification and bi-abduction is being written now! We are 
giving a talk on Gillian at the conference Rebase,
associated with ECOOP and OOPSLA, on 16th and 17th November, and at the 
Facebook Testing and Verification Symposium in December, 2020.

[2] WasmCert-Coq, M. Bodin, P. Gardner, J. Pichon, C. Watt and R. Xiaojia,
https://github.com/WasmCert/WasmCert-Coq

Reply via email to