代码流程追踪方法和系统与流程

文档序号:30963277发布日期:2022-07-30 15:03阅读:149来源:国知局
代码流程追踪方法和系统与流程

1.本发明涉及代码数据管理的技术领域,特别涉及代码流程追踪方法和系统。


背景技术:

2.计算机程序通常由大量函数代码组合形成,每个函数代码单独作为一个函数单元,对其输入的信息进行计算处理,并输出相应的计算结果。在计算机程序中,不同函数代码之间可能存在调用与被调用的逻辑关系。当计算机程序完成编辑设计和测试后,会被封装并直接交予用户使用。用户在使用计算机程序过程中,无法对计算机程序内部不同函数代码的实时运行情况进行可视化的了解。当计算机程序在运行过程中发生意外故障时,用户无法准确地确定发生意外故障的函数代码对应的环节,以及无法对计算机程序的运行情况进行实时追踪,从而降低计算机程序运行监控的可视化程度和计算机程序的运行安全稳定性。


技术实现要素:

3.针对现有技术存在的缺陷,本发明提供代码流程追踪方法和系统,其对程序进行分析,得到其包含的所有函数代码,并对每组函数代码的源头代码部分和触发代码部分进行识别,得到代码触发关系信息集合;再根据程序在测试运行过程中所有函数代码的运行状态信息,确定不同函数代码之间的调用逻辑关系信息集合,以此构建关于所有函数代码的调用关系结构模型;最后根据代码触发关系信息集合,对调用关系结构模型进行二次扩展,以及对扩展后的调用关系结构模型以可视化追踪流程图的方式进行显示,其从函数代码内部不同代码部分之间的触发关系以及不同组函数代码之间的调用关系两个方面对程序的函数代码进行多层次的追踪分析,并且还动态化同步显示相应的可视化追踪流程图,从而对程序运行情况进行实时追踪,提高程序运行的可控性与安全性。
4.本发明提供代码流程追踪方法,其包括如下步骤:
5.步骤s1,对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合;
6.步骤s2,采集程序在测试运行过程中所有函数代码各自的运行状态信息,根据所述运行状态信息,确定程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;根据所述识别标记和所述调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型;
7.步骤s3,根据所述代码触发关系信息集合,对所述调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型;将所述扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示。
8.进一步,在所述步骤s1中,对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分
和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合具体包括:
9.步骤s101,利用程序静态分析软件对程序进行逐行代码的扫描分析,识别得到程序包含每一函数代码行;再对两两相邻的函数代码行进行分析,判断相邻的两个函数代码行之间是否具有同一函数关联性;若具有同一函数关联性,则将具有同一函数关联系的所有函数代码行,识别标记为同一组函数代码;
10.步骤s102,对同一组函数代码进行检测,确定同一组函数代码是否存在代码编辑漏洞;若存在代码编辑漏洞,则对同一组函数代码内部的所有代码进行检查修复;
11.步骤s103,从每组函数代码中提取得到运行相应函数的源头代码部分和触发代码部分;构建关于所述源头代码部分和所述触发代码部分的代码匹配组,所述代码匹配组包括所述源头代码部分与所述触发代码部分之间的触发关联信息;再将所有代码匹配组共同组成每组函数代码自身内部的代码触发关系信息集合。
12.进一步,在所述步骤s2中,采集程序在测试运行过程中所有函数代码各自的运行状态信息,根据所述运行状态信息,确定程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;根据所述识别标记和所述调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型具体包括:
13.步骤s201,采集程序在测试运行过程中所有函数代码各自的函数输入信息和函数输出信息,以此作为所述运行状态信息;
14.步骤s202,判断其中一个函数代码的函数输出信息是否属于另一个函数代码的函数输入信息,若属于,则确定上述两个函数代码之间存在调用逻辑关系,从而得到程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;
15.步骤s203,根据所述识别标记和所述调用逻辑关系信息集合,构建关于不同组函数代码相互之间的调用关系结构模型。
16.进一步,在所述步骤s3中,根据所述代码触发关系信息集合,对所述调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型;将所述扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示具体包括:
17.步骤s301,根据所述代码触发关系信息集合,对所述调用关系结构模型包含的每一组函数代码中源头代码部分和触发代码部分之间的代码触发关系进行扩展标引,从而得到扩展化的调用关系结构模型;
18.步骤s302,将所述扩展化的调用关系模型转换为可视化追踪流程图,并将所述可视化追踪流程图同步上传至运行程度的终端机;
19.步骤s303,当终端机运行程序时,根据终端机运行程序的实际进度,指示所述可视化追踪流程图进行动态化的同步显示。
20.本发明还提供代码流程追踪系统,其包括函数代码分析与处理模块、函数代码调用关系确定模块、调用关系结构模型扩展模块和调用关系模型可视化处理模块;其中,
21.所述函数代码分析与处理模块用于对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合;
22.所述函数代码调用关系确定模块用于采集程序在测试运行过程中所有函数代码各自的运行状态信息,根据所述运行状态信息,确定程序在运行过程中所有函数代码相互
之间的调用逻辑关系信息集合;根据所述识别标记和所述调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型;
23.所述调用关系结构模型扩展模块用于根据所述代码触发关系信息集合,对所述调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型;
24.所述调用关系模型可视化处理模块用于将所述扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示。
25.进一步,所述函数代码分析与处理模块用于对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合具体包括:
26.利用程序静态分析软件对程序进行逐行代码的扫描分析,识别得到程序包含每一函数代码行;再对两两相邻的函数代码行进行分析,判断相邻的两个函数代码行之间是否具有同一函数关联性;若具有同一函数关联性,则将具有同一函数关联系的所有函数代码行,识别标记为同一组函数代码;
27.对同一组函数代码进行检测,确定同一组函数代码是否存在代码编辑漏洞;若存在代码编辑漏洞,则对同一组函数代码内部的所有代码进行检查修复;
28.从每组函数代码中提取得到运行相应函数的源头代码部分和触发代码部分;构建关于所述源头代码部分和所述触发代码部分的代码匹配组,所述代码匹配组包括所述源头代码部分与所述触发代码部分之间的触发关联信息;再将所有代码匹配组共同组成每组函数代码自身内部的代码触发关系信息集合。
29.进一步,所述函数代码调用关系确定模块用于采集程序在测试运行过程中所有函数代码各自的运行状态信息,根据所述运行状态信息,确定程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;根据所述识别标记和所述调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型具体包括:
30.采集程序在测试运行过程中所有函数代码各自的函数输入信息和函数输出信息,以此作为所述运行状态信息;
31.判断其中一个函数代码的函数输出信息是否属于另一个函数代码的函数输入信息,若属于,则确定上述两个函数代码之间存在调用逻辑关系,从而得到程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;
32.根据所述识别标记和所述调用逻辑关系信息集合,构建关于不同组函数代码相互之间的调用关系结构模型。
33.进一步,所述调用关系结构模型扩展模块用于根据所述代码触发关系信息集合,对所述调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型具体包括:
34.根据所述代码触发关系信息集合,对所述调用关系结构模型包含的每一组函数代码中源头代码部分和触发代码部分之间的代码触发关系进行扩展标引,从而得到扩展化的调用关系结构模型;
35.以及,
36.所述调用关系模型可视化处理模块用于将所述扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示具体包括:
37.将所述扩展化的调用关系模型转换为可视化追踪流程图,并将所述可视化追踪流程图同步上传至运行程度的终端机;
38.当终端机运行程序时,根据终端机运行程序的实际进度,指示所述可视化追踪流程图进行动态化的同步显示。
39.相比于现有技术,该代码流程追踪方法和系统对程序进行分析,得到其包含的所有函数代码,并对每组函数代码的源头代码部分和触发代码部分进行识别,得到代码触发关系信息集合;再根据程序在测试运行过程中所有函数代码的运行状态信息,确定不同函数代码之间的调用逻辑关系信息集合,以此构建关于所有函数代码的调用关系结构模型;最后根据代码触发关系信息集合,对调用关系结构模型进行二次扩展,以及对扩展后的调用关系结构模型以可视化追踪流程图的方式进行显示,其从函数代码内部不同代码部分之间的触发关系以及不同组函数代码之间的调用关系两个方面对程序的函数代码进行多层次的追踪分析,并且还动态化同步显示相应的可视化追踪流程图,从而对程序运行情况进行实时追踪,提高程序运行的可控性与安全性。
40.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
41.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明提供的代码流程追踪方法的流程示意图。
44.图2为本发明提供的代码流程追踪系统的结构示意图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.参阅图1,为本发明实施例提供的代码流程追踪方法的流程示意图。该代码流程追踪方法包括如下步骤:
47.步骤s1,对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合;
48.步骤s2,采集程序在测试运行过程中所有函数代码各自的运行状态信息,根据该
运行状态信息,确定程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;根据该识别标记和该调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型;
49.步骤s3,根据该代码触发关系信息集合,对该调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型;将该扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示。
50.上述技术方案的有益效果为:该代码流程追踪方法对程序进行分析,得到其包含的所有函数代码,并对每组函数代码的源头代码部分和触发代码部分进行识别,得到代码触发关系信息集合;再根据程序在测试运行过程中所有函数代码的运行状态信息,确定不同函数代码之间的调用逻辑关系信息集合,以此构建关于所有函数代码的调用关系结构模型;最后根据代码触发关系信息集合,对调用关系结构模型进行二次扩展,以及对扩展后的调用关系结构模型以可视化追踪流程图的方式进行显示,其从函数代码内部不同代码部分之间的触发关系以及不同组函数代码之间的调用关系两个方面对程序的函数代码进行多层次的追踪分析,并且还动态化同步显示相应的可视化追踪流程图,从而对程序运行情况进行实时追踪,提高程序运行的可控性与安全性。
51.优选地,在该步骤s1中,对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合具体包括:
52.步骤s101,利用程序静态分析软件对程序进行逐行代码的扫描分析,识别得到程序包含每一函数代码行;再对两两相邻的函数代码行进行分析,判断相邻的两个函数代码行之间是否具有同一函数关联性;若具有同一函数关联性,则将具有同一函数关联系的所有函数代码行,识别标记为同一组函数代码;
53.步骤s102,对同一组函数代码进行检测,确定同一组函数代码是否存在代码编辑漏洞;若存在代码编辑漏洞,则对同一组函数代码内部的所有代码进行检查修复;
54.步骤s103,从每组函数代码中提取得到运行相应函数的源头代码部分和触发代码部分;构建关于该源头代码部分和该触发代码部分的代码匹配组,该代码匹配组包括该源头代码部分与该触发代码部分之间的触发关联信息;再将所有代码匹配组共同组成每组函数代码自身内部的代码触发关系信息集合。
55.上述技术方案的有益效果为:计算机程序通常包括大量的函数代码,每组函数代码作为一个独立的函数运算单元,能够对相应的输入量进行计算而得到相应的输出量。其中,每个函数代码有多个函数代码行组成,利用程序静态分析软件对计算机程序整体进行逐行代码的扫描分析,可快速精确地识别计算机程序整体包括的所有函数代码行。接着,对每个函数代码行进行语义分析识别,以确定相邻两个函数代码行之间是否存在函数语义关联性,即是否具有同一函数关联性,并将属于同一函数代码的所有函数代码行识别标记为同一组函数代码。接着,对同一组函数代码进行代码编辑漏洞的检测和检查修复。最后,从每组行数代码中提起函数在运行过程中的源头代码部分和触发代码部分,这样能够对每组函数代码内部的代码触发关系进行确定,以便于形成关于每组函数代码在代码触发层面上的关联性。
56.优选地,在该步骤s2中,采集程序在测试运行过程中所有函数代码各自的运行状
态信息,根据该运行状态信息,确定程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;根据该识别标记和该调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型具体包括:
57.步骤s201,采集程序在测试运行过程中所有函数代码各自的函数输入信息和函数输出信息,以此作为该运行状态信息;
58.步骤s202,判断其中一个函数代码的函数输出信息是否属于另一个函数代码的函数输入信息,若属于,则确定上述两个函数代码之间存在调用逻辑关系,从而得到程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;
59.步骤s203,根据该识别标记和该调用逻辑关系信息集合,构建关于不同组函数代码相互之间的调用关系结构模型。
60.上述技术方案的有益效果为:在实际应用中,计算机程序的每组函数代码作为一个独立的函数运算单元,能够对相应的输入量进行计算而得到相应的输出量。其中一个函数代码的函数输出信息可能作为另一个函数代码的函数输入信息,上述这种输出-输入关系确定两个函数代码之间存在调用逻辑关系,对计算机程序包含的所有函数代码相互之间的调用关系结构模型,从而在函数代码相互之间的层面上对计算机程序进行追踪。
61.优选地,在该步骤s3中,根据该代码触发关系信息集合,对该调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型;将该扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示具体包括:
62.步骤s301,根据该代码触发关系信息集合,对该调用关系结构模型包含的每一组函数代码中源头代码部分和触发代码部分之间的代码触发关系进行扩展标引,从而得到扩展化的调用关系结构模型;
63.步骤s302,将该扩展化的调用关系模型转换为可视化追踪流程图,并将该可视化追踪流程图同步上传至运行程度的终端机;
64.步骤s303,当终端机运行程序时,根据终端机运行程序的实际进度,指示该可视化追踪流程图进行动态化的同步显示。
65.上述技术方案的有益效果为:根据该代码触发关系信息集合,对该调用关系结构模型包含的每一组函数代码中源头代码部分和触发代码部分之间的代码触发关系进行扩展标引,这样能够在同组函数代码的不同函数代码行之间的触发关系以及不同组函数代码之间的调用关系两个层面上对计算机程序进行扩展标引,从而对计算机程序进行动态化的追踪分析。此外当终端机运行程序时,根据终端机运行程序的实际进度,指示该可视化追踪流程图进行动态化的同步显示,这样能够对程序运行情况进行实时追踪,提高程序运行的可控性与安全性。
66.参阅图2,为本发明实施例提供的代码流程追踪系统的结构示意图。该代码流程追踪系统包括函数代码分析与处理模块、函数代码调用关系确定模块、调用关系结构模型扩展模块和调用关系模型可视化处理模块;其中,
67.该函数代码分析与处理模块用于对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合;
68.该函数代码调用关系确定模块用于采集程序在测试运行过程中所有函数代码各
自的运行状态信息,根据该运行状态信息,确定程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;根据该识别标记和该调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型;
69.该调用关系结构模型扩展模块用于根据该代码触发关系信息集合,对该调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型;
70.该调用关系模型可视化处理模块用于将该扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示。
71.上述技术方案的有益效果为:该代码流程追踪系统对程序进行分析,得到其包含的所有函数代码,并对每组函数代码的源头代码部分和触发代码部分进行识别,得到代码触发关系信息集合;再根据程序在测试运行过程中所有函数代码的运行状态信息,确定不同函数代码之间的调用逻辑关系信息集合,以此构建关于所有函数代码的调用关系结构模型;最后根据代码触发关系信息集合,对调用关系结构模型进行二次扩展,以及对扩展后的调用关系结构模型以可视化追踪流程图的方式进行显示,其从函数代码内部不同代码部分之间的触发关系以及不同组函数代码之间的调用关系两个方面对程序的函数代码进行多层次的追踪分析,并且还动态化同步显示相应的可视化追踪流程图,从而对程序运行情况进行实时追踪,提高程序运行的可控性与安全性。
72.优选地,该函数代码分析与处理模块用于对程序进行扫描分析,识别程序包含的所有函数代码,并对每组函数代码分配相应的识别标记;从每组函数代码中提取得到相应的源头代码部分和触发代码部分,以此形成每组函数代码自身内部的代码触发关系信息集合具体包括:
73.利用程序静态分析软件对程序进行逐行代码的扫描分析,识别得到程序包含每一函数代码行;再对两两相邻的函数代码行进行分析,判断相邻的两个函数代码行之间是否具有同一函数关联性;若具有同一函数关联性,则将具有同一函数关联系的所有函数代码行,识别标记为同一组函数代码;
74.对同一组函数代码进行检测,确定同一组函数代码是否存在代码编辑漏洞;若存在代码编辑漏洞,则对同一组函数代码内部的所有代码进行检查修复;
75.从每组函数代码中提取得到运行相应函数的源头代码部分和触发代码部分;构建关于该源头代码部分和该触发代码部分的代码匹配组,该代码匹配组包括该源头代码部分与该触发代码部分之间的触发关联信息;再将所有代码匹配组共同组成每组函数代码自身内部的代码触发关系信息集合。
76.上述技术方案的有益效果为:计算机程序通常包括大量的函数代码,每组函数代码作为一个独立的函数运算单元,能够对相应的输入量进行计算而得到相应的输出量。其中,每个函数代码有多个函数代码行组成,利用程序静态分析软件对计算机程序整体进行逐行代码的扫描分析,可快速精确地识别计算机程序整体包括的所有函数代码行。接着,对每个函数代码行进行语义分析识别,以确定相邻两个函数代码行之间是否存在函数语义关联性,即是否具有同一函数关联性,并将属于同一函数代码的所有函数代码行识别标记为同一组函数代码。接着,对同一组函数代码进行代码编辑漏洞的检测和检查修复。最后,从每组行数代码中提起函数在运行过程中的源头代码部分和触发代码部分,这样能够对每组函数代码内部的代码触发关系进行确定,以便于形成关于每组函数代码在代码触发层面上
的关联性。
77.优选地,该函数代码调用关系确定模块用于采集程序在测试运行过程中所有函数代码各自的运行状态信息,根据该运行状态信息,确定程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;根据该识别标记和该调用逻辑关系信息集合,构建关于所有函数代码的调用关系结构模型具体包括:
78.采集程序在测试运行过程中所有函数代码各自的函数输入信息和函数输出信息,以此作为该运行状态信息;
79.判断其中一个函数代码的函数输出信息是否属于另一个函数代码的函数输入信息,若属于,则确定上述两个函数代码之间存在调用逻辑关系,从而得到程序在运行过程中所有函数代码相互之间的调用逻辑关系信息集合;
80.根据该识别标记和该调用逻辑关系信息集合,构建关于不同组函数代码相互之间的调用关系结构模型。
81.上述技术方案的有益效果为:在实际应用中,计算机程序的每组函数代码作为一个独立的函数运算单元,能够对相应的输入量进行计算而得到相应的输出量。其中一个函数代码的函数输出信息可能作为另一个函数代码的函数输入信息,上述这种输出-输入关系确定两个函数代码之间存在调用逻辑关系,对计算机程序包含的所有函数代码相互之间的调用关系结构模型,从而在函数代码相互之间的层面上对计算机程序进行追踪。
82.优选地,该调用关系结构模型扩展模块用于根据该代码触发关系信息集合,对该调用关系结构模型内部每组函数代码的触发关系进行扩展,从而得到扩展化的调用关系结构模型具体包括:
83.根据该代码触发关系信息集合,对该调用关系结构模型包含的每一组函数代码中源头代码部分和触发代码部分之间的代码触发关系进行扩展标引,从而得到扩展化的调用关系结构模型;
84.以及,
85.该调用关系模型可视化处理模块用于将该扩展化的调用关系结构模型以可视化追踪流程图的方式进行显示具体包括:
86.将该扩展化的调用关系模型转换为可视化追踪流程图,并将该可视化追踪流程图同步上传至运行程度的终端机;
87.当终端机运行程序时,根据终端机运行程序的实际进度,指示该可视化追踪流程图进行动态化的同步显示。
88.上述技术方案的有益效果为:根据该代码触发关系信息集合,对该调用关系结构模型包含的每一组函数代码中源头代码部分和触发代码部分之间的代码触发关系进行扩展标引,这样能够在同组函数代码的不同函数代码行之间的触发关系以及不同组函数代码之间的调用关系两个层面上对计算机程序进行扩展标引,从而对计算机程序进行动态化的追踪分析。此外当终端机运行程序时,根据终端机运行程序的实际进度,指示该可视化追踪流程图进行动态化的同步显示,这样能够对程序运行情况进行实时追踪,提高程序运行的可控性与安全性。
89.从上述实施例的内容可知,该代码流程追踪方法和系统对程序进行分析,得到其包含的所有函数代码,并对每组函数代码的源头代码部分和触发代码部分进行识别,得到
代码触发关系信息集合;再根据程序在测试运行过程中所有函数代码的运行状态信息,确定不同函数代码之间的调用逻辑关系信息集合,以此构建关于所有函数代码的调用关系结构模型;最后根据代码触发关系信息集合,对调用关系结构模型进行二次扩展,以及对扩展后的调用关系结构模型以可视化追踪流程图的方式进行显示,其从函数代码内部不同代码部分之间的触发关系以及不同组函数代码之间的调用关系两个方面对程序的函数代码进行多层次的追踪分析,并且还动态化同步显示相应的可视化追踪流程图,从而对程序运行情况进行实时追踪,提高程序运行的可控性与安全性。
90.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1