基于编译器中间语言的软件运行时可靠性研究

来源 :清华大学 | 被引量 : 0次 | 上传用户:menghong1882
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机软件应用在越来越多的关键岗位,软件运行时的不可靠行为会造成严重的危害。在软件运行时对其进行分析和监控,可以诊断和约束软件的不可靠行为,消除软件不可靠性带来的危害。对软件编译时生成的编译器中间语言进行分析和插桩,可以分析和监控软件运行时的行为。因此在软件运行时如何通过编译器中间语言增强软件的可靠性成为一个重要的研究问题。本文针对软件运行时的可靠性进行研究,主要研究完全优化后的插桩无法准确定位语句和表达式的问题、运行时软件错误隔离缺乏可移植性问题和第三方软件库文档缺乏解析的问题。本文的主要贡献如下:(1)抽象语法树级别的插桩方法PAST。由于编译时完全优化的软件调试信息并不准确,因此在软件开发人员对运行时软件进行分析时,存在着无法准确定位带有语义信息的语句和表达式的问题。PAST利用未优化的编译器中间语言和带有语义信息的抽象语法树之间的对应关系,为开发人员提供带有语义信息的插桩方式,从而解决了在运行时无法准确定位语句和表达式的问题。此外,PAST在运行时不仅提供跨平台的分析框架,同时将分析工具在软件运行时的基本开销降低至可以忽略,这使得PAST可以直接应用在产品级软件的分析中。(2)基于中间语言的软件错误隔离方法WebC。在机器指令级别监控运行时软件行为的软件错误隔离方法,需要为不同的体系结构设计不同的运行时行为约束,这导致软件错误隔离方法在不同体系结构之间存在缺乏可移植性的问题。WebC利用编译器中间语言具有操作可移植性的优点,在编译器中间语言级别插入软件运行时的约束,从而解决了软件错误隔离缺乏可移植性的问题。此外,WebC不仅可以直接嵌入在浏览器中,在运行时WebC安全约束对软件性能的影响也并不明显。(3)基于自然语言处理的编程接口文档解析。使用自然语言编写的编程接口文档,无法解析成包含软件运行时行为约束的、形式化的规范。本方法通过识别文档结构、识别自然语言单词,解决了自然语言编程接口文档无法解析成软件运行时规范的问题。
其他文献
为了满足铁路、公路桥梁、高层建筑、港口码头等基础钻孔桩施工的需要,铁道部大桥工程局桥梁机械制造厂研制成功KTY3000型全液压动力头钻机。该机的研制成功,标志我国无大扭矩动力头钻
经过30多年的改革,我国的选举制度取得了辉煌的成就,但现实中仍有许多问题亟待解决:候选人提出、确定与介绍中存在的问题;选民的盲目与无知性问题;强权干预选举问题;贿选问题
随着当前我国的经济与社会在不断发展进步,档案资料在社会的各项工作中也显得越来越重要,而档案资料的完整性及准确性问题也日益突出。因此,档案管理信息化建设工作越来越受重视
电影《秋日传奇》里的第一句话,由一个苍老沙哑的声音娓娓诉说着:"有些人能清楚地听见来自心灵的声音,他们依着那声音作息。这种人最终不是疯了,就是成了传说……"电影借一个印
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
旧楼加装电梯这件难事,需要多方努力,增进共识,合力破题。首先“出面”的应该是政府,其次要重视发挥业主委员会的作用,此外还可以鼓励市场主体积极参与。
基于物理的柔性体模拟技术可以用于生成逼真的动画效果,因而广泛应用于电影、动画、游戏、虚拟现实等领域。然而,由于物理模拟过程通常涉及大量繁琐的参数设置,模拟结果往往
介绍了瞬时液相扩散焊焊接原理,采用二相图对其焊接过程进行了模拟,讨论了瞬时液相扩散焊连接技术的优缺点。分析了焊接中间层的选择、焊接压力、焊接温度以及焊接时间等焊接