收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

结构语义相似的程序识别方法研究

王甜甜  
【摘要】:程序识别使用一个已知模式分析给定程序,从而识别给定程序的意图。程序识别在程序理解、软件系统分析、编译器优化、重复代码检查和软件缺陷检测等领域中有着广泛的应用。 本文提出结构语义相似的程序识别方法。主要研究内容包括以下四部分: 针对代码多样化给程序分析带来困难的问题,提出基于系统依赖图的程序标准化方法。改进了传统的系统依赖图表示,使其充分表示程序的语法结构与语义。并针对已有的指针分析算法不适合于程序标准化的问题,基于控制依赖树和改进的指向表示方法提出流敏感和上下文敏感的指针分析算法,提高指针分析和数据流分析的准确性,并使得指针分析结果可直接应用于程序标准化转换中。最后将改进的系统依赖图、指针分析算法与程序标准化过程有机结合,提出基于系统依赖图的程序标准化模型,根据程序标准化转换规则,对系统依赖图进行语义不变的转换,从而消除代码多样化。实验结果表明,本文提出的指针分析算法准确性高于已有的Emami指针分析算法的准确性,并且应用于程序标准化时可显著提高代码多样化消除率。本文的程序标准化方法的代码多样化消除率高于已有的Hattori与Ishi方法的代码多样化消除率,可以有效地消除代码多样化,提高程序分析的灵活性,为判定程序的结构语义相似奠定良好的基础。 针对基于图提取子程序时间与空间开销巨大的问题,提出结构度量相似的候选子程序提取方法。在已有的代码相似度及编辑距离的定理和推论的基础上提出新的推论,将特征向量聚类应用于候选子程序提取中。首先,将代码表示为控制依赖树,通过基本代码标准化,消除影响度量值计算的代码多样化。然后,采用特征向量描述程序的结构信息,将复杂的图的相似度求解问题转换为简单的相似向量的聚类问题,快速提取可能与给定模式相似的候选子程序。实验结果表明,该方法能够过滤掉大部分不相似代码,并且可以识别含有代码多样化的代码,为大规模软件在语义级别上的程序识别奠定基础。 针对已有的程序识别方法不能较好地在语义级别上识别程序,并且不能定量地衡量代码的语义相似度的问题,提出基于系统依赖图的语义级别的程序识别方法。在此基础上提出基于程序转换和语义分析的编程题自动评分方法,克服了传统的基于动态测试自动评分和基于软件度量分析的自动评分方法没有考虑学生程序是怎样实现编程任务的缺陷,为编程题自动评分提供新思路。实验结果表明,基于系统依赖图的语义级别的程序识别方法能够准确计算代码的语义相似度,较好地解决程序识别结果的表示和准确性问题。 针对传统基于度量值的程序识别方法准确率低和基于图的程序识别方法复杂度高的问题,在上述研究的基础上,提出度量值和图相结合的程序识别方法。首先,将模式程序和用户程序表示为改进的系统依赖图。然后,以模块为单位,采用结构度量相似的候选子程序提取方法,缩小语义级别程序识别的搜索空间,提高算法的效率。最后,对可能相似的候选子程序进行高级代码多样化和精确的语义级别的程序匹配,识别语义相似的子程序。在此基础上提出语义级别的相似代码检测方法,为相似代码检测提供新思路。实验结果表明,度量值和图相结合的程序识别方法可以有效地处理大规模代码,不但能识别完全相同的代码,还可以识别包含代码多样化的相似代码,实现语义级别的程序识别,准确率和效率高于GPlag和integrated logic-domain model两种方法。 综上所述,本文提出了结构语义相似的程序识别方法,解决了代码多样化的识别、识别结果的表示和准确性、识别方法的可扩展性等关键技术问题。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 张爱文;王泉泉;;编程题自动评分模型的研究与实现[J];黑龙江科技信息;2007年09期
2 王甜甜;郭全萍;马培军;苏小红;;用指针实现的程序的标准化及其应用[J];哈尔滨工业大学学报;2009年03期
3 张永立,张忠平,曹顺良,骆建华,李亦学;生物信息学数据仓库中语义相似性方法的应用与实现[J];计算机应用研究;2004年11期
4 王宇颖,李永浩,孙志岗,苏小红;代码多样化消除规则的研究[J];哈尔滨工业大学学报;2005年04期
5 李必信,李宣东,郑国梁;一种系统依赖图的面向对象扩充方案[J];软件学报;2001年02期
6 权恒通;BASIC语言调用机器码子程序的一个方法[J];微型机与应用;1993年08期
7 陈峰;ScoFoxBASE下的终端本地打印[J];微计算机应用;1992年04期
8 王伟廷,张丽君;一个通用增加记录子程序示例[J];计算机时代;1995年06期
9 徐德智;郭臻;;基于本体的Web用户行为语义分析[J];现代图书情报技术;2007年01期
10 唐常杰,韩仲清;一个Turbo—C的多窗口大程序框架[J];计算机应用研究;1992年01期
11 Martin A.N.,张大方,缪力;一种JAVA程序静态切片的方法[J];计算技术与自动化;2005年03期
12 黄静;章晓芳;张广泉;;一种基于通知波动效应的面向方面系统依赖图构造方法[J];计算机工程与科学;2010年09期
13 ;子程序的内部链[J];计算机工程与应用;1971年05期
14 王庆;CGPSS—F仿真系统软件的建立与调试[J];系统工程与电子技术;1996年02期
15 甘文,梁清延;双动力头滚压曲轴数控机床通用程序[J];现代制造工程;2005年09期
16 李文豪;;程序切片技术浅析[J];电脑知识与技术(学术交流);2006年08期
17 朱炎;蔡国永;;基于ISDG的面向对象程序分片技术研究[J];计算机与现代化;2007年01期
18 吴方君;徐升华;;用Z形式化描述程序切片[J];小型微型计算机系统;2007年08期
19 刘振鹏;李爱兰;王培;吕宁;;基于语义和Chord算法的P2P搜索模型[J];东南大学学报(自然科学版);2008年S1期
20 王甜甜;苏小红;马培军;;程序标准化转换中的指针分析算法研究[J];电子学报;2009年05期
中国重要会议论文全文数据库 前10条
1 王鹏飞;张大方;缪力;;包含异常处理的Java程序切片[A];第三届中国测试学术会议论文集[C];2004年
2 徐红;杜国英;;俄语中的圣经成语研究[A];中国首届“海峡两岸俄语教学与研究学术讨论会”论文集[C];2005年
3 朱俊武;王建东;李斌;;基于语义相似性的web服务选择(英文)[A];全国语域web与本体能研讨会论文集[C];2006年
4 黄世国;耿国华;;语义相似性测度方法研究[A];2006年全国理论计算机科学学术年会论文集[C];2006年
5 朱松豪;刘允才;;基于语义相似性的自动图片标注研究[A];第四届和谐人机环境联合学术会议论文集[C];2008年
6 吴名彬;;VGA(1024×768)图形显示及打印子程序集[A];中国地震学会第六次学术大会论文摘要集[C];1996年
7 赵冬初;缪永康;;微机数显轴承润滑测量仪[A];摩擦学第四届全国学术交流会论文集(第二册)[C];1987年
8 赵秉群;王云秀;;介绍STYR库的功能及其地质应用[A];中国地质科学院矿床地质研究所文集(17)[C];1986年
9 邓长根;;前后处理程序从微机到SUN工作站的移植[A];土木工程计算机应用文集——中国土木工程学会计算机应用学会第五届年会论文集[C];1993年
10 李会杰;陈楚侨;;相似性和Stroop效应对无意视盲的影响[A];第十一届全国心理学学术会议论文摘要集[C];2007年
中国博士学位论文全文数据库 前10条
1 王甜甜;结构语义相似的程序识别方法研究[D];哈尔滨工业大学;2009年
2 杨艳萍;自动Web服务组合关键技术研究[D];国防科学技术大学;2007年
3 梅翔;语义检索中若干关键问题的研究[D];北京邮电大学;2007年
4 黄涛;知识服务的语义匹配机制研究[D];华中师范大学;2007年
5 李国旗;本体辅助的先验知识融入生物信息数据挖掘的方法研究[D];上海交通大学;2007年
6 陈文;非线性电路与系统分析方法及符号仿真技术研究[D];华南理工大学;1994年
7 蒋烈辉;固件代码逆向分析关键技术研究[D];解放军信息工程大学;2007年
8 白东伟;基于语义的Web服务匹配与发现技术研究[D];北京邮电大学;2008年
9 彭从文;岩体广义多层结构模型研究[D];浙江大学;2010年
10 王福华;民事保全制度研究[D];中国政法大学;2005年
中国硕士学位论文全文数据库 前10条
1 王宁;编程题自动评分系统中结构体的研究与现实[D];哈尔滨工业大学;2006年
2 许成子;面向方面程序的系统依赖图设计与实现[D];上海交通大学;2008年
3 马亮;面向对象程序动态切片系统的研究与实现[D];南京航空航天大学;2007年
4 王欢;面向对象程序等价转换技术的研究与应用[D];广东工业大学;2008年
5 郭全萍;指针编程题的标准化及其自动评分方法的研究[D];哈尔滨工业大学;2007年
6 时武略;基于程序切片的Java多态性研究[D];东北大学;2009年
7 王鹏飞;包含异常处理的Java程序切片研究[D];湖南大学;2005年
8 巩剑斌;面向信号的ATLAS语言分片技术[D];吉林大学;2007年
9 吴浩;基于数据库模式的数据流图逆向恢复技术研究[D];复旦大学;2008年
10 田婕;面向对象软件FMEA方法研究[D];国防科学技术大学;2008年
中国重要报纸全文数据库 前10条
1 Ed Schaefer;编程:从构建思维开始[N];中华读书报;2006年
2 山西 贵国庆;DS18B20在ME300B单片机开发系统的应用[N];电子报;2005年
3 崔克明;“克隆”人真那么可怕吗?[N];科技日报;2001年
4 湖南 张子华;24系列串行E~(2)PROM在应用中的注意事项[N];电子报;2006年
5 清水编译;从闪盘安装Vista[N];计算机世界;2007年
6 湖南 肖敦金;5.1AV前置控制器软硬件设计[N];电子报;2008年
7 山东 曹彦平 马庆勇;基于51单片机的数字电压表[N];电子报;2008年
8 山东 赵玉勇;2008奥运智力填空[N];电脑报;2003年
9 上海 李超;什么是Cache[N];电脑报;2001年
10 湖南 许义景;用VB编写的MCS-51系列单片机汇编语言编辑器[N];电子报;2004年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978