文档介绍:代号 10701 学号 0921121412
分类号 密级公开 
题(中、英文)目静态程序切片技术及其在安全领域的应用研究
Static Program Slicing Technique and its Applications 
to Security
作者姓名贠大庆指导教师姓名、职务刘西洋教授
学科门类工学  学科、专业计算机软件与理论 
提交论文日期二○一二年五月
西安电子科技大学
学位论文创新性声明
秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导
师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注
和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;
也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材
料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明
并表示了谢意。
申请学位论文与资料若有不实之处,本人承担一切相关责任。
本人签名: 日期
西安电子科技大学
关于论文使用授权的说明
本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生
在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留
送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,
可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合
学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。
(保密的论文在解密后遵守此规定)
本学位论文属于保密在年解密后适用本授权书。
本人签名: 日期
导师签名: 日期
摘  要 
摘要
为提高 web 应用的安全性,笔者所在课题组提出一种应用程序切片技术的 web
分析模型,对网页代码进行大规模分析,旨在发现安全规则和安全漏洞。本文则
主要研究静态程序切片及其在安全分析上的应用。
在学习了程序切片相关基础知识后,本文重点讨论了静态程序切片工具的设
计与实现:首先,利用开源语言识别工具 ANTLR 自动生成程序分析器(包括词法
分析器与语法分析器)作为切片工具的前端;然后,利用程序分析器得到源程序
的抽象语法树,将抽象语法树转化为控制流图,并在其基础上计算程序的各种依
赖关系并构造相应的依赖图;最后,对程序源代码进行静态切片。
本文将静态程序切片技术应用到安全分析领域,对共同模式失效问题进行了
简单的分析,并结合一个简单的具体实例,说明具体的分析方法。
关键词:ANTLR 抽象语法树控制流图控制依赖静态程序切片安全分析
Abstract
Abstract
To improve web security, we propose a new web analysis model in which program
slicing technique is used, the model focuses on digging out security rules and leaks
through analyse large-scale source code of web pages.
After presenting basic knowledge on program slicing, this thesis mainly studies the
design and implementation of static program slicing tool: firstly, utilizing ANTLR
(Another Tool for Language Recogniton) to generate program recognizer (includes lexer
and parser) automatically as the slicing tool’s front-end; secondly, from abstract syntax
tree which is constructed by program recognizer, constructing control flow graph and on
puting all kinds of dependence relations and its dependence graphs; Finally,
computing static slice.
This thesis applies static program slicing techniq