Polymorphic Time Systems for Estimating Program Complexity
本文介绍了一种新的静态程序分析方法,该方法允许为程序中的每个表达式分配一个执行时间估计。该方法使用一种时间系统配合传统的类型系统来计算表达式的类型和执行时间。表达式的时间估计可以是执行时间的一个整数上限,或者一个特殊的元素,表明该表达式包含一个循环,因此可能需要无限的时间来执行。每个函数类型包括一个用于从定义点到使用点的预期执行延迟时间。与以往的方法不同,本文所介绍的时间系统在存在一等函数(first-class functions)和分离编译的情况下也能工作。此外,它允许函数的时间取决于它作为参数接受的任何时间多态性函数的时间。 时间估计对于编译多处理器程序以平衡发起并发计算的开销与计算的预期执行时间是非常有用的。在动态语义的证明下,我们的时钟系统被证明是正确的。 文章的作者Vincent Dornic, Pierre Jouvelot, 和David K. Gifford均来自不同的研究机构,如法国的Ecole des Mines de Paris、法国Bull Louveciennes、美国麻省理工学院(MIT)。他们在文中引入了一个新的概念,即多态时间系统(Polymorphic Time Systems),它是一种用于评估程序复杂度的工具。这种系统特别适用于那些需要进行复杂度分析以及性能评估的场景,例如在编译多处理器程序时,需要根据程序的静态分析结果来平衡并发计算的开销和计算本身所需的执行时间。 时间系统与类型系统的结合在文章中被提出,这是一种新的尝试。传统的类型系统主要关注表达式的类型,而时间系统则关注表达式的执行时间。这种结合为程序的静态分析提供了新的维度,它不仅能够给出表达式的类型,还能给出执行时间的估计。 文章中提到的“一等函数”是一个重要的概念,它意味着函数可以像其他数据一样被传递和操作。这种对一等函数的支持使得时间系统不仅适用于简单的程序,还适用于那些使用高阶函数(函数作为参数或返回值)的复杂程序。此外,分离编译的概念也表明该时间系统能够处理由多个模块组成的大型程序,这些模块可能由不同的编译器编译,而无需知道其他模块的内部细节。 函数类型中包括的执行延迟时间对于描述函数从定义点到使用点的预期执行时间非常关键。这种信息对于优化编译器来说非常有用,因为它可以帮助确定哪些函数是时间敏感的,从而对那些需要优化以减少延迟的部分给予更多的关注。 在多核处理器和分布式系统日益流行的今天,程序性能的分析变得越来越重要。本文所提出的多态时间系统为此类性能分析提供了新的工具,使得开发者可以在程序编译阶段就开始优化性能。 此外,文章提到了时间系统的正确性,这表明作者们不仅仅关注于提出一个新工具,还关注于证明其理论基础。这种对正确性的关注对于任何静态分析工具都至关重要,因为开发者需要对其分析结果有信心,才能在实际编程工作中使用它们。 文章还涵盖了时间系统的类别和主题描述,包括并发编程、编程技术、编程语言的定义和理论、编程语言的分类,以及编译器、优化等。它还包括了一般术语,如语言、性能和验证。关键词包括时间系统、类型系统、复杂度分析、多态类型语言、时间和类型检查器、不动点算子等。 本文提出了一种创新的方法,通过结合时间和类型系统来提供程序复杂度的静态分析。这种分析对于现代多处理器程序的性能优化至关重要,并且为编译器设计和程序分析的研究领域提供了新的研究方向和工具。
剩余22页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助