CN112988587B 一种程序检测方法及装置 (清华大学)_第1页
CN112988587B 一种程序检测方法及装置 (清华大学)_第2页
CN112988587B 一种程序检测方法及装置 (清华大学)_第3页
CN112988587B 一种程序检测方法及装置 (清华大学)_第4页
CN112988587B 一种程序检测方法及装置 (清华大学)_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以将种子文件输入待测试程序中进行混合符号使得符号执行能在短时间内到达至种子状态值有限时间内对待测试程序中更多或者更深的路2将种子文件输入待测试程序中进行混合符号执行,以确定所述待测在将所述种子文件输入所述待测试程序中进行混合符号执对所述时间序列数据进行聚类,以将目标子程序划分为至少标子程序由所述待测试程序在所述种子路径上的基本块记录所述测试用例在至少一个所述阶段子程序按照符号执行策略,将至少一个所述种子状态值输入至所述待测试程2.根据权利要求1所述的方法,其特征在于,所述确定基本块执行信息的时间序列数分别确定时长相等且连续的多个时段对应的基本块向分别对各所述时段内的所述执行标记数据进行归一化处分别将各所述时段的所述归一化处理后数据和相应的代码覆盖率确定为一个基本块在同一簇内的各基本块向量的执行标记数据中,确定第一将同一簇内的各所述第一标记数据对应的路径基本块确定为一个所述阶分别记录首次执行各所述路径分支语句完毕时形成的目标分别将各所述目标符号化路径约束表达式,确定为所述测3按照各所述阶段子程序在所述待测试程序中的位置顺序,依次将相应所述第二确定单元,被配置为执行:在将所述种子文件输入所述待至少一个阶段子程序,所述目标子程序由所述待测试程序在所述种子路径上的基本块构所述第一记录单元,被配置为执行:记录所述测试用例在至少一个所述所述第三确定单元,被配置为执行:在将所述种子文件输入所述待所述第四确定单元,被配置为执行:将确定的各所述基本块向量确定为所述时间所述第二记录单元,被配置为执行:在将所述种子文件输入所述待所述处理单元,被配置为执行:分别对各所述时段内的所述执行标所述第五确定单元,被配置为执行:分别将各所述时段的所述归一化处理4所述第七确定单元,被配置为执行:将同一簇内的各所述第一标记数据5述目标子程序由所述待测试程序在所述种子路径上的基本包括各路径基本块在相应时段内的执行标记数据,以及在相应时段结束时的代码覆盖率,6[0019]分别将各所述时段的所述归一化处理后数据和相应的代码覆盖率确定为一个基[0023]将同一簇内的各所述第一标记数据对应的路径基本块确定为一个所述阶段子程[0026]分别记录首次执行各所述路径分支语句完毕时形成的目标符号化路径约束表达标记数据用于标记所述路径基本块在相应时段内是7定为所述测试用例在相应的所述阶段子程序中的位置顺序,依次将相应的所述种子状态值输入至所述待测试程序中开展符号执行测程序在种子路径上的基本块构成,记录测试用例在至少一个阶段子程序中的种子状态值,针对相应的阶段子程序开展符号执行测试时,可以使得符号执行无需进行复杂的路径探索,即可以在短时间内到达至种子状态值在某个阶段子程序中对应的输入相关的语句处,8[0056]上述说明仅是本发明技术方案的概述,为了能够更清楚[0061]图4示出了本发明实施例提出的一种目标子程序中各路径基本块的执行流程示意[0064]图7示出了本发明实施例提出的一种各竖向长条所对应基本块向量的获得示意例对待测试程序进行混合符号执行的过程中,可以使用具体值对待测试程序进行具体执9[0083]其中,时间序列数据可以由按发生时间的先后顺序所排每个元素数据均可以包括有混合符号执行在时长为预设定值的相应时段内的基本块执行句、各路径基本块有无递归语句以及相应时段结束时的代码覆盖率等信息中的至少一种。于标记各路径基本块在相应时段内执行情况的执行标记数据(如标记路径基本块被执行或以为更好的对基本块执行信息的组成信息及排列进行说明,本发明提出并结合例1对其进而基本块执行信息包括各路径基本块的执行标记数据和代码覆盖率时,第一元素数据(即第一时段内的基本块执行信息)可以包括:{第一路径基本块在第一时段内的执行标记数标子程序由待测试程序在种子路径上的基本块进行聚类,来将处于连续时段且基本块执行信息为相同或相似的元素数据划分为同一簇,即将连续时段内所表现的整体执行行为为相同或相似的元素数据划分[0103]具体的,本发明可以在使用测试用例对目标子程序进行记录测试用例在经过输入相关的语句时形成的符号试程序中开展符号执行测试,可以使得符号执行在短时间内到达相应的输入相关的语句[0116]其中,符号执行策略可以包括针对不同阶段子程序开展符号执行测试的执行顺输入至待测试程序中开展符号执行测试(即将各阶段子程序对应的种子状态值依次作为测对应的种子状态值输入至待测试程序中开展符一时段内的各路径基本块的执行标记数据和代码覆盖率确定为第一时段对应的基本块向信息相同或者相似的基本块向量划分为同一簇,提高对目标子程序进行阶段划分的准确可以将该时段内的归一化处理后数据中的各数据和相应的代码覆盖率均确定为一个基本[0156]为了更好的介绍基本块向量的获得过程,本发明提出并结合下述举例2来说明基个竖向长条中,路径基本块1、路径基本块2和路径基本块3对应的位置处均标记有小长方此时当执行标记数据为1或者0(0可以标识路径基本块未被执行,1可以标识路径基本块被的代码覆盖率,根据相应时段的归一化处理后数据和代码覆盖率确定相应的基本块向量。第六个时段对应的归一化处理后数据和相应时段的代码覆盖率确定第六个时段对应的基中获得的各基本块向量进行说明。具体的,本发明可以对图7所示的各基本块向量进行聚以理解的是,混合符号执行可以在第一个时段内执行阶段子程序A上的代码,可以在第二例对待测试程序进行混合符号执行的过程中,可以使用具体值对待测试程序进行具体执的计算机程序可以由完整结构的计算机程序中的部分[0183]其中,时间序列数据可以由按发生时间的先后顺序所排每个元素数据均可以包括有混合符号执行在时长为预设定值的相应时段内的基本块执行进行聚类,来将处于连续时段且基本块执行信息为相同或相似的元素数据划分为同一簇,即将连续时段内所表现的整体执行行为为相同或相似的元素数据划分[0200]具体的,本发明可以在使用测试用例对目标子程序进行记录测试用例在经过输入相关的语句时形成的符号[0211]其中,符号执行策略可以包括针对不同阶段子程序开展符号执行测试的执行顺径的其它分支路径进行更长时间的探索,执行其它分支路径在待测试程序中对应的代码,信息相同或者相似的基本块向量划分为同一簇,提高对目标子程序进行阶段划分的准确可以将该时段内的归一化处理后数据中的各数据和相应的代码覆盖率均确定为一个基本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论