Keynote Speakers

Annabelle McIver

School of Computing
Macquarie University
Sydney, Australia

TITLE: Leakage Logic for programs

ABSTRACT: An information-flow analysis views a program as a system that processes "high security" secret information, e.g. passwords; but sometimes programs' treatment of secrets can be correlated to observed behaviour, or other data of "low security". Those programs then "leak" information when an adversary can infer something about the "high security" secret by using their knowledge of the program code, and observing real-time behaviours such as control flow, timings, or low- security correlations. In such programs verification usually entails quantifying the amount of information that the program leaks. Interestingly, some inputs are more vulnerable than others and an important goal of such formal analysis is to identify which inputs are most vulnerable.
In this talk I shall explain how to specify leakage bounds on programs that can be verified directly using a logic of information leakages. The leakage logic is based on the g-leakage framework for analysing quantitative security propeties; importantly verification steps are similar to the backwards reasoning in standard functional verification.

Paola Spoletini

Department of Software Engineering and Game Design
College of Computing and Software Engineering
Kennesaw State University, USA

TITLE: Exploiting incompleteness in software development

ABSTRACT: System development is a dynamic and iterative process that involves refinements and revisions, often resulting in some components being only partially specified. To ensure that the system meets its requirements is essential to have the ability to perform continuous verification after each refinement or revision step. This calls for both models and verification techniques that can effectively handle incompleteness.
In this presentation, I will introduce incomplete models and model-checking techniques designed to address such models. Furthermore, I will show how these techniques can support other steps in the software development lifecycle, including requirements elicitation, design, and specification mining.