Affiliation:
1. Massachusetts Institute of Technology, Cambridge , MA, USA
2. Massachusetts Institute of Technology, Cambridge, MA, USA
Abstract
Approximate program transformations such as skipping tasks [29, 30], loop perforation [21, 22, 35], reduction sampling [38], multiple selectable implementations [3, 4, 16, 38], dynamic knobs [16], synchronization elimination [20, 32], approximate function memoization [11],and approximate data types [34] produce programs that can execute at a variety of points in an underlying performance versus accuracy tradeoff space. These transformed programs have the ability to trade accuracy of their results for increased performance by dynamically and nondeterministically modifying variables that control their execution.
We call such transformed programs
relaxed
programs because they have been extended with additional nondeterminism to relax their semantics and enable greater flexibility in their execution.
We present language constructs for developing and specifying
relaxed
programs. We also present proof rules for reasoning about
properties
[28] which the program must satisfy to be acceptable. Our proof rules work with two kinds of acceptability properties:
acceptability properties
[28], which characterize desired relationships between the values of variables in the original and relaxed programs, and
unary
acceptability properties, which involve values only from a single (original or relaxed) program. The proof rules support a
staged
reasoning approach in which the majority of the reasoning effort works with the original program. Exploiting the common structure that the original and relaxed programs share, relational reasoning transfers reasoning effort from the original program to prove properties of the relaxed program.
We have formalized the dynamic semantics of our target programming language and the proof rules in Coq and verified that the proof rules are sound with respect to the dynamic semantics. Our Coq implementation enables developers to obtain fully machine-checked verifications of their relaxed programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference35 articles.
1. The Coq Proof Assistant. http://coq.inria.fr. The Coq Proof Assistant. http://coq.inria.fr.
2. Scimark 2.0. http://math.nist.gov/scimark2. Scimark 2.0. http://math.nist.gov/scimark2.
3. PetaBricks
4. Green
Cited by
31 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Mechanised Hypersafety Proofs about Structured Data;Proceedings of the ACM on Programming Languages;2024-06-20
2. Approximate Computing: Hardware and Software Techniques, Tools and Their Applications;Journal of Circuits, Systems and Computers;2023-09-20
3. Diamont: dynamic monitoring of uncertainty for distributed asynchronous programs;International Journal on Software Tools for Technology Transfer;2023-08
4. Approximate Computing Through the Lens of Uncertainty Quantification;SC22: International Conference for High Performance Computing, Networking, Storage and Analysis;2022-11
5. Symbolic execution for randomized programs;Proceedings of the ACM on Programming Languages;2022-10-31