基于MISRA标准的通用C语言自动化检测工具

被引量 : 1次 | 上传用户:wwwwwwwww222
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
嵌入式领域要求软件有很高的可靠性与安全性。C语言虽然是开发嵌入式软件普遍使用的语言,但也会存在很多使用方式容易引起安全问题。通过设计支持“C语言安全编程规范”的自动化检测工具来强化C语言使用方式已成为提高程序可靠性与安全性的一种十分有效的方法。公开文献表明,我国目前几乎没有制定针对所有高可靠、高安全的嵌入式领域进行软件开发的C编程标准及自主研发嵌入式领域的通用C代码规则检测工具。在众多的编程规范中MISRA C:2004已成为高可靠性、高安全性的嵌入式领域中非常有影响力的软件开发编程规范。因此设计实现一个基于MISRA C:2004标准的通用自动化检测工具具有重要的现实意义。本论文重点对检测C程序代码是否符合MISRA C:2004编程规范中规则的方法进行了深入研究,并设计实现了基于MISRA标准的通用C语言自动化检测工具。本文完成的主要内容为:1.对现有静态信息提取方法进行研究,本着提取静态信息具有完整性与规范性的原则,提出使用Parser Generator中LEX和YACC构造词法、语法分析器对源程序进行信息提取的策略,并对LEX和YACC构建词法、语法分析器中的关键技术进行了分析。2.对比分析现有代码规则检测工具的实现方法,针对MISRA C:2004编程规范中不同规则,采用对词法分析及语法分析进行扩充的思路对本课题完成规则检测的方法进行了研究,确立实施代码规则检测的方法。3.对基于MISRA C:2004标准的通用自动化检测工具进行需求分析,设计总体框架,实现各模块功能。包括MISRA规则配置文件的生成、维护及操作;对目标对象根据MISRA标准中不同规则分别使用YACC构造支持MISRA标准的语法分析器及使用LEX构建词法分析器将源程序的静态信息转为一种中间模型;应用检测算法对中间模型进行遍历、匹配等操作实现对MISRA规则的检测;查看与导出检测结果。4.以C程序代码为待测对象,对工具功能的有效性进行验证,结果表明,本文设计实现的基于MISRA标准的通用C语言自动化检测工具能实现设计时提出的功能要求,且检测结果比较准确。
其他文献
航空发动机作为飞机的核心部件,其安全性、可靠性和经济性是航空发动机制造商、维修厂和航空公司等各相关部门关注的焦点。为了取得最大的经济效益和安全性,对航空发动机进行
时间滞后是物质和能量在传输过程中普遍发生的一种物理现象。时滞系统广泛地存在于实际工程中,如在经济系统,生态系统,电力系统,网络系统等领域,有很强的应用背景。另一方面,
随着改革开放的发展和深化,我国经济又好又快发展,公路交通已成为我国交通运输的主要形式之一,公路基础设施建设呈现日趋扩大与完善的趋势。人们开始青睐这种交通方式,尤其是
<正>淮河是我国七大河流之一。在1194年以前,淮河是一条独流入海的河流,水流迅急通畅,淮河干流的深水河床足够排泄上游的来水,下游无堤,也无大的灾害;入海口水深而宽阔,河势
会议
随着移动互联网高速发展,手机、移动智能设备在生活中有着越来越重要的地位。作为以人为主的企业,也开始越来越多的重视“移动互联网”技术,以方便企业的经营管理,提升企业效
当今显示领域中应用最为广泛的是TFT LCD技术,但是OLED凭借着自身具备的多种优势,在现今的显示移动设备领域也有了越发普及的应用。三星、LG、维信诺、京东方等显示面板厂商
随着我国社会主义市场经济的下行压力,国际经济形势的不利影响,高校的不断扩招,毕业生就业难已成为重要的社会问题。虽然校园招聘就业信息发布平台是高校毕业生完成就业的主
我国银行业经过数十年的成长和发展,已经初步形成多种股权为主导,资产规模、服务地域均有所不同的银行体系,也逐步形成了良好有序的银行业竞争机制。随着近年互联网、大数据
研究一点红黄酮的分离提纯及其清除1,1-二苯基-2-苦基苯肼自由基(DPPH·)和羟基自由基(·OH)作用。经乙醇回流提取、聚酰胺柱层析分离提纯得到一点红黄酮;采用薄层层析对其进
随着改革开放的不断深化,人们寻求发展的愿望也越来越强烈,大批“农民工”涌入大中型城市。在进城务工的大潮中,流动妇女无疑是弱势群体,尤其是流动穆斯林妇女,既要面对汉族