The [Separation Logic](https://psvg.doc.ic.ac.uk/teaching/separationlogic.html) course is a a 4th-year MEng and MSc course on local reasoning about programs that manipulate the heap at the [Department of Computing](http://www.imperial.ac.uk/computing), [Imperial College London](http://www.imperial.ac.uk).
The course is led by Philippa Gardner, with support from Jose Fragoso, Daiva Naudziuniene, Azalea Raad and Julian Sutherland.
As part of the course, [Peter O’Hearn](http://www.pl-enthusiast.net/2015/09/15/facebooks-peter-ohearn-on-programming-languages/) and [Jules Villard](https://www.doc.ic.ac.uk/~jvillar1/) from Facebook came to Imperial College to talk about [Infer](http://fbinfer.com/), an automatic verification tool based on separation logic,
developed Facebook. At [Facebook](https://www.facebook.com/inferstaticanalyzer/) Infer is used every day to verify millions of lines of code. As well as Facebook, Infer is used by Instagram, kiuwan, oculus, Spotify, UBER, WhatsApp, Marks and Spencer, and Sky.
Infer was [open sourced](https://code.facebook.com/posts/1648953042007882/open-sourcing-facebook-infer-identify-bugs-before-you-ship/) in June 2015.
[Jules Villard](https://www.doc.ic.ac.uk/~jvillar1/), Software Engineer at Facebook, gave a tutorial on bi-abduction, based on the [slides](/teaching/Bi-Abduction-slides-Sutherland.pdf) that he developed together with Daiva whilst a Post-Doc at Imperial College London.

[Peter O’Hearn](http://www.pl-enthusiast.net/2015/09/15/facebooks-peter-ohearn-on-programming-languages/), Engineering Manager and leader of the Infer team,
gave an overview of the use of Infer at Facebook. Peter, Jules and the Imperial team then ran a lab on how to use Infer, targeting real world Android applications, such as:
...
...
@@ -26,10 +30,6 @@ gave an overview of the use of Infer at Facebook. Peter, Jules and the Imperial
During the tutorial, one of the students, Lorenzo Paoliani, ran infer on ConnectBot, an SSH client for Android, and found several null dereference bugs. He reported this on github and submitted a pull request for fixing this problem, which has been accepted and now merged.
You can see Lorenzo’s [pull request here.](https://github.com/connectbot/connectbot/pull/448)