VSL 2014: VIENNA SUMMER OF LOGIC 2014

Speeding Up SMT-Based Quantitative Program Analysis

Authors: Daniel J. Fremont and Sanjit A. Seshia

PapersPapers with AbstractsPrefaceAuthor IndexKeyword Index

Paper Information

Title:Speeding Up SMT-Based Quantitative Program Analysis
Authors:Daniel J. Fremont and Sanjit A. Seshia
Proceedings:SMT 2014 Proceedings
Editors: Philipp Ruemmer and Christoph M. Wintersteiger
Keywords:quantitative information flow, channel capacity, model counting
Abstract:

ABSTRACT. Quantitative program analysis involves computing numerical quantities about individual or collections of program executions. An example of such a computation is quantitative information flow analysis, where one estimates the amount of information leaked about secret data through a program's output channels. Such information can be quantified in several ways, including channel capacity and (Shannon) entropy. In this paper, we formalize a class of quantitative analysis problems defined over a weighted control flow graph of a program. These problems can be solved using a combination of path enumeration, SMT solving, and model counting. However, existing methods can only handle very small programs, primarily because the number of execution paths can be exponential in the program size. We show how path explosion can be mitigated in some practical cases by taking advantage of special branching structure and by novel algorithm design. We demonstrate our techniques by computing the channel capacities of the timing side-channels of two programs with extremely large numbers of paths.

Pages:11
Talk:Jul 17 10:45
Paper:
Disclaimer | Powered by EasyChair Smart Program