本申请涉及一种代码数据结构可视化分析方法及系统,该方法包括获取源代码路径,对源代码路径进行分析,得到源代码分析结果;获取用户数据结构请求,并在源代码分析结果中对用户数据结构请求循环检索定位,得到数据结构分析结果;将数据结构分析结果发送至图形显示进程,生成数据结构嵌套图
【技术实现步骤摘要】
代码数据结构可视化分析方法及系统
[0001]本公开涉及计算机
,尤其涉及一种代码数据结构可视化分析方法及系统
。
技术介绍
[0002]目前,对于代码量较大的复杂源代码,如开源操作系统的整体代码
(Linux
,
NetBSD
等
)
,通常会定义大量的有嵌套关系的复杂数据结构
。
其中,关于数据结构与数据结构之间的引用关系,以及这些数据在哪些文件中有被使用到,即使在现有最好的
source code editor(
代码编辑器
)
中,也仅能做到对被引用部分的
Peek Definition(
定义跳转
)
,无法做到对复杂数据结构直观的可视化分析,需要作业者手动分析并建立数据结构的嵌套定义图,影响中途接手人员对复杂源代码的理解和分析
。
需要说明的是,手动分析画图作业速度慢
、
效率低,同时依赖于作业者的个人能力可能导致出现一定的疏漏
。
[0003]因此,提供一种针对复杂代码数据结构的可视化分析方法,提高分析效率和准确度,从而为用户提供方便快捷的数据结构分析服务,是目前亟待解决的问题
。
技术实现思路
[0004]有鉴于此,本申请提出一种代码数据结构可视化分析方法及系统,以解决上述问题
。
[0005]本申请提出一种代码数据结构可视化分析方法,包括如下步骤:
[0006]获取源代码路径,对所述源代码路径进行分析,得到源代码分析结果;
[0007]获取用户数据结构请求,并在所述源代码分析结果中对所述用户数据结构请求循环检索定位,得到数据结构分析结果;
[0008]将所述数据结构分析结果发送至图形显示进程,生成数据结构嵌套图
。
[0009]作为本申请的一可选实施方案,可选地,所述获取源代码路径,对所述源代码路径进行分析,得到源代码分析结果,包括:
[0010]获取源代码路径;
[0011]根据所源代码路径导入源代码;
[0012]对所述源代码进行静态扫描,并标注索引,得到源代码分析结果
。
[0013]作为本申请的一可选实施方案,可选地,所述获取用户数据结构请求,并在所述源代码分析结果中对所述用户数据请求循环检索定位,得到数据结构分析结果,包括:
[0014]获取用户数据结构请求;
[0015]根据所述用户数据请求在所述源代码分析结果中循环检索定位;
[0016]在检索定位的数据结构分析结果符合预设循环终止条件时,停止循环,输出所述数据结构分析结果
。
[0017]作为本申请的一可选实施方案,可选地,所述用户数据结构请求,包括:
[0018]数据结构
、
显示程度和
etc。
[0019]作为本申请的一可选实施方案,可选地,所述根据所述用户数据结构请求在所述源代码分析结果中循环检索定位之前,还包括:
[0020]通过用户界面进程启动图形显示进程
。
[0021]作为本申请的一可选实施方案,可选地,所述根据所述用户数据结构请求在所述源代码分析结果中循环检索定位,包括:
[0022]根据所述用户数据结构请求,在所述源代码分析结果中检索定位,得到单个数据结构;
[0023]检索所述单个数据结构中的非标准数据结构,得到下一层级数据结构
。
[0024]作为本申请的一可选实施方案,可选地,所述数据结构嵌套图,包括:
[0025]所述数据结构分析结果和相应的关联关系
。
[0026]本申请还提供一种代码数据结构可视化分析系统,包括:
[0027]源代码分析模块,被配置为获取源代码路径,对所述源代码路径进行分析,得到源代码分析结果;
[0028]数据结构分析模块,被配置为获取用户数据结构请求,并在所述源代码分析结果中对所述用户数据结构请求循环检索定位,得到数据结构分析结果;
[0029]可视图生成模块,被配置为将所述数据结构分析结果发送至图形显示进程,生成数据结构嵌套图
。
[0030]本申请还提供一种电子设备,包括:
[0031]处理器;
[0032]用于存储处理器可执行指令的存储器;
[0033]其中,所述处理器被配置为执行所述可执行指令时实现上述任一项所述的代码数据结构可视化分析方法
。
[0034]本申请还提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述任意一项所述的代码数据结构可视化分析方法
。
[0035]本专利技术的技术效果:
[0036]本申请根据获取得到的源代码路径导入源代码包,在用户指定数据结构时能够自动搜索相关联的所有数据结构,并生成数据结构嵌套图,显示数据结构分析结果以及相应的关联关系,由此实现对于复杂源代码的理解与分析
。
具体的,包括:获取源代码路径,对源代码路径进行分析,得到源代码分析结果;获取用户数据结构请求,并在源代码分析结果中对用户数据结构请求循环检索定位,得到数据结构分析结果;将数据结构分析结果发送至图形显示进程,生成数据结构嵌套图
。
本申请中用户交互
、
代码分析和结果显示分别进行,从而提高数据结构分析效率,相较于作业者人为手动分析画图作业而言,极大程度提高了复杂代码环境下数据结构分析的效率和准确度,从而为用户提供方便快捷的数据结构分析服务
。
[0037]根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚
。
附图说明
[0038]包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例
、
特征和方面,并且用于解释本公开的原理
。
[0039]图1示出为本专利技术的代码数据结构可视化分析方法流程示意图;
[0040]图2示出为本专利技术的代码数据结构可视化分析方法中的用户交互界面进程
、
代码分析服务器进程和图形显示进程的实施流程示意图;
[0041]图3示出为本专利技术的代码数据结构可视化分析方法中的数据结构分析嵌套图
。
具体实施方式
[0042]以下将参考附图详细说明本公开的各种示例性实施例
、
特征和方面
。
附图中相同的附图标记表示功能相同或相似的元件
。
尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图
。
[0043]在这里专用的词“示例性”意为“用作例子
、
实施例或说明性”。
这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例
本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种代码数据结构可视化分析方法,其特征在于,包括如下步骤:获取源代码路径,对所述源代码路径进行分析,得到源代码分析结果;获取用户数据结构请求,并在所述源代码分析结果中对所述用户数据结构请求循环检索定位,得到数据结构分析结果;将所述数据结构分析结果发送至图形显示进程,生成数据结构嵌套图
。2.
根据权利要求1所述的代码数据结构可视化分析方法,其特征在于,所述获取源代码路径,对所述源代码路径进行分析,得到源代码分析结果,包括:获取源代码路径;根据所源代码路径导入源代码;对所述源代码进行静态扫描,并标注索引,得到源代码分析结果
。3.
根据权利要求1所述的代码数据结构可视化分析方法,其特征在于,所述获取用户数据结构请求,并在所述源代码分析结果中对所述用户数据请求循环检索定位,得到数据结构分析结果,包括:获取用户数据结构请求;根据所述用户数据请求在所述源代码分析结果中循环检索定位;在检索定位的数据结构分析结果符合预设循环终止条件时,停止循环,输出所述数据结构分析结果
。4.
根据权利要求3所述的代码数据结构可视化分析方法,其特征在于,所述用户数据结构请求,包括:数据结构
、
显示程度和
etc。5.
根据权利要求3所述的代码数据结构可视化分析方法,其特征在于,所述根据所述用户数据结构请求在所述源代码分析结果中循环检索定位之前,还包括:通过用户界面进程启动...
【专利技术属性】
技术研发人员:李晨,
申请(专利权)人:上海鲲宜软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。