CORC  > 软件研究所  > 中科院软件所  > 中科院软件所
题名基于源代码的缺陷半自动化分析
作者曲富平
学位类别博士
答辩日期2006-06-02
授予单位中国科学院软件研究所
授予地点软件研究所
关键词缺陷 静态分析 GCC4 BDL状态机转换
中文摘要缺陷,是导致程序不能正常运行的错误或瑕疵。由于缺陷的存在,使程序运行轻则结果出错,重则崩溃退出,甚至造成人力、物力、财力的重大损失。因此,程序开发者们总是尽可能的避免程序缺陷的出现,将无缺陷的代码作为最高目标。使用测试用例对软件产品进行缺陷检测,效率低且容易出错。人工代码审计又对参与人员的能力提出了很高的要求。人们希望尽可能的对这些缺陷进行自动化查找,源代码分析检测工具应运而生。 源代码分析检测的优点,就在于它的自动化。由于实际代码的复杂性,对分析检测工具有了更高的要求,减少漏报和误报是很重要的两个方面。近二十年来,源代码分析检测方法有了很大的发展。虽然目前有很多检测缺陷的方法,但缺少一种面向编程人员,在易用性和功能性方面比较均衡的工具(商业版本过于昂贵、开源版本不够强大)。而本文就是在这方面的一次探索和尝试。 本文以GCC4作为基础平台,首次实现了一个用于描述缺陷的框架语言BDL(Bug Description Language),包括5大部分,分别是:用于解析缺陷语言的BDL前端解析器、用于保存缺陷规则的BDL中间代码、从GCC4获取代码信息的BDL后端、依照规则进行状态转换的BDL自动机、以及提供模式匹配和错误回溯的BDL内建函数。与其它开源软件相比,使用BDL,用户可以更容易与准确的自定义和查找多种逻辑缺陷。 为了提高检测能力和效率,本文还在路径遍历、全局分析、缓冲、注释支持等方面作了大量优化,使得BDL不仅仅是一个系统原形,还能查找真实复杂代码中的自定义缺陷,同时,又在易用性和功能性方面实现了较好的平衡。
语种中文
公开日期2011-03-17
页码66
内容类型学位论文
源URL[http://ir.iscas.ac.cn/handle/311060/6380]  
专题软件研究所_中科院软件所_中科院软件所
推荐引用方式
GB/T 7714
曲富平. 基于源代码的缺陷半自动化分析[D]. 软件研究所. 中国科学院软件研究所. 2006.
个性服务
查看访问统计
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。


©版权所有 ©2017 CSpace - Powered by CSpace