当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于依赖链路分析的Go语言依赖问题检测方法、存储介质及设备技术

技术编号:41210835 阅读:34 留言:0更新日期:2024-05-09 23:33
本发明专利技术公开了一种基于依赖链路分析的Go语言依赖问题检测方法、存储介质及设备,包括:根据待分析Go项目的直接依赖,逐层构建待分析Go项目的依赖树,获得以所述待分析Go项目为出发点的依赖链路集合;根据各类型依赖问题的成因,确定不同依赖问题出现的依赖链路模式,定义其为问题链路模式;基于步骤2获得的问题链路模式,收集诊断依赖问题所需的辅助信息,对所述依赖链路集合中的各依赖链路分别进行模式匹配,根据匹配的结果确定所述依赖树中具有问题链路模式的依赖链路,以及该依赖链路的依赖问题。本发明专利技术可以有效帮助Go开发者诊断并修复项目的依赖问题,及时发现社区项目出现的依赖问题并给出合适的修复策略。

【技术实现步骤摘要】

本专利技术涉及软件维护与演化,特别涉及一种基于依赖链路分析的go语言依赖问题检测方法、存储介质及设备。


技术介绍

1、go语言自发布以来,迅速获得了很多开发者的青睐,其开放的第三方库的生态允许开发者自由地从开源社区获取所需的第三方库或者将自己实现的第三方库发布到社区中供其它开发者使用。起初,go项目并没有正式的工具管理项目的第三方依赖,开发者大都使用社区中的第三方工具对第三方依赖进行管理或者干脆不管理,这些方式统称为gopath模式。虽然golang在go1.11版本引入官方的go modules依赖管理模式以期解决原先社区中go项目第三方依赖管理工具混乱的局面,但在整个社区朝着go modules模式迁移的过程中,由于新的依赖管理模式与旧第三方依赖管理工具不兼容以及开发者对于新依赖管理模式存在认知不全面的情况,社区中出现了大量的go语言依赖问题。

2、为了应对上述问题,一些社区中的开发者也设计了一些工具辅助go开发者将项目迁移到go modules模式,例如批量修改go源文件中引用路径的工具,但这些工具只是在开发者完全弄懂自己项目的问题后,帮本文档来自技高网...

【技术保护点】

1.一种基于依赖链路分析的Go语言依赖问题检测方法,其特征在于,具体包括如下步骤:

2.根据权利要求1所述的一种基于依赖链路分析的Go语言依赖问题检测方法,其特征在于:

3.根据权利要求1所述的一种基于依赖链路分析的Go语言依赖问题检测方法,其特征在于,步骤1包括如下子步骤:

4.根据权利要求2所述的一种基于依赖链路分析的Go语言依赖问题检测方法,其特征在于:

5.根据权利要求1所述的一种基于依赖链路分析的Go语言依赖问题检测方法,其特征在于,所述依赖问题的分类包括:

6.根据权利要求1所述的一种基于依赖链路分析的Go语言依赖问...

【技术特征摘要】

1.一种基于依赖链路分析的go语言依赖问题检测方法,其特征在于,具体包括如下步骤:

2.根据权利要求1所述的一种基于依赖链路分析的go语言依赖问题检测方法,其特征在于:

3.根据权利要求1所述的一种基于依赖链路分析的go语言依赖问题检测方法,其特征在于,步骤1包括如下子步骤:

4.根据权利要求2所述的一种基于依赖链路分析的go语言依赖问题检测方法,其特征在于:

5.根据权利要求1所述的一种基于依赖链路分析的go语言依赖问题检测方法,其特征在于,所述依赖问题的分类包括:

6.根据权利要求1所述的一种基于依赖链路分析的go语言依赖问题检测方法,其特征在于,在执行步骤1前,下载golang开源社区中的go项目的完整git历史,针对其所有tag版本和最新commit版本分别生成缓存单元,全量构建go项目既有提交历史的本地缓存系统,然后启动用于go项目增量更新的定时任务,进行本地缓存系统的...

【专利技术属性】
技术研发人员:许畅袁彦
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1