首页> 外文期刊>The Journal of logic and algebraic programming >MOQA: unlocking the potential of compositional static average-case analysis
【24h】

MOQA: unlocking the potential of compositional static average-case analysis

机译:MOQA:释放成分静态平均案例分析的潜力

获取原文
获取原文并翻译 | 示例

摘要

Compositionality is the "golden key" to static analysis and plays a central role in static worst-case time analysis. We show that compositionality, combined with the capacity for tracking data distributions, unlocks a useful novel technique for average-case analysis.rnThe applicability of the technique has been demonstrated via the static average-case analysis tool Distri-Track. The tool automatically extracts average-case time from source code of programs implemented in the novel programming language MOQA (Modular Quantitative Analysis). MOQA enables the prediction of the average number of basic steps performed in a computation, paving the way for static analysis of complexity measures such as average time or average power use. MOQA has as a unique feature aguaranteed average-case timing compositionality.rnThe compositionality property brings a strong advantage for the programmer. The capacity to combine parts of code, where the average-time is simply the sum of the times of the parts, is a very helpful advantage in static analysis, something which is not available in current languages. Moreover, re-use is a key factor in the MOQA approach: once the average time is determined for a piece of code, then this time will hold in any context. Hence it can be re-used and the timing impact is always the same. Compositionality also improves precision of static average-case analysis, supporting the determination of accurate estimates on the average number of basic operations of MOQA programs.rnThe MOQA "language" essentially consists of a suite of data-structuring operations together with conditionals, for-loops and recursion. As such MOQA can be incorporated in any traditional programming language, importing all of its benefits in a familiar context (MOQA is implemented at CEOL in Java 5.0 as MOQA-Java).rnCompositionality for average-case is subtle and one may easily be tempted to conclude that compositionality "comes for free". For genuine compositional reasoning however, one needs to be able to track data and their distribution throughout computations; a non-trivial problem. The lack of an efficient method to track distributions has plagued all prior static average-case analysis approaches. We show how MOQA enables the flnitary representation and tracking of the distribution of data states throughout computations. This enables one to unlock the true potential of compositional reasoning. Links with reversible computing are discussed. The highly visual aspect of this novel and unified approach to the Analysis of Algorithms also has a pedagogical advantage, providing students with useful insights in the nature of algorithms and their analysis.
机译:组成性是静态分析的“金钥匙”,并且在静态最坏情况时间分析中起着核心作用。我们表明,组合性与跟踪数据分布的能力相结合,开辟了一种用于平均案例分析的有用新技术。通过静态平均案例分析工具Distri-Track证明了该技术的适用性。该工具会自动从以新颖的编程语言MOQA(模块化定量分析)实现的程序源代码中提取平均时间。 MOQA可以预测计算中执行的基本步骤的平均数量,从而为静态分析复杂性度量(例如平均时间或平均用电量)铺平了道路。 MOQA具有一个独特的功能,可确保平均情况下的时序组合性。rn组合性属性为程序员带来了强大的优势。合并代码部分的能力(平均时间仅是部分时间的总和)在静态分析中是非常有用的优势,而这在当前语言中是不可用的。而且,重用是MOQA方法的关键因素:一旦确定了一段代码的平均时间,那么该时间将在任何情况下都保持不变。因此,它可以重复使用,并且时序影响始终是相同的。组合性还提高了静态平均案例分析的精度,支持对MOQA程序基本操作的平均数量进行准确估计。rnMOQA“语言”主要由一组数据结构化操作以及条件,for循环组成和递归。由于这样的MOQA可以与任何传统编程语言结合使用,因此可以在熟悉的环境中导入其所有优点(MOQA在Java 5.0中的CEOL上以MOQA-Java的形式实现)。结论是“免费”。但是,出于真正的成分推理,需要能够跟踪数据及其在整个计算过程中的分布。一个非同小可的问题。缺乏有效的跟踪分布的方法困扰了所有先前的静态平均案例分析方法。我们展示了MOQA如何在整个计算过程中实现数据状态的最终表示和跟踪。这使人们能够释放出组成推理的真正潜力。讨论了与可逆计算的链接。这种新颖且统一的算法分析方法具有很高的视觉效果,也具有教学上的优势,可为学生提供有关算法及其分析性质的有用见解。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号