Creative Commons Attribution-Noncommercial-Share Alike 3.0 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. Detailed Terms
REF developed a smoothing interpreter that uses intervals to reason about smoothed semantics of programs.
Smoothing a program soundly and robustly
CAV
Computer Science