Smoothing a program soundly and robustly
Author(s)
Chaudhuri, Swarat; Solar-Lezama, Armando
DownloadSolar-Lezama_Smoothing a program.pdf (1.623Mb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
We study the foundations of smooth interpretation, a recently-proposed program approximation scheme that facilitates the use of local numerical search techniques (e.g., gradient descent) in program analysis and synthesis. While the popular techniques for local optimization works well only on relatively smooth functions, functions encoded by real-world programs are infested with discontinuities and local irregular features. Smooth interpretation attenuates such features by taking the convolution of the program with a Gaussian function, effectively replacing discontinuous switches in the program by continuous transitions. In doing so, it extends to programs the notion of Gaussian smoothing, a popular signal-processing technique used to filter noise and discontinuities from signals.
Exact Gaussian smoothing of programs is undecidable, so algorithmic implementations of smooth interpretation must necessarily be approximate. In this paper, we characterize the approximations carried out by such algorithms. First, we identify three correctness properties—soundness, robustness, and β-robustness—that an approximate smooth interpreter should satisfy. In particular, a smooth interpreter is sound if it computes an abstraction of a program’s “smoothed” semantics, and robust if it has arbitrary-order derivatives in the input variables at every point in its input space. Second, we describe the design of an approximate smooth interpreter that provably satisfies these properties. The interpreter combines program abstraction using a new domain with symbolic calculation of convolution.
Date issued
2011-07Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryJournal
Computer Aided Verification
Publisher
Springer Berlin / Heidelberg
Citation
Chaudhuri, Swarat, and Armando Solar-Lezama. “Smoothing a Program Soundly and Robustly.” Computer Aided Verification. Ed. Ganesh Gopalakrishnan & Shaz Qadeer. LNCS Vol. 6806. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. 277–292.
Version: Author's final manuscript
ISBN
978-3-642-22109-5
ISSN
0302-9743
1611-3349