[PRL] Practice talk: Friday 4:30, Higher-Order Symbolic Execution via Contracts
David Van Horn
dvanhorn at ccs.neu.edu
Thu Oct 18 12:35:58 EDT 2012
I'll be giving a practice talk for OOPSLA this Friday (tomorrow) at 4:30
and your presence is appreciated. Thanks!
David
Higher-Order Symbolic Execution via Contracts
Sam Tobin-Hochstadt, David Van Horn
We present a new approach to automated reasoning about higher-order
programs by extending symbolic execution to use behavioral contracts as
symbolic values, thus enabling symbolic approximation of higher-order
behavior.
Our approach is based on the idea of an abstract reduction semantics
that gives an operational semantics to programs with both concrete and
symbolic components. Symbolic components are approximated by their
contract and our semantics gives an operational interpretation of
contracts-as-values. The result is an executable semantics that soundly
predicts program behavior, including contract failures, for all possible
instantiations of symbolic components. We show that our approach scales
to an expressive language of contracts including arbitrary programs
embedded as predicates, dependent function contracts, and recursive
contracts. Supporting this rich language of specifications leads to
powerful symbolic reasoning using existing program constructs.
We then apply our approach to produce a verifier for contract
correctness of components, including a sound and computable
approximation to our semantics that facilitates fully automated contract
verification. Our implementation is capable of verifying contracts
expressed in existing programs, and of justifying contract-elimination
optimizations.
http://arxiv.org/abs/1103.1362
More information about the PRL
mailing list