The invention provides a method and system for software asset recommendation based on GitHub. This method includes: presenting the current situation of developers and software code development according to GitHub platform's developer data and software asset data, which is helpful for the comprehensive statistics and analysis of developers and software assets; establishing developer information model A and software asset information model B; collecting behavior information of developers for software and code development, and establishing developer's behavior. Matrix Model C; Using collaborative filtering recommendation technology based on developer similarity measurement and behavior prediction to recommend Top_n software assets that most meet the needs of target developers, namely Top_n recommendation module; thus solving the problem that developers waste a lot of time to find the most suitable software assets, and according to the software asset recommendation system, also for software developers. It provides effective development resources and direction, and promotes the rapid development of software asset market.
【技术实现步骤摘要】
一种基于GitHub的软件资产推荐的方法及系统
本专利技术涉及一种软件资产推荐的方法及系统。
技术介绍
GitHub拥有海量开源代码库以及版本,GitHub已经成为了管理软件开发以及发现已有代码的首选方法,是代码玩家的必备工具。虽然传统的软件资产管理技术能够掌握软件开发和代码使用情况,但是无法及时根据软件和代码的开发情况推荐出最符合开发人员需求的软件和代码,因此软件开发人员在庞大的软件和代码仓库里需要花费多余的时间去寻找自己的需求目标,从而增加了开发人员的负担和时间精力成本,从而不利于加快软件资产市场的发展。
技术实现思路
本专利技术的目的在于,在合理、科学的前提下,有效地推荐出最符合开发者需求的软件资产,为开发者提供高效的选择路径,节约时间和人力成本,促进软件开发市场的发展。为了达到上述目的,本专利技术提供一种基于GitHub的软件资产推荐的方法及系统,本专利技术的步骤包含:步骤1、获取GitHub平台的软件资产信息;步骤2、建立开发者信息模型A,以记录不同开发者对软件资产的行为信息;所述行为信息包括:查找、浏览、下载、编辑、提交;步骤3、建立软件资产信息模型B,以记录开发者对软件资产的不同行为的总次数;步骤4、GitHub中收集开发者对软件资产的行为信息,建立开发者-行为矩阵模型C,以用来根据行为相似性分析最相似开发者,并提供最符合要求的软件资产;步骤5、对每一个开发者对软件资产的行为信息加入不同的权值k;步骤6、利用基于代码开发人员相似性度量技术和开发者行为预测技术的协同过滤推荐技术,为开发者推荐出符合需求的前Top-n个软件资产。优选地,在步骤1所述的 ...
【技术保护点】
1.一种基于GitHub的软件资产推荐的方法,其特征在于,步骤包含:步骤1、获取GitHub平台的软件资产信息;步骤2、建立开发者信息模型A,以记录不同开发者对软件资产的行为信息;所述行为信息包括:查找、浏览、下载、编辑、提交;步骤3、建立软件资产信息模型B,以记录开发者对软件资产的不同行为的总次数;步骤4、GitHub中收集开发者对软件资产的行为信息,建立开发者‑行为矩阵模型C,用来根据行为相似性分析最相似开发者,并提供最符合要求的软件资产;步骤5、对每一个开发者对软件资产的行为信息加入不同的权值k;步骤6、利用基于代码开发人员相似性度量技术和开发者行为预测技术的协同过滤推荐技术,为开发者推荐出符合需求的前Top‑n个软件资产。
【技术特征摘要】
1.一种基于GitHub的软件资产推荐的方法,其特征在于,步骤包含:步骤1、获取GitHub平台的软件资产信息;步骤2、建立开发者信息模型A,以记录不同开发者对软件资产的行为信息;所述行为信息包括:查找、浏览、下载、编辑、提交;步骤3、建立软件资产信息模型B,以记录开发者对软件资产的不同行为的总次数;步骤4、GitHub中收集开发者对软件资产的行为信息,建立开发者-行为矩阵模型C,用来根据行为相似性分析最相似开发者,并提供最符合要求的软件资产;步骤5、对每一个开发者对软件资产的行为信息加入不同的权值k;步骤6、利用基于代码开发人员相似性度量技术和开发者行为预测技术的协同过滤推荐技术,为开发者推荐出符合需求的前Top-n个软件资产。2.根据权利要求1所述的方法,其特征在于,在步骤1所述的软件资产信息包括:软件发现信息,软件许可信息,软件使用信息,软件版本信息,软件补丁信息,软件开发信息,代码开发信息。3.根据权利1所述的方法,其特征在于,所述步骤2中,根据开发者信息模型A来构建开发者查找模块、浏览模块、下载模块、编辑模块、提交模块,通过各模块来记录开发者所行为过的软件资产列表。4.根据权利1所述的方法,其特征在于,所述步骤5中把查找、浏览、下载、编辑、提交的k值依次分别设置为1、2、3、4、5。5.根据权利4所述的方法,其特征在于,在步骤6中,基于开发者相似性度量技术,根据相似度计算方法来计算目标开发者i和其他开发者j之间的相似度sim(i,j);其中,H为开发者i、j共同行为过的软件资产集合;Ki,h、Kj,h分别表示开发者i、j对共同行为过的软件资产h的实际行为值;分别表示开发者i、j行为过的软件资产权值均值。6.根据权利5所述的方法,其特征在于,开发者行为预测技术将sim(i,j)值按照降序排列,取前n个相似度值最高的邻近开发者集N,再根据邻近开发者集N中的每个邻近开发者u分别对目标开发者i的目标项目s计算行为预测值vi,s;其中,邻近开发者u对目标项目s的行为权值为Ku,s;表示邻近开发者u对所有行为过的软件资产的行为平均值。7.根据权利6所述方法,其特征在于,为开发者推荐出符合需求的前Top-n个软件资产的方法步骤包含:步骤6.1、为先设定一个阀值a;步骤6.2、当vi,s>a时放入Top-n集合中,并降序排列;步骤6.3、最后根据开发者行为的相似度和行为预测值来推荐出最符合开发者需求的前n个软件资产。8.一种基于GitHub的软件资产推荐系统,其特征在于,包括以下模块:开发者信息获取模块(203)、软件资产信息获取模块(202)、软件资产信息构建模块(210)、开发者行为信息构建模块(209)、目标开发者行为信息获取模块(211)、目标开发者软件资产信息获取模块(212)、相似开发者行为信息获取模块(214)、相似开发者的软件资产信息获取模块(213)、Top-n推荐软件资产显示模块(215);开发者信息获取模块(203)、软件资产信息获取模块(202)各与GitHub平台中的数据仓库(201)连接,以获取软件资产信息和开发者信息;所述开发者信息包含:开发者账户ID信息和不同开发者对软件资产的...
【专利技术属性】
技术研发人员:熊倩华,任洪敏,熊志翔,
申请(专利权)人:上海海事大学,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。