DTSC跨平台技术研究与实现

来源 :北京邮电大学 | 被引量 : 1次 | 上传用户:tianyawoaiai
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件技术的快速发展,计算机软件规模与复杂性急剧增加,因此软件测试的意义显得越来越重要。由于人工的测试效率比较低,而且容易引入一些人为的错误,因此近年来自动化测试技术得到了迅猛的发展。本文涉及的DTSC系统是一个C语言静态分析框架,采用了基于缺陷模式的自动化软件测试方法实现。DTSC可以针对经过预处理的C语言中间代码生成其抽象语法树信息,进而生成控制流图和符号表信息,并通过加载模式状态机来静态分析软件中潜在的缺陷。C语言作为一种通用的、过程式的高级语言,有着很多的优点,因此在不同平台上有着各种各样的C语言编译器。作者在对C语言静态分析框架跨平台技术研究时发现,不同编译器支持的C语言语法不尽相同,语法兼容性问题是跨平台分析的难点之一。因此在论文研究工作中,作者主要研究了C语言静态分析器的实现原理,并且介绍了C静态分析框架前端部分所涉及的预处理过程、抽象语法树等部分的内容。研究的重点在于C语言编译器语法特点和差异,本文作者主要针对了Windows平台、Linux平台以及嵌入式平台下的一些常用的C语言编译器的特点进行归纳,并且对不同编译器相对于C89标准的语法差异进行了总结和归类。再将语法差异分为数据类型差异、关键字差异和逻辑差异之后,对每一类别选取了一些语法差异进行分析,判断其对C语言标准巴科斯范式的影响。根据该语法特点修改巴科斯范式之后编写相应的语法文件,通过Sun公司开发的JavaCC工具进行处理,使DTSC系统能够顺利的分析该编译器生成的代码。最后,作者对不同编译器编译通过的测试代码用修改后的C语言分析器进行了分析,并且对比没有修改时的C语言分析器的分析效果,来确定这种扩展方式能否达到预期的效果。经实验证明,利用JavaCC工具和C语言的jjt文件能够较容易的实现不同C语言语法的支持,对于C静态分析框架的兼容性扩展有着重要的意义。
其他文献
近年来,由于国内外学术界的高度关注、政府和新闻媒体大力宣传,物联网技术迅速发展,不断地切入人们生产、生活工作中。将物联网中上庞大散乱,多样异构的数据信息汇聚起来,并
我国是林业大国,拥有丰富的林业物种资源,随着环境问题的日益突出,濒危植物的数量激增,又由于人工识别具有效率低、主观性强的缺点,因此,基于计算机技术的植物物种识别具有重
软件安全保护与分析技术已经成为计算机安全领域的一个重要研究课题。本文主要面向windows下的二进制软件程序(PE文件),从正反两个方面研究和总结了当今主流的软件保护与分析
学位
WiFi技术以其组网方便、易于扩展等特点,越来越多地被应用于矿用移动通信系统中,随着矿井安全生产对移动视频可视化调度需求的不断增加,如何在WiFi无线覆盖网络下,实现矿井下移动
机器人导航技术是机器人研究中的关键技术之一。在人机交互系统中,大量的导航指令都是基于地图度量的坐标指令。这种以坐标指令为基础的导航被称为度量导航(Metric Navigation
随着高校教学改革的推进,规范化、系统化、可操作性强的项目教学已经成为教学实践中不可或缺的一部分,让项目实践做到有规范可依,有标准可循,进而提高项目实践教学效率,《小
随着我国高速公路建设的快速发展,作为缓解收费站点拥堵和提高车辆通行能力的重要技术手段,基于专用短程通信标准的电子不停车收费系统受到了普遍关注并逐渐成为智能交通领域
随着Internet技术和软件复用技术的发展,开源软件资源成为具有复用价值的重要软件制品。开源软件资源的可信评估有助于软件开发者快速、有效地复用开源软件资源。而在评估中,
随着计算机技术的飞速发展,嵌入式系统的发展尤其引人注目。嵌入式操作系统作为嵌入式系统中的核心,在各个领域内都被广泛地使用。RTEMS是一款优秀的嵌入式实时操作系统,不仅拥