Probabilistically accurate program transformations

  • Authors:
  • Sasa Misailovic;Daniel M. Roy;Martin C. Rinard

  • Affiliations:
  • MIT, CSAIL;MIT, CSAIL;MIT, CSAIL

  • Venue:
  • SAS'11 Proceedings of the 18th international conference on Static analysis
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 P(|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.