-
Teresa Carbajo-Garcia authoredTeresa Carbajo-Garcia authored
title: Separation Logic Infer Lab 2016
project_id: infer
menu: true
parent_menu: Teaching
menu_order: 5
The Separation Logic course is a a 4th-year MEng and MSc course on local reasoning about programs that manipulate the heap at the Department of Computing, Imperial College London. 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 and Jules Villard from Facebook came to Imperial College to talk about Infer, an automatic verification tool based on separation logic, developed Facebook. At Facebook 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 in June 2015.
Jules Villard, Software Engineer at Facebook, gave a tutorial on bi-abduction, based on the slides that he developed together with Daiva whilst a Post-Doc at Imperial College London.
Peter O’Hearn, 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:
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.
To follow the Infer team, check their blog or Twitter
The Imperial team is