嵌入式C语言软件运行时错误的静态分析技术研究

来源 :中国航天第二研究院 航天科工集团第二研究院 | 被引量 : 0次 | 上传用户:nihao99520
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
嵌入式软件广泛应用于军工、航空航天、医疗等重要行业,随着嵌入式软件在产品系统中的地位和作用日益提高,安全性问题也日益突出。运行时错误(Run-time Errors)是影响嵌入式软件安全性的重要因素。运行时错误是软件在动态运行时出现的错误,由ANSIC定义,是指那些能导致预定义之外的不正确结果或者处理器停机的错误。  目前运行时错误的检测主要有动态测试和静态分析两种方法。动态测试的结果完全依赖于测试用例的质量,且不可能覆盖所有情况。静态分析方法不用执行程序,能够全面分析程序的所有路径。其在代码实现阶段就检测错误,降低后期测试的时间和费用。同时,静态分析方法具有可伸缩性,能够对函数、模块及工程等不同规模的目标程序进行分析。但静态分析一直面临着效率和精度平衡兼顾的问题,为了使得分析结果更加准确,必须在程序分析过程中记录更加详细复杂的信息,这就会导致时间和资源的高消耗。  本论文提出一种基于属性模型的静态分析方法,该方法将形式化模型验证和程序数据流分析相结合。首先,将运行时错误按照它们发生的原因进行分类,提取每类错误的属性模式,对属性模式进行形式化建模形成属性有限状态机。然后,对程序控制流图中与属性相关的路径进行属性流分析,实现路径敏感的过程内分析,为了减小复杂度,分析时合并相同属性的路径条件。最后,对照程序调用图,利用函数摘要实现上下文敏感的过程间分析。  同时,本论文在属性流的分析过程中,提出了一种准确高效的指针别名分析方法。该方法以Rugina算法为基础,在指针指向信息的二元组表达式上增加一个路径域扩展成三元组,实现路径敏感的指针别名分析。为了减小复杂度,过程间别名分析时采用过程摘要的方法。  实验结果显示,本论文提出的运行时错误的静态分析方法与现存的静态分析方法相比,在精度和效率之间取得一个良好的平衡。
其他文献
互联网在线广告行业蓬勃发展,是一个具有数百亿规模的庞大市场。在线广告领域的核心问题之一是广告的点击率预测,准确的点击率预测模型对于提高广告收益具有重要意义。工业界和
当今社会是一个信息化社会,计算机网络的应用已经深入到日常生活的各个领域,人们的生活和工作也更加依赖网络,从而网络技术也就成为一个越来越重要的技术。大量网络应用对服
数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合,是为决策支持系统和联机分析应用提供数据源的结构化数据环境。数据仓库不同于数据库,数
随着生产水平的提高和企业规模的扩大,现代企业迫切需要一个报表平台系统,利用当前Internet的迅速发展,使得分布在不同地方的子公司或单位能够随时提交各种生产经营报表,从而对数
随着网络规模的日益扩展,网络体系结构模型越来越复杂,网络用户及承载业务种类也与日剧增。认知网络为解决当前网络所面临的日益增加的复杂度提供了新的解决途径,尤其是在无
本文以GPS定位技术为基础,综合利用GPRS无线传输技术、GIS地理信息技术,设计并实现了物流行业中对集装箱卡车的实时监控系统。系统以安装在集装箱卡车上的GPS接收机发送的定
真实感绘制中通常需要大量采样才能得到收敛的结果,在采样不充足的情况下,结果中常出现明显噪点,如何减少采样加快收敛是一个很重要的问题。光场具有低秩性和连续性,可以认为
建立数学模型是工程应用和科研中的一个重要环节。在工程技术、经济管理、自然科学和社会科学等领域普遍存在着许多随时间变化的动态系统和非线性现象。遗传算法用于智能建模
随着互联网的迅猛发展,网络中的评论信息越来越多的受到人们的关注,加快了文本褒贬倾向性分析的脚步。本文主要针对中文句子级别的褒贬倾向性分析做了以下工作:   1.建立了绝
随着互联网的快速发展,各式各样的网站上的评论数据不断积累,而评论情感分析的主要任务正是基于这些大量的评论数据,分析出用户直观的情感表达。近年来,基于文本主题模型的评论情