Title
Testing Noninterference, Quickly.
Abstract
Information-flow control mechanisms are difficult to design and labor intensive to prove correct. To reduce the time wasted on proof attempts doomed to fail due to broken definitions, we advocate modern random testing techniques for finding counterexamples during the design process. We show how to use QuickCheck, a property-based random-testing tool, to guide the design of a simple information-flow abstract machine. We find that both sophisticated strategies for generating well-distributed random programs and readily falsifiable formulations of noninterference properties are critically important. We propose several approaches and evaluate their effectiveness on a collection of injected bugs of varying subtlety. We also present an effective technique for shrinking large counterexamples to minimal, easily comprehensible ones. Taken together, our best methods enable us to quickly and automatically generate simple counterexamples for all these bugs.
Year
DOI
Venue
2013
10.1017/S0956796816000058
J. Funct. Program.
Keywords
DocType
Volume
modern random testing technique,testing noninterference,broken definition,large counterexamples,design process,best method,well-distributed random program,simple information-flow abstract machine,information-flow control mechanism,simple counterexamples,effective technique,security,abstract machine,design,random testing
Conference
26
ISSN
Citations 
PageRank 
J. Funct. Prog. 26 (2016) e4
6
0.49
References 
Authors
42
8