Static Single Information Form for Abstract Compilation

Static Single Information Form for Abstract Compilation
复制标题

摘要编译静态单一信息表

DOI:
10.1007/978-3-642-33475-7_2
复制
发表时间:
2012
期刊:
--
影响因子:
--
通讯作者:
Giovanni Lagorio
Giovanni Lagorio
中科院分区:
--
文献类型:
--
作者:
D. Ancona;Giovanni Lagorio

文献摘要

被引文献

相似文献

在以前的工作中,我们已经表明,可以通过利用联合类型和代码的静态单赋值(SSA)中间表示(IR)来实现更精确的类型分析。在本文中,我们利用静态单信息(SSI),这是文献中提出并被一些编译器采用的SSA的扩展,允许对条件分支中的变量进行更精确类型的赋值。特别是,在动态面向对象语言中,SSI可以相当容易和有效地用于推断更精确的类型,其中经常使用显式运行时类型检查。我们将展示如何将SSI表单的使用与抽象编译(我们的静态类型分析方法)顺利集成。特别地,我们为SSI形式的简单动态面向对象语言定义了基于联合和名义类型的抽象编译,并使用运行时类型检查操作符,以显示类型推断的精确程度。
In previous work we have shown that more precise type analysis can be achieved by exploiting union types and static single assignment (SSA) intermediate representation (IR) of code.In this paper we exploit static single information (SSI), an extension of SSA proposed in literature and adopted by some compilers, to allow assignments of more precise types to variables in conditional branches. In particular, SSI can be exploited rather easily and effectively to infer more precise types in dynamic object-oriented languages, where explicit runtime typechecking is frequently used.We show how the use of SSI form can be smoothly integrated with abstract compilation, our approach to static type analysis. In particular, we define abstract compilation based on union and nominal types for a simple dynamic object-oriented language in SSI form with a runtime typechecking operator, to show how precise type inference can be.