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

基于API分析的Java第三方库版本统一推荐方法技术

技术编号:24251189 阅读:141 留言:0更新日期:2020-05-22 23:23
本发明专利技术属于软件工程技术领域,具体为基于API分析的Java第三方库版本统一推荐方法。本发明专利技术方法包括,分析Java软件项目各个模块的第三方库依赖继承关系,获得软件项目各个模块所依赖的Java第三方库版本;检测软件项目中的Java第三方库版本不一致问题,识别同一个Java第三方库的不同版本在软件项目不同模块中被使用的问题;通过基于API调用图差异分析的Java第三方库版本统一代价分析,推荐Java第三方库的统一版本并量化统一到该Java第三方库版本的维护代价。本发明专利技术方法可以帮助开发人员及时统一第三方库版本,减少开发人员的第三方库版本统一工作量和软件项目中第三方库的长期维护代价。

Unified recommendation method of Java third party library version based on API analysis

【技术实现步骤摘要】
基于API分析的Java第三方库版本统一推荐方法
本专利技术属于软件工程
,具体涉及一种基于API分析的Java第三方库版本统一推荐方法。
技术介绍
随着软件项目多样性和复杂性的不断增长,模块化软件开发已经成为了一种鼓励复用、提高可维护性、以及支持高效协作开发的常用实践。因此,Java自动化构建工具(例如Maven)提供了许多机制来支持Java多模块软件项目的开发和构建管理。其中一种机制就是允许Java软件项目的各个模块单独声明第三方库依赖。在便于多模块软件开发的同时,这种机制给软件开发过程中的第三方库依赖管理带来了极大的挑战。其中一个问题是,Java软件项目的不同模块声明了对同一个第三方库的依赖,但是使用了该第三方库的不同版本。一方面,这种第三方库版本不一致问题极大地增加了开发人员维护第三方库的代价,甚至会引起第三方库冲突并导致运行时错误。另一方面,Java自动化构建工具提供了灵活的机制来声明第三方库依赖,例如允许一个模块声明自己的第三方库依赖、允许一个模块继承另一个模块的第三方库依赖、允许通过硬编码来声明第三方库版本号、允许通本文档来自技高网...

【技术保护点】
1.基于API分析的Java第三方库版本统一推荐方法,其特征在于,具体步骤如下:/n(1)第三方库依赖继承分析/nJava软件项目的各个模块通过自动化构建工具中的依赖配置文件声明第三方库依赖,而一个模块的依赖配置文件可以继承另一个模块的依赖配置文件;通过分析Java软件项目各个模块的依赖配置文件的依赖继承关系,确定软件项目各个模块所依赖的Java第三方库版本;/n(2)第三方库版本不一致检测/n软件项目的不同模块可能使用同一第三方库的不同版本;通过分析各个模块的第三方库版本检测软件项目中的第三方库版本不一致问题,即遍历所有模块所依赖的第三方库版本,识别依赖同一第三方库的所有模块以及它们所依赖的...

【技术特征摘要】
1.基于API分析的Java第三方库版本统一推荐方法,其特征在于,具体步骤如下:
(1)第三方库依赖继承分析
Java软件项目的各个模块通过自动化构建工具中的依赖配置文件声明第三方库依赖,而一个模块的依赖配置文件可以继承另一个模块的依赖配置文件;通过分析Java软件项目各个模块的依赖配置文件的依赖继承关系,确定软件项目各个模块所依赖的Java第三方库版本;
(2)第三方库版本不一致检测
软件项目的不同模块可能使用同一第三方库的不同版本;通过分析各个模块的第三方库版本检测软件项目中的第三方库版本不一致问题,即遍历所有模块所依赖的第三方库版本,识别依赖同一第三方库的所有模块以及它们所依赖的第三方库版本,并分析这些第三方库版本是否是同一个版本,如果不是,那么检测到了一个第三方库版本不一致问题以及所影响的模块;
(3)第三方库版本统一代价分析
第三方库不同版本之间往往包含不兼容的第三方库API,影响到第三方库的统一代价;通过API调用图的差异分析推荐第三方库的统一版本并量化统一到该第三方库版本的维护代价。


2.根据权利要求1所述的基于API分析的Java第三方库版本统一推荐方法,其特征在于,步骤(1)中所述的第三方库依赖继承分析,具体包括以下子步骤:
1)递归遍历软件项目的代码库目录,获得软件项目各个模块的依赖配置文件;
2)解析每一个依赖配置文件的...

【专利技术属性】
技术研发人员:陈碧欢彭鑫赵文耘
申请(专利权)人:复旦大学
类型:发明
国别省市:上海;31

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

1