Probabilistically Accurate Program Transformations
Author(s)Misailovic, Sasa; Roy, Daniel; Rinard, Martin C.
MetadataShow full item record
The standard approach to program transformation involves the use of discrete logical reasoning to prove that the transformation does not change the observable semantics of the program. We propose a new approach that, in contrast, uses probabilistic reasoning to justify the application of transformations that may change, within probabilistic accuracy bounds, the result that the program produces. Our new approach produces probabilistic guarantees of the form ℙ(|D| ≥ B) ≤ ε, ε ∈ (0, 1), where D is the difference between the results that the transformed and original programs produce, B is an acceptability bound on the absolute value of D, and ε is the maximum acceptable probability of observing large |D|. We show how to use our approach to justify the application of loop perforation (which transforms loops to execute fewer iterations) to a set of computational patterns.
18th International Symposium, SAS 2011, Venice, Italy, September 14-16, 2011. Proceedings
DepartmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Springer Berlin / Heidelberg
Misailovic, Sasa, Daniel M. Roy, and Martin C. Rinard. “Probabilistically Accurate Program Transformations.” Static Analysis. Ed. Eran Yahav. LNCS Vol. 6887. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011. 316–333.
Author's final manuscript