ACM SIGSOFT Outstanding Research Award and Talk by Martin Rinard: Research in Program Repair and Approximate Computing: A Retrospective
Award Winner
This paper and accompanying talk trace the trajectory of my re- search in program repair and approximate computing. The research was inspired by a reaction against the prevailing value system in the field at the time, which focused on program correctness as a fundamental goal. This research, in contrast, was driven by a new perspective that emphasized acceptable (but not necessarily fully correct) survival through errors and the automatic identification and exploitation of performance versus accuracy tradeoff spaces implicitly present in computations coded to operate at only a single point in this space.
Because the research went directly against the prevailing ideology at the time, the field reacted negatively despite empirical results highlighting the effectiveness of the approach. The following quote from an anonymous reviewer may give some idea of the initial reaction:
“The basic idea—to assist incorrect programs in their efforts to emit incorrect output is an abomination and if adopted would likely usher in a new dark age.”
As the research progressed, we gained a deeper understanding of the reasons behind the surprising — at least to us — phenom- ena we observed. We were able to formalize this understanding to generate source code patches and obtain performance, accuracy, and acceptability guarantees for computations that leveraged our techniques, bringing the research full circle to once again focus on reasoning statically about program behavior but with different reasoning techniques and guarantees.
Finally, I discuss lessons learned and future relevance of the principles, perspectives, and concepts that this research pioneered.