基于静态源码分析的软件安全测试技术研究与实现

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:geqatm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的快速发展,软件在各行各业得到了广泛应用,它已经成为我们日常生活不可缺少的组成部分。软件经过编译和测试,每千行代码中平均有10-20个缺陷。虽然软件公司通常花费超过80%的开发预算在质量控制上,但缺陷仍然存在,不断发布的补丁就是其表现。计算机软件日益庞大和复杂,使得软件中的漏洞越来越难以发现。在软件生存期中软件测试占有重要地位,是验证软件正确性及检测软件漏洞的重要手段。如何通过软件测试提高软件的质量及安全性是一个需要研究人员及软件公司关注的问题。和传统的采用测试用例的动态软件测试技术相比,静态分析技术不需要实际运行程序,通过分析程序源码或中间代码的方式,检查程序中潜在的错误。静态分析虽然具有优势,但也存在不足之处。现有静态分析工具在检测源码时大都存在误报以及漏报的情况,而且问题比较严重。如何降低静态分析工具在检测错误时的误报率和漏报率,也是研究人员及软件公司关注的问题。本文以软件测试中的静态分析技术为基础,主要研究了C程序中数组越界、未初始化变量和空指针解引用等软件漏洞的检查。通过阅读国内外大量文献,总结出传统软件测试技术的不足。通过对比研究静态分析的各种测试方法,指出现有静态分析工具的局限性。在以上理论知识的基础上,在Linux开发环境下,基于开源工具CallTree的源代码,开发出一种支持用户自定义属性规则的静态分析工具CT_Check,并且定义了一组原语操作便于属性规则文件的编写。开发过程中使用严格的控制流图和函数调用图生成算法,使得CT_Check具有低误报率和低漏报率的特点。最后,本文通过分类测试包含使用未初始化变量、数组越界、空指针解引用等错误的小程序以及综合测试较大系统的源码证明了该工具的有效性。
其他文献
目的:了解医学院校大学生计算机能力水平、计算机基础课程学习情况和课程学习意向,分析影响计算机教育教学的因素,为医学类高校计算机基础课程教育教学改革提供参考。方法:课
在社会快速发展的推动下,使得我国各个行业得到了显著的进步,从而对水利工程提出了更高的要求。水利工程与民众生活水平的提升和国家的发展都存密切的关联,所以务必要对水利
作为我国金融体系的主力军、核心力量及中小企业最主要的融资渠道,商业银行在供给侧改革的背景下面临催生信贷资金需求、创造较大的发展空间、诱发服务需求、提供多样化的信
企业文化是企业核心竞争力的重要来源,企业文化战略是企业发展战略的重要组成部分。企业作为一种经营性组织,其生存、发展战略选择不能脱离其组织生态环境——企业生态环境。
核心素养是针对各学科提出的培养学生综合能力 的一种理念。在教学中渗透核心素养是教师重要的教学任务,对学生今后的发展有重要的作用。目前,高中数学教学在核心 素养的渗透
水轮机安装空间小,,精度高,配备经验丰富技能水平高的安装工,配置合适的安装工具,合理规划安装程序,做好充分准备工作,按照审批的安装工艺实施,能有效确保安装质量和施工安全
对于大规模地图生产,卫星制图更新地图能有效降低成本,也避免了大量野外工作量。本文以塔里木测区为例,利用高分辨率卫星遥感立体影像,实现了大规模地形图数字化测图与大范围稀少控制点卫星影像整体区域网平差技术,从而极大地减少了外业工作量,建立了内外业一体化测图的生产模式,并系统地提出了3D数据成图的设计方案,最终在塔里木某区域的成图工程的成功应用,证实其设计是切实可行的。
目的:评价阴部神经阻滞用于尿道下裂患者术后辅助镇痛的效果。方法选择ASAⅠ~Ⅱ级择期行尿道下裂修复术的小儿64例,随机分为2组:阴部神经阻滞组32例( P组)和对照组32例( C组),所有患者
目的:研究糖尿病患者采用多样性护理方式进行护理的临床应用价值。方法:一项回顾性研究,纳入2017年7月到2018年7月期间我院收治的糖尿病患者78例为研究对象,根据护理方法的不
本文从分析三个不同版本(人教版、人音版与江苏少儿版)的教材的特色出发,来研究现代教材的体系结构,并对教材中体现的学科新观念进行分析,通过对这三个版本音乐教材的分析、