I present a program verification and analysis system, Rely, for answering fundamental questions that arise when manipulating an application that implements an approximate computation. Examples of the questions that Rely is designed to answer include: What is the probability that the approximate application produces the same result as the original application? How much do the approximate application’s results differ from those of the original application? And is the approximate application safe and secure?
Rely answers these questions with a novel analysis and verification method for reasoning about the safety and accuracy of approximate applications. Rely also provides a novel language and program analysis for verifying quantitative reliability: the probability that the new approximate application produces the same result as the original computation.
Michael Carbin is a Ph.D. Candidate in Electrical Engineering and
Computer Science at MIT. Michael started his research career as
undergraduate student, working on BDD-based program analysis at Stanford
University and on type-safe compile-time metaprogramming at Microsoft
Research. His work at Stanford received an award for Best Computer
Science Undergraduate Honors Thesis. As a graduate student, Michael has
worked as a MIT Lemelson Presidential Fellow and a Microsoft Research
Graduate Fellow on both the theory and practice of verified approximate
computing and software self-healing. His recent research on verifying
the reliability of programs that execute on unreliable hardware won a
best paper award at OOPSLA 2013: Object-Oriented Programming, Systems,
Languages & Analysis.