首页> 外文会议>ACM SIGPLAN Conference on Programming Language Design and Implementation >Proving Acceptability Properties of Relaxed Nondeterministic Approximate Programs
【24h】

Proving Acceptability Properties of Relaxed Nondeterministic Approximate Programs

机译:证明了轻松无限制的近似计划的可接受性质

获取原文

摘要

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.
机译:诸如跳过任务[29,30],环穿孔[21,22,35],减少采样[38],多种可选实施方式[3,4,16,38],动态旋钮[16],同步消除[20,32],近似函数备忘[11],以及近似数据类型[34]产生可以在底层性能的各种点处执行的程序,而准确性权衡空间。这些转换的程序具有通过动态和无限制地修改控制其执行的变量来对其结果的准确性进行交易。我们称之为这种变革的程序,因为他们已经通过额外的不确定延伸了延长了他们的语义,并在他们的执行中实现了更大的灵活性。我们提供用于开发和指定轻松程序的语言构造。我们还提出了对属性的原因证明规则[28]该计划必须满足是可接受的。我们的证明规则与两种可接受性属性一起工作:可接受性属性[28],其在原始和放宽程序中的变量值之间表征所需的关系,以及涉及只能从单个(原始或放宽)的值(原始或放宽)之间的值之间的所需关系程序。证明规则支持上演推理方法,其中大多数推理努力都与原始计划一起使用。利用原始和轻松的节目分享,关系推理从原始计划转移推理努力的共同结构,以证明轻松程序的属性。我们已经正式化了我们的目标编程语言的动态语义,以及COQ中的证明规则,并验证了证明规则是否相对于动态语义是声音。我们的COQ实施使开发人员能够获得完全机器检查的验证他们的轻松计划。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号