首页> 中文学位 >基于GCC的C++静态分析器的开发
【6h】

基于GCC的C++静态分析器的开发

代理获取

目录

文摘

英文文摘

声明

第一章前言

1.1课题背景

1.2本人工作

1.3论文结构

1.4开发环境的要求

1.5 GCC编译器的简介

第二章C++检查规则论述

2.1 C++语言的潜在缺陷

2.2 C++检查规则

2.3小结

第三章编译器的结构及流程

3.1编译器的基本原理

3.2 词法分析

3.2.1文法

3.2.2 词法分析

3.2.3单词的描述工具

3.2.4有穷自动机

3.3语法分析

3.3.1 LR分析

3.3.2 LR分析概述

3.4语法制导翻译和中间代码生成

3.4.1属性文法

3.4.2简单赋值语句的翻译

3.4.3布尔表达式的翻译

3.4.4控制结构的翻译

3.4.5数组和结构的翻译

3.4.6结构(记录)说明和引用的翻译

3.5小结

第四章符号表的分析及查找

4.1符号表的作用和地位

4.2符号表的组织

4.3 GCC中的TREE结构

4.4符号表的查找

4.5小结

第五章规则实现的方法与工程过程

5.1规则实现的方法与过程

5.2工程实现的检查规则

第六章总结及展望

参考文献:

致谢

展开▼

摘要

C++已经成为目前最主流的开发语言之一,使用C++语言开发的工具越来越多,尤其在一些重要的领域,例如:车载控制、航天领域等。随着计算机技术的发展,C++语言开发的工具在航天领域得到了广泛的使用,不仅仅是地面、雷达等系统,在航天、导弹等系统中也变的越来越重要。由于C++的高效等特性决定了C++必然得到更广泛、更重要的应用。但是由于C++语言体系的庞杂,使用C++语言开发的软件程序,不可避免的带有缺陷。所以我们有必要自主开发一套测试工具,保证软件程序的安全、可靠运行。C++静态分析器就是此工程的一部分,开发C++静态分析器,使测试人员、开发人员可以审查代码,发现代码中的缺陷,保证代码的安全性和可靠性。 本文首先根据《MISRAC++:2008》、《C++编程规范》、《高质量C++编程》等资料,结合CH语言特性,制定了《C++静态检查规则1.0》版本。以《MISRAC++:2008》为基础,重点描述了常见的C++错误,并按重要程度,分为规则和建议。在编写工具的时候,报错加以区别。《C++静态检查规则1.0》是我们自己编写的一份手册,随着技术的发展,可以随时更新手册,开发出更符合航天领域的C++静态分析器。 其次,C++静态分析器以开源编译器GCC为基础进行开发。GCC是目前最成功的开源工具之一,其代码规范、严格。使用GCC保证了工具有很好的跨平台性,并可很大程度的保证软件开发的质量。根据《C++静态检查规则1.0》,对检查规则实现过程进行分类,主要分为词法分析过程、语法分析过程以及语义分析过程。本文重点分析了GCC中C++编译过程、程序逻辑过程以及GCC的符号表。其中GCC的符号表的正确使用是实现规则检查的基础,对符号表的查找、分析也是重点、难点。 最后,本文重点讲述了应用GCC实现规则检查的步骤、方法、具体实现过程以及简单的测试用例。对测试用例运行,C++静态分析器是正确的、可行的,应用此工具可以检测到源代码中存在的缺陷。

著录项

  • 作者

    单世华;

  • 作者单位

    北京邮电大学;

  • 授予单位 北京邮电大学;
  • 学科 软件工程
  • 授予学位 硕士
  • 导师姓名 王安生;
  • 年度 2009
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.52;
  • 关键词

    C++语言; 静态分析器; 软件开发;

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号