@inproceedings{d5c759e43132463ba9c7e9f7015956e6,
title = "Hypercollecting semantics and its application to static analysis of information flow",
abstract = "We show how static analysis for secure information flow can be expressed and proved correct entirely within the framework of abstract interpretation. The key idea is to define a Galois connection that directly approximates the hyperproperty of interest. To enable use of such Galois connections, we introduce a fixpoint characterisation of hypercollecting semantics, i.e. a {"}set of sets{"} transformer. This makes it possible to systematically derive static analyses for hyperproperties entirely within the calculational framework of abstract interpretation.We evaluate this technique by deriving example static analyses. For qualitative information flow, we derive a dependence analysis similar to the logic of Amtoft and Banerjee (SAS'04) and the type system of Hunt and Sands (POPL'06). For quantitative information flow, we derive a novel cardinality analysis that bounds the leakage conveyed by a program instead of simply deciding whether it exists. This encompasses problems that are hypersafety but not k-safety. We put the framework to use and introduce variations that achieve precision rivalling the most recent and precise static analyses for information flow.",
keywords = "Abstract interpretation, Hyperproperties, Information flow, Static analysis",
author = "Mounir Assaf and Naumann, {David A.} and Julien Signoles and {\'E}ric Totel and Fr{\'e}d{\'e}ric Tronel",
note = "Publisher Copyright: {\textcopyright} 2017 ACM.; 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017 ; Conference date: 15-01-2017 Through 21-01-2017",
year = "2017",
month = jan,
day = "1",
doi = "10.1145/3009837.3009889",
language = "English",
series = "Conference Record of the Annual ACM Symposium on Principles of Programming Languages",
pages = "874--887",
editor = "Gordon, {Andrew D.} and Giuseppe Castagna",
booktitle = "POPL 2017 - Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages",
}