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

Files in This Item:
File Name/ File Size Content Type Version Access License
10001_200328015004399曲富平_null.doc(671KB)----限制开放-- 联系获取全文

Recommended Citation:
曲富平. 基于源代码的缺陷半自动化分析[D]. 软件研究所. 中国科学院软件研究所. 2006-06-02.
Service
Recommend this item
Sava as my favorate item
Show this item's statistics
Export Endnote File
Google Scholar
Similar articles in Google Scholar
[曲富平]'s Articles
CSDL cross search
Similar articles in CSDL Cross Search
[曲富平]‘s Articles
Related Copyright Policies
Null
Social Bookmarking
Add to CiteULike Add to Connotea Add to Del.icio.us Add to Digg Add to Reddit
所有评论 (0)
暂无评论
 
评注功能仅针对注册用户开放,请您登录
您对该条目有什么异议,请填写以下表单,管理员会尽快联系您。
内 容:
Email:  *
单位:
验证码:   刷新
您在IR的使用过程中有什么好的想法或者建议可以反馈给我们。
标 题:
 *
内 容:
Email:  *
验证码:   刷新

Items in IR are protected by copyright, with all rights reserved, unless otherwise indicated.

 

 

Valid XHTML 1.0!
Copyright © 2007-2017  中国科学院软件研究所 - Feedback
Powered by CSpace