-
公开(公告)号:CN113326047A
公开(公告)日:2021-08-31
申请号:CN202110650142.2
申请日:2021-06-10
Applicant: 南京大学
Abstract: 本发明公开了一种基于静态分析的C语言代码依赖关系提取方法,包括以下步骤:对C语言源代码进行静态分析,获得各条宏指令的信息以及各个变量、函数、类型的信息;对每条宏指令,基于宏指令信息提取该条宏指令产生的依赖关系;对每个变量,基于每条变量信息提取该变量产生的依赖关系;对每个函数,基于每条函数信息提取该函数产生的依赖关系;对每个类型,基于类型信息提取该类型产生的依赖关系;基于符号级的依赖关系提取文件级的依赖关系;持久化提取到的依赖关系;以实现从C语言源码中提取更加全面、更加精确、多层次的依赖关系。
-
公开(公告)号:CN113448553A
公开(公告)日:2021-09-28
申请号:CN202110696402.X
申请日:2021-06-23
Applicant: 南京大学
IPC: G06F8/30 , G06F8/20 , G06F8/41 , G06F16/28 , G06F16/901 , G06F16/903 , G06F16/9038
Abstract: 本发明公开了一种C语言项目依赖信息管理和可视化的方法及系统,包括:提取项目中单个C语言文件的信息;将每个文件提取到的信息合并保存到关系型数据库中;基于关系型数据库,根据用户的查询提供多种依赖关系结果;获取依赖图信息并保存至图数据库;基于图数据库,根据用户的查询提供多种可视化的依赖关系图,本发明提供了一种对C语言项目中的复杂的依赖信息的高效管理,精简存储和便捷访问的方法,同时基于基础信息抽取更丰富的依赖信息,这些数据可以为自动化程序理解技术提供支持;本发明同时提供了多种可视化的依赖关系图的生成方法,使得开发人员可以直观了解大型项目中的依赖关系。
-
公开(公告)号:CN113448553B
公开(公告)日:2023-11-03
申请号:CN202110696402.X
申请日:2021-06-23
Applicant: 南京大学
IPC: G06F8/30 , G06F8/20 , G06F8/41 , G06F16/28 , G06F16/901 , G06F16/903 , G06F16/9038
Abstract: 本发明公开了一种C语言项目依赖信息管理和可视化的方法及系统,包括:提取项目中单个C语言文件的信息;将每个文件提取到的信息合并保存到关系型数据库中;基于关系型数据库,根据用户的查询提供多种依赖关系结果;获取依赖图信息并保存至图数据库;基于图数据库,根据用户的查询提供多种可视化的依赖关系图,本发明提供了一种对C语言项目中的复杂的依赖信息的高效管理,精简存储和便捷访问的方法,同时基于基础信息抽取更丰富的依赖信息,这些数据可以为自动化程序理解技术提供支持;本发明同时提供了多种可视化的依赖关系图的生成方法,使得开发人员可以直观了解大型项目中的依赖关系。
-
公开(公告)号:CN113326047B
公开(公告)日:2023-11-03
申请号:CN202110650142.2
申请日:2021-06-10
Applicant: 南京大学
Abstract: 本发明公开了一种基于静态分析的C语言代码依赖关系提取方法,包括以下步骤:对C语言源代码进行静态分析,获得各条宏指令的信息以及各个变量、函数、类型的信息;对每条宏指令,基于宏指令信息提取该条宏指令产生的依赖关系;对每个变量,基于每条变量信息提取该变量产生的依赖关系;对每个函数,基于每条函数信息提取该函数产生的依赖关系;对每个类型,基于类型信息提取该类型产生的依赖关系;基于符号级的依赖关系提取文件级的依赖关系;持久化提取到的依赖关系;以实现从C语言源码中提取更加全面、更加精确、多层次的依赖关系。
-
-
-