首页> 外文会议>Principles of programming languages >Static Determination of Quantitative Resource Usage for Higher-Order Programs
【24h】

Static Determination of Quantitative Resource Usage for Higher-Order Programs

机译:静态确定高阶程序的定量资源使用情况

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

摘要

We describe a new automatic static analysis for determining upper-bound functions on the use of quantitative resources for strict, higher-order, polymorphic, recursive programs dealing with possibly-aliased data. Our analysis is a variant of Tarjan's manual amortised cost analysis technique. We use a type-based approach, exploiting linearity to allow inference, and place a new emphasis on the number of references to a data object. The bounds we infer depend on the sizes of the various inputs to a program. They thus expose the impact of specific inputs on the overall cost behaviour. The key novel aspect of our work is that it deals directly with polymorphic higher-order functions without requiring source-level transformations that could alter resource usage. We thus obtain safe and accurate compile-time bounds. Our work is generic in that it deals with a variety of quantitative resources. We illustrate our approach with reference to dynamic memory allocations/deallocations, stack usage, and worst-case execution time, using metrics taken from a real implementation on a simple micro-controller platform that is used in safety-critical automotive applications.
机译:我们描述了一种新的自动静态分析,用于确定使用定量资源的上界函数,这些资源用于处理可能混淆的数据的严格,高阶,多态,递归程序。我们的分析是Tarjan人工摊销成本分析技术的一种变体。我们使用一种基于类型的方法,利用线性度进行推理,并将新的重点放在对数据对象的引用数量上。我们推断的范围取决于程序的各种输入的大小。因此,它们暴露了特定投入对总体成本行为的影响。我们工作的关键新颖方面是,它直接处理多态高阶函数,而无需进行可能更改资源使用情况的源级转换。因此,我们获得了安全,准确的编译时边界。我们的工作是通用的,因为它处理各种定量资源。我们使用在安全关键型汽车应用中使用的简单微控制器平台上的实际实现中得出的指标,结合动态内存分配/取消分配,堆栈使用情况和最坏情况的执行时间来说明我们的方法。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号