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

发布时间:2018-02-01 11:09

  本文关键词: 可靠性 抽象语法树 插桩 软件错误隔离 编程接口建模 出处:《清华大学》2015年博士论文 论文类型:学位论文


【摘要】:随着计算机软件应用在越来越多的关键岗位,软件运行时的不可靠行为会造成严重的危害。在软件运行时对其进行分析和监控,可以诊断和约束软件的不可靠行为,消除软件不可靠性带来的危害。对软件编译时生成的编译器中间语言进行分析和插桩,可以分析和监控软件运行时的行为。因此在软件运行时如何通过编译器中间语言增强软件的可靠性成为一个重要的研究问题。本文针对软件运行时的可靠性进行研究,主要研究完全优化后的插桩无法准确定位语句和表达式的问题、运行时软件错误隔离缺乏可移植性问题和第三方软件库文档缺乏解析的问题。本文的主要贡献如下:(1)抽象语法树级别的插桩方法PAST。由于编译时完全优化的软件调试信息并不准确,因此在软件开发人员对运行时软件进行分析时,存在着无法准确定位带有语义信息的语句和表达式的问题。PAST利用未优化的编译器中间语言和带有语义信息的抽象语法树之间的对应关系,为开发人员提供带有语义信息的插桩方式,从而解决了在运行时无法准确定位语句和表达式的问题。此外,PAST在运行时不仅提供跨平台的分析框架,同时将分析工具在软件运行时的基本开销降低至可以忽略,这使得PAST可以直接应用在产品级软件的分析中。(2)基于中间语言的软件错误隔离方法WebC。在机器指令级别监控运行时软件行为的软件错误隔离方法,需要为不同的体系结构设计不同的运行时行为约束,这导致软件错误隔离方法在不同体系结构之间存在缺乏可移植性的问题。WebC利用编译器中间语言具有操作可移植性的优点,在编译器中间语言级别插入软件运行时的约束,从而解决了软件错误隔离缺乏可移植性的问题。此外,WebC不仅可以直接嵌入在浏览器中,在运行时WebC安全约束对软件性能的影响也并不明显。(3)基于自然语言处理的编程接口文档解析。使用自然语言编写的编程接口文档,无法解析成包含软件运行时行为约束的、形式化的规范。本方法通过识别文档结构、识别自然语言单词,解决了自然语言编程接口文档无法解析成软件运行时规范的问题。
[Abstract]:With the application of computer software in more and more critical positions, the unreliable behavior of software running will cause serious harm. It can diagnose and constrain the unreliable behavior of software, eliminate the harm caused by software unreliability, and analyze and insert the intermediate language of compiler generated when the software is compiled. It is possible to analyze and monitor the behavior of software runtime. Therefore, how to enhance the reliability of software through compiler intermediate language becomes an important research problem. This paper focuses on the reliability of software runtime. Research. This paper mainly studies the problem that the perfectly optimized inserted pile can not accurately locate the statements and expressions. The lack of portability of runtime software error isolation and the lack of parsing of third-party software library documents. The main contributions of this article are as follows: 1). Abstract syntax tree-level piling method pass. Due to the complete optimization of software debugging information at compile time is not accurate. So when software developers analyze runtime software. There is a problem that statements and expressions with semantic information can not be accurately located. Fast uses the unoptimized compiler intermediate language to match the abstract syntax tree with semantic information. The method of inserting posts with semantic information is provided to the developers, which solves the problem that the statements and expressions can not be accurately located at run time. In addition, PAST not only provides a cross-platform analysis framework at run time. At the same time, the basic overhead of the analysis tool is reduced to negligible when the software is running. This allows PAST to be used directly in the analysis of product-level software. An intermediate language-based software error isolation method WebC. a software error isolation method for monitoring runtime software behavior at the machine instruction level. Different runtime behavior constraints need to be designed for different architectures. This leads to the lack of portability of software error isolation methods between different architectures. WebC makes use of compiler intermediate language to have the advantage of operational portability. The constraint of software runtime is inserted at the intermediate language level of compiler, which solves the problem that software error isolation lacks portability. In addition, WebC can not only be embedded directly in browser. At runtime, the impact of WebC security constraints on software performance is not obvious.) programming interface documents based on natural language processing. Programming interface documents written in natural language. This method can not be parsed into a formal specification that contains the behavior constraints of the software runtime. This method recognizes natural language words by recognizing the structure of the document. It solves the problem that the interface document of natural language programming can not be parsed into software runtime specification.
【学位授予单位】:清华大学
【学位级别】:博士
【学位授予年份】:2015
【分类号】:TP311.53

【相似文献】

相关期刊论文 前10条

1 李筱青,陈晖,陈意云;一种新型类型化中间语言的优化实现技术[J];计算机工程;2005年05期

2 熊文新;宋柔;袁琦;;多语信息交流平台的中间语言系统及支撑环境设计[J];计算机科学;2006年08期

3 张涛;李迅波;;软PLC的转换中间语言模型的建立与研究[J];微计算机信息;2007年35期

4 申利民,唐勇,柯汉水,陈晓谦;基于中间语言的逆编译方法[J];东北重型机械学院学报;1997年01期

5 CSDN;;微软中间语言和即时编译[J];程序员;2002年04期

6 胡荣;范明钰;王光卫;宫亚峰;;C逆编译系统的中间语言的一种优化表示方法[J];计算机系统应用;2010年09期

7 马希文;树计算机与树程序[J];计算机学报;1978年01期

8 黎浩宏;;C#语言委托与事件机制的探讨[J];福建电脑;2009年11期

9 刘洪辉;罗胜荣;黎利红;;一种实用的计算机图形自动评判方法[J];电脑知识与技术;2006年23期

10 熊贻青;;针对微软中间语言的逆向分析[J];计算机应用;2006年07期

相关会议论文 前2条

1 熊文新;;提升自然语言向中间语言转换准确性的增强处理[A];第二届全国学生计算语言学研讨会论文集[C];2004年

2 李延莉;宫皓宇;;浅谈.NET[A];“加入WTO和科学技术与吉林经济发展——机遇·挑战·责任”吉林省第二届科学技术学术年会论文集(上)[C];2002年

相关重要报纸文章 前3条

1 福建 忠英;手机翻译时代的到来[N];电脑报;2004年

2 南京邮电学院 李建忠;“Hello,World!”程序[N];计算机世界;2002年

3 中国科学院自动化研究所 徐波;回归到“通天塔”之前[N];计算机世界;2002年

相关博士学位论文 前1条

1 尹杰;基于编译器中间语言的软件运行时可靠性研究[D];清华大学;2015年

相关硕士学位论文 前3条

1 韩冬;基于虚拟寄存器的中间语言[D];西南交通大学;2009年

2 黄海;基于IDA的代码解析与中间语言翻译[D];解放军信息工程大学;2009年

3 包苏鲁德;多语种机器翻译平台关键技术研究[D];复旦大学;2008年



本文编号:1481715

资料下载
论文发表

本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/1481715.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户eff20***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com