以虚拟机为核心支持动态层绑定的方法
A VM-centric Approach for Dynamic Layer Binding作者机构:西安交通大学计算机科学与技术系西安710049
出 版 物:《计算机研究与发展》 (Journal of Computer Research and Development)
年 卷 期:2014年第51卷第2期
页 面:429-444页
核心收录:
学科分类:0810[工学-信息与通信工程] 0808[工学-电气工程] 0839[工学-网络空间安全] 08[工学] 0835[工学-软件工程] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 081202[工学-计算机软件与理论]
基 金:国家自然科学基金项目(61173040) 国家"八六三"高技术研究发展计划基金项目(2012AA011003)
摘 要:一些面向上下文的编程语言已经实现,但在这些语言中所有的层被编译为程序可执行代码的一部分,这限制了程序的应用范围.为了解决该问题,提出一种以虚拟机为核心的方法支持动态层绑定,它融入对象组合与代理到虚拟机实现层激活,利用虚拟机服务支持动态层绑定.为了精确描述该方法并有效分析该方法对程序类型安全的影响,定义一个以Featherweight Java演算为核心的演算.基于该演算,形式化分析它对程序类型安全的影响,定义相应的约束,并证明在满足该约束下动态层绑定能保持程序的类型安全.为证明方法可行,以演算为指导,通过扩展Java的编译器与虚拟机实现并评估该方法.该演算和方法的实现可用于指导类似Java的语言的扩展,以支持程序动态地绑定层,同时保证扩展后语言的类型安全.