云时代,云API作为服务交付、数据交换和能力复制的最佳载体,已成长为当今面向服务软件开发和企业数字化转型不可或缺的核心要素.然而动态开放网络中持续增长的云API在给开发者提供了更多选择的同时,也将其淹没在海量的云API选择之中,设...云时代,云API作为服务交付、数据交换和能力复制的最佳载体,已成长为当今面向服务软件开发和企业数字化转型不可或缺的核心要素.然而动态开放网络中持续增长的云API在给开发者提供了更多选择的同时,也将其淹没在海量的云API选择之中,设计有效的云API推荐方法就此成为API经济健康发展中迫切要解决的现实问题.但是,现有研究主要利用搜索关键词、服务质量和调用偏好进行建模,生成质量高功能单一的云API推荐列表,没有考虑服务化软件实际开发中开发者对多元化高阶互补云API的客观需要.高阶互补云API推荐旨在为多个查询云API生成多元互补云API列表,要求推荐结果与查询云API均互补,以满足开发者的联合需求.针对此问题,本文提出基于概率逻辑推理的高阶互补云API推荐方法(Probabilistic Logic Reasoning for High-order Complementary Cloud API Recom⁃mendation,PLR4HCCR).首先,通过云API生态真实数据分析论证云API互补推荐需求的必要性和互补关系建模中替补噪声的客观存在,为云API互补推荐问题研究提供动机和数据支持.其次,采用Beta概率嵌入对云API及其之间的关系约束进行编码,以刻画云API间互补关系的不确定性和支持互补逻辑推理.接着,设计由投影、取反和交并三个基本逻辑算子构建的互补关系逻辑推理网络,使查询集中的每个云API获得非对称互补关系感知和替补噪声消解约束下的互补云API表示.然后,引入注意力机制为查询云API的互补云API分配不同权重,增强高阶互补云API基向量的表征能力.在此基础上,采用KL散度度量高阶互补云API基向量与候选云API之间的距离,并根据KL散度排序生成高阶互补性可感知下的云API推荐结果.最后,我们利用两个真实云API数据集在不同阶互补推荐场景下进行实验,实验表明,与传统启发式推荐方法和深度学习推荐方法相比,PLR4HCCR在互补关系感知推理和替补噪声消解方面均具有较大的优势,继而使其在低阶、高阶和混合阶互补云API推荐中均展示出更优的推荐效果和更强的泛化能力.进一步,超参数敏感性实验、实例分析和用户调查验证了方法的有效性、实用性和可行性,这使结合高阶互补关系的云API推荐方法PLR4HCCR不仅更有可能生成开发者满意的结果,而且可有效提升云API服务提供者的收益.展开更多
代码搜索和API推荐算法能够帮助开发者有效实现编程任务。截至目前,研究者们发表了一系列相关文献。尽管一些学者对该研究领域的背景和研究现状进行了阐述,但是研究者对该领域中的一些基本领域知识还缺乏了解,如最高产的作者、机构和国...代码搜索和API推荐算法能够帮助开发者有效实现编程任务。截至目前,研究者们发表了一系列相关文献。尽管一些学者对该研究领域的背景和研究现状进行了阐述,但是研究者对该领域中的一些基本领域知识还缺乏了解,如最高产的作者、机构和国家,影响力较大的作者和文献,以及流行的热点研究等。借助经典的文献分析框架,在构建该研究领域文献数据仓库的基础上,首次对该领域的研究进行了基础文献分析和合作模式探索。一方面,基础文献分析的结果表明,近几年越来越多的研究者开始关注该领域的研究,最高产的作者是Cristina Videira Lopes,University of California at Irvine是发表相关文献最多的机构,大部分文献来自美国,根据领域H因子计算得到的最有影响力的作者是Denys Poshyvanyk。另一方面,合作模式的分析结果显示,Tao Xie,Cristina Videira Lopes和Denys Poshyvany是该领域最活跃的三位作者,推荐算法性能的提升及其在软件工程任务中的应用是目前该领域最流行的研究主题。展开更多
软件开发者在开发过程遇到应用程序编程接口(application programming interface,API)使用问题时,通常希望能够得到有效的API使用模式建议,从而帮助其学习和使用.传统的API推荐方法会挖掘和学习代码库中API的使用知识,然后给开发者推荐...软件开发者在开发过程遇到应用程序编程接口(application programming interface,API)使用问题时,通常希望能够得到有效的API使用模式建议,从而帮助其学习和使用.传统的API推荐方法会挖掘和学习代码库中API的使用知识,然后给开发者推荐与上下文相关的API.然而由于上下文信息表征不够充分,以及推荐列表中冗余项和同质化内容的出现影响了推荐性能.针对这一问题,构建项目和方法与API的API层次调用图(API hierarchy call graph,AHCG)模型以更好地表达API上下文关系,充分利用API结构信息和语义信息来减少冗余项和降低同质化内容被推荐的可能性,进而提出基于上下文感知并面向多样性的API推荐(context-aware based API recommendation with diversity,CAPIRD)方法.该方法中引入相关性度量和关联性度量,最大限度地保留相关结果,同时平衡已选API与候选API的关联性,以尽可能挖掘到合理的初选API列表.最后结合最大边缘相关算法,在标准模式数据集上学习相关性和关联性的最佳权重组合,并进行多样性重排推荐.在2210个项目构成的3类数据集上进行实验并验证推荐性能,实验结果表明,CAPIRD在基于上下文的API推荐场景下能够有效提高推荐性能.在所有数据集的API推荐中,平均精度(mean average precision,MAP)指标平均提升值约9%,在Top-1的推荐中,成功率(success rate)指标平均提升约13%.展开更多
提出用 API RP 11L推荐作法设计钢丝绳连续抽油杆采油系统中的抽油钢丝绳绳杆柱 ,推导了与钢抽油杆柱类似的振动系统模型和边界条件 ,给出了用 API设计方法设计钢丝绳采油系统绳杆柱的设计步骤 ,特别给出了设计参数 :绳杆柱的等效弹性...提出用 API RP 11L推荐作法设计钢丝绳连续抽油杆采油系统中的抽油钢丝绳绳杆柱 ,推导了与钢抽油杆柱类似的振动系统模型和边界条件 ,给出了用 API设计方法设计钢丝绳采油系统绳杆柱的设计步骤 ,特别给出了设计参数 :绳杆柱的等效弹性模量、等效密度、等效刚度以及固有频率的计算公式 ,并以一种国产抽油钢丝绳的基本参数为依据 ,给出了钢丝绳采油系统绳杆柱的频率系数表 ,利用现文的方法和数据 ,可以参照 API RP展开更多
在软件开发过程中,复用应用程序编程接口(Application Programming Interface,API)可以提高软件开发效率,但是使用不熟悉的API是一项耗时且困难的挑战。已有的研究往往将API作为用户输入的查询,通过在语料库中搜索该API的使用模式来进...在软件开发过程中,复用应用程序编程接口(Application Programming Interface,API)可以提高软件开发效率,但是使用不熟悉的API是一项耗时且困难的挑战。已有的研究往往将API作为用户输入的查询,通过在语料库中搜索该API的使用模式来进行推荐,但这并不符合开发人员的查询习惯。文中提出了一种基于自然语言语义相似度的API使用模式推荐方法(Semantic Similazing Based API Recommendation,SSAPIR)。该方法使用层次聚类算法来提取API使用模式,然后通过计算查询信息和API使用模式来描述信息之间的语意相似度,向开发人员推荐相关度高且被广泛使用的API使用模式。为了验证SSAPIR的有效性,文中从GitHub的高质量Java项目中提取9个流行的第三方API库的API使用模式以及API使用模式的描述信息,并根据这9个流行的第三方API库的自然语言查询进行API使用模式推荐。通过计算推荐结果的Hit@K准确率来验证SSAPIR的有效性,实验结果表明,层次聚类能有效提高推荐准确率,且SSAPIR在Hit@10平均准确率上达到了85.02%,优于现有研究工作,能够很好地完成API使用模式推荐任务,为开发人员输入的自然语言查询提供精准的API使用模式。展开更多
文摘云时代,云API作为服务交付、数据交换和能力复制的最佳载体,已成长为当今面向服务软件开发和企业数字化转型不可或缺的核心要素.然而动态开放网络中持续增长的云API在给开发者提供了更多选择的同时,也将其淹没在海量的云API选择之中,设计有效的云API推荐方法就此成为API经济健康发展中迫切要解决的现实问题.但是,现有研究主要利用搜索关键词、服务质量和调用偏好进行建模,生成质量高功能单一的云API推荐列表,没有考虑服务化软件实际开发中开发者对多元化高阶互补云API的客观需要.高阶互补云API推荐旨在为多个查询云API生成多元互补云API列表,要求推荐结果与查询云API均互补,以满足开发者的联合需求.针对此问题,本文提出基于概率逻辑推理的高阶互补云API推荐方法(Probabilistic Logic Reasoning for High-order Complementary Cloud API Recom⁃mendation,PLR4HCCR).首先,通过云API生态真实数据分析论证云API互补推荐需求的必要性和互补关系建模中替补噪声的客观存在,为云API互补推荐问题研究提供动机和数据支持.其次,采用Beta概率嵌入对云API及其之间的关系约束进行编码,以刻画云API间互补关系的不确定性和支持互补逻辑推理.接着,设计由投影、取反和交并三个基本逻辑算子构建的互补关系逻辑推理网络,使查询集中的每个云API获得非对称互补关系感知和替补噪声消解约束下的互补云API表示.然后,引入注意力机制为查询云API的互补云API分配不同权重,增强高阶互补云API基向量的表征能力.在此基础上,采用KL散度度量高阶互补云API基向量与候选云API之间的距离,并根据KL散度排序生成高阶互补性可感知下的云API推荐结果.最后,我们利用两个真实云API数据集在不同阶互补推荐场景下进行实验,实验表明,与传统启发式推荐方法和深度学习推荐方法相比,PLR4HCCR在互补关系感知推理和替补噪声消解方面均具有较大的优势,继而使其在低阶、高阶和混合阶互补云API推荐中均展示出更优的推荐效果和更强的泛化能力.进一步,超参数敏感性实验、实例分析和用户调查验证了方法的有效性、实用性和可行性,这使结合高阶互补关系的云API推荐方法PLR4HCCR不仅更有可能生成开发者满意的结果,而且可有效提升云API服务提供者的收益.
文摘代码搜索和API推荐算法能够帮助开发者有效实现编程任务。截至目前,研究者们发表了一系列相关文献。尽管一些学者对该研究领域的背景和研究现状进行了阐述,但是研究者对该领域中的一些基本领域知识还缺乏了解,如最高产的作者、机构和国家,影响力较大的作者和文献,以及流行的热点研究等。借助经典的文献分析框架,在构建该研究领域文献数据仓库的基础上,首次对该领域的研究进行了基础文献分析和合作模式探索。一方面,基础文献分析的结果表明,近几年越来越多的研究者开始关注该领域的研究,最高产的作者是Cristina Videira Lopes,University of California at Irvine是发表相关文献最多的机构,大部分文献来自美国,根据领域H因子计算得到的最有影响力的作者是Denys Poshyvanyk。另一方面,合作模式的分析结果显示,Tao Xie,Cristina Videira Lopes和Denys Poshyvany是该领域最活跃的三位作者,推荐算法性能的提升及其在软件工程任务中的应用是目前该领域最流行的研究主题。
文摘软件开发者在开发过程遇到应用程序编程接口(application programming interface,API)使用问题时,通常希望能够得到有效的API使用模式建议,从而帮助其学习和使用.传统的API推荐方法会挖掘和学习代码库中API的使用知识,然后给开发者推荐与上下文相关的API.然而由于上下文信息表征不够充分,以及推荐列表中冗余项和同质化内容的出现影响了推荐性能.针对这一问题,构建项目和方法与API的API层次调用图(API hierarchy call graph,AHCG)模型以更好地表达API上下文关系,充分利用API结构信息和语义信息来减少冗余项和降低同质化内容被推荐的可能性,进而提出基于上下文感知并面向多样性的API推荐(context-aware based API recommendation with diversity,CAPIRD)方法.该方法中引入相关性度量和关联性度量,最大限度地保留相关结果,同时平衡已选API与候选API的关联性,以尽可能挖掘到合理的初选API列表.最后结合最大边缘相关算法,在标准模式数据集上学习相关性和关联性的最佳权重组合,并进行多样性重排推荐.在2210个项目构成的3类数据集上进行实验并验证推荐性能,实验结果表明,CAPIRD在基于上下文的API推荐场景下能够有效提高推荐性能.在所有数据集的API推荐中,平均精度(mean average precision,MAP)指标平均提升值约9%,在Top-1的推荐中,成功率(success rate)指标平均提升约13%.
文摘提出用 API RP 11L推荐作法设计钢丝绳连续抽油杆采油系统中的抽油钢丝绳绳杆柱 ,推导了与钢抽油杆柱类似的振动系统模型和边界条件 ,给出了用 API设计方法设计钢丝绳采油系统绳杆柱的设计步骤 ,特别给出了设计参数 :绳杆柱的等效弹性模量、等效密度、等效刚度以及固有频率的计算公式 ,并以一种国产抽油钢丝绳的基本参数为依据 ,给出了钢丝绳采油系统绳杆柱的频率系数表 ,利用现文的方法和数据 ,可以参照 API RP
文摘在软件开发过程中,复用应用程序编程接口(Application Programming Interface,API)可以提高软件开发效率,但是使用不熟悉的API是一项耗时且困难的挑战。已有的研究往往将API作为用户输入的查询,通过在语料库中搜索该API的使用模式来进行推荐,但这并不符合开发人员的查询习惯。文中提出了一种基于自然语言语义相似度的API使用模式推荐方法(Semantic Similazing Based API Recommendation,SSAPIR)。该方法使用层次聚类算法来提取API使用模式,然后通过计算查询信息和API使用模式来描述信息之间的语意相似度,向开发人员推荐相关度高且被广泛使用的API使用模式。为了验证SSAPIR的有效性,文中从GitHub的高质量Java项目中提取9个流行的第三方API库的API使用模式以及API使用模式的描述信息,并根据这9个流行的第三方API库的自然语言查询进行API使用模式推荐。通过计算推荐结果的Hit@K准确率来验证SSAPIR的有效性,实验结果表明,层次聚类能有效提高推荐准确率,且SSAPIR在Hit@10平均准确率上达到了85.02%,优于现有研究工作,能够很好地完成API使用模式推荐任务,为开发人员输入的自然语言查询提供精准的API使用模式。