基于MISRA标准的通用C语言自动化检测工具-电子与通信工程专业论文.docxVIP

  • 28
  • 0
  • 约9.21万字
  • 约 98页
  • 2019-02-13 发布于上海
  • 举报

基于MISRA标准的通用C语言自动化检测工具-电子与通信工程专业论文.docx

基于MISRA标准的通用C语言自动化检测工具-电子与通信工程专业论文

独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 作者签名: 日期: 年 月 日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定) 作者签名: 导师签名: 日期: 年 月 日 摘要 摘要 I I 摘 要 嵌入式领域要求软件有很高的可靠性与安全性。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 语言自动化检测工具能实现设计时提出的 功能要求,且检测结果比较准确。 关键词:MISRA C:2004,代码规则检测,词法分析,语法分析,检测算法 AB ABSTRACT II II ABSTRACT The security and reliability of software are required to be high in the embedded field. Although C language is widely used for embedded software development language, it has a lot of security problems caused by usage mode easily. Designing automatic detection tool that supports “C language programming security rule sets” to strengthen the usage mode of C language has become an effective way to improve the reliability and security of the program. The public literatures show that the C programming standards for high security and reliability software development and generic tools

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档