Automated SMT-based Verification for Reasoning about Approximations

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=C-6_yBUzYjY



Duration: 58:41
107 views
0


Approximate computing is an emerging area for trading off the accuracy of an application for improved performance, lower energy costs, and tolerance to unreliable hardware. However, care has to be taken to ensure that the approximations do not cause significant divergence from the reference implementation. Previous research has proposed various metrics to guarantee several relaxed notions of safety for the design and verification of such approximate applications. However, current approximation verification approaches often lack in either precision or automation. On one end of the spectrum, type-based approaches lack precision, while on the other, proofs in interactive theorem provers require significant manual effort. In this work, we apply automated differential program verification (as implemented in SymDiff) for reasoning about approximations. We show that mutual summaries naturally express many relaxed specifications for approximations, and SMT-based checking and invariant inference can substantially automate the verification of such specifications. We demonstrate that the framework significantly improves automation compared to previous work. In addition, our approach can verify an important class of relaxed specifications related to program termination. Our results indicate the feasibility of applying automated verification to the domain of approximate computing in a cost-effective manner.




Other Videos By Microsoft Research


2016-06-22Demo of an 802.11a/g sniffer implemented in Ziria
2016-06-22(s|qu)eries: Visual Regular Expressions for Querying and Exploring Event Sequences
2016-06-22Irides: Attaining Quality, Responsiveness and Mobility for Virtual Reality Head-mounted Displays
2016-06-22Juggling the Effects of Latency: Motion Prediction Approaches to Reducing Latency in Dynamic Project
2016-06-22Exploring Interactive Furniture with EmotoCouch
2016-06-22Outatime: Using Speculation to Enable Low-Latency Continuous Interaction for Mobile Cloud Gaming
2016-06-22Advances in Quantum Algorithms and Devices: A Quantum Approximate Optimization Algorithm
2016-06-22Social Computing Symposium 2016: Post Screen Personas and Listening Machines, Tim Hwang
2016-06-22Symposium: Algorithms Among Us - Panel "Near-term issues"
2016-06-22Design Expo 2015
2016-06-22Automated SMT-based Verification for Reasoning about Approximations
2016-06-22Exploiting Energy-Aware Programming to Build Energy-Efficient System Software
2016-06-22NSF Interdisciplinary Workshop on Statistical NLP and Software Engineering - Session 6
2016-06-22Advances in Quantum Algorithms & Devices: Exact synthesis for qubit unitaries
2016-06-22Towards Understandable Neural Networks for High Level AI Tasks - Part 3
2016-06-22IMS-Microsoft Research Workshop: Foundations of Data Science - Opening Remarks and Morning Session I
2016-06-22Peter Lee Address to Summer School 2014 Attendees
2016-06-22Approximating Integer Programming Problems by Partial Resampling
2016-06-22IMS-Microsoft Research Workshop: Foundations of Data Science - Opening Remarks and Morning Session I
2016-06-22Proof Engineering, from the Four Colour to the Odd Order Theorem
2016-06-22Thinking for Programmers: Rising Above the Code



Tags:
microsoft research
program languages and software engineering