【摘 要】
:
随着开发语言和各种软件社区的发展,API的数量急剧上升。为了降低API的使用难度,提高API使用效率,研究人员提出了很多种API推荐方法,这些推荐方法可以帮助编程人员更加高效地使用API。随着推荐技术的不断增加,选择合适的推荐方法对编程人员来说尤为重要。API推荐结果的评估可以为编程人员选择推荐技术提供依据,目前已有的评估方法研究较少,且主要关注于推荐结果的正确性,缺乏对推荐结果质量的关注,难以完
【基金项目】
:
国家重点研发计划项目(2018YFB1003900)“基于编程现场大数据的软件智能开发方法和环境”;
论文部分内容阅读
随着开发语言和各种软件社区的发展,API的数量急剧上升。为了降低API的使用难度,提高API使用效率,研究人员提出了很多种API推荐方法,这些推荐方法可以帮助编程人员更加高效地使用API。随着推荐技术的不断增加,选择合适的推荐方法对编程人员来说尤为重要。API推荐结果的评估可以为编程人员选择推荐技术提供依据,目前已有的评估方法研究较少,且主要关注于推荐结果的正确性,缺乏对推荐结果质量的关注,难以完全满足开发人员对评估技术的需求。为了解决上述问题,本文提出了一种基于API使用的推荐结果评估技术。该技术是在推荐结果正确性的基础上,利用API使用频率和API文档信息进行的推荐结果评估。本文通过对API推荐评估技术的实证研究,发现正确性评估的评估结果并不能体现每个API对解决问题的帮助大小。研究发现可以采用API使用的频率来计算API的可用性,利用API使用的特性中的可用性对推荐结果进行评估。另外,研究还发现出现频率高的API虽然可用性低,但却极大地影响了推荐结果中正确推荐的数量,其中,约20%的API组成了约90%的正确推荐结果。传统仅根据推荐结果中正确推荐的API数量来进行推荐结果评估的方法存在弊端。因此,本文提出了基于API使用的推荐结果评估技术。该技术通过分析可用性在推荐结果评估中的影响,利用正确性评估和API使用的特性进行推荐结果的评估。该技术可以对推荐结果中正确API对解决问题的帮助大小进行区分,更细粒度进行推荐结果的评估。本文通过选取两个基于功能描述的API推荐工具和一个基于代码上下文的API推荐工具进行经验研究和验证实验,共收集了12186组推荐结果数据。实验数据证实了基于API使用的推荐结果评估技术可以根据API使用的特性定量评估正确推荐结果对完成功能需求的贡献度,评估结果可以弥补正确性评估的不足,有效性更高。而且通过效率对比看出,基于API使用的推荐结果评估技术所耗时间和正确性评估之间的差距不会太明显,不会影响用户体验。
其他文献
远程监督关系抽取通过对齐知识图谱中的三元组和大规模文本语料来生成大量用于关系抽取的数据。尽管远程监督的方法可以避免人工标注数据,但不可避免地引入了噪声问题。最新的一些方法通过引入实体相关的背景知识来解决噪声问题,如知识图谱中实体的类别信息等。然而这些方法仍然面临一些挑战。一方面,这些方法只引入了单一源的背景知识,需要定制特殊的模型且信息的覆盖率不高。另一方面,这些方法没有考虑引入背景知识中的噪声对
知识库问答是自然语言处理领域中的一项重要任务,其目的是根据自然语言描述的问题,从知识库中查找或推断出问题的答案,具有重要的研究价值和意义。如何跨越自然语言与知识库查询语言之间的差异是知识库问答的难点。语义解析方法将自然语言问题转化成对应的形式化查询,是目前得到广泛研究的一个方向。然而,在面对日益复杂的自然语言问题时,现有的语义解析方法暴露出关系检测准确较低,形式化查询构建噪声过大等缺点。本文的研究
通过对生物医学文献的信息抽取,可以提高生物医学领域知识库构建的自动化程度,以进一步支撑计算机在该领域的文献检索、诊断决策、学术查新、预测分析等方面的应用。医学专利作为一种医学科技文献,其内容创新性、时效性强,并且有完善的实验验证,在学术上和商业上均具有很高的利用价值。抗肿瘤药物是近年来备受关注的一个研究热点,该领域专利公开量也较多,但目前针对抗肿瘤药物专利的分析工作主要靠人工完成,代价较高。研究从
随着我国经济的不断发展壮大,人民群众的消费水平和消费观点逐步升级提高,房地产行业迎来了黄金时期,家装市场上的客户需求也与日俱增。然而家装设计的繁琐和低效无法满足当今市场对数量和质量的需求,家装行业对自动化提出了更高的要求。目前,家装设计的过程需要设计师手动临摹和标注户型图信息,生成三维模型,然后根据专业化知识,通过多次调整和设计来完成家具的布局,往往需要花费大量的时间,只能提供少量的方案供用户选择
API推荐技术面向程序开发人员推荐符合当下编程场景的API方法,在现代软件开发过程中扮演着越来越重要的角色。在急剧增长的开发需求推动下,API推荐技术得到了快速发展,但对API推荐技术的评估却关注的很少。目前研究人员普遍采取的评估方法是从信息检索领域或者其他推荐领域借鉴而来,其中正确性的评估是研究人员和用户最关心的评估结果。但是本文通过实证研究发现,目前API推荐系统的正确性评估存在着以下问题:正
学习分布式且解耦的有效表示是无监督学习的一个重要研究方向,而由多个有效表示混合生成的场景在进行解绑识别时存在歧义问题,即绑定问题(Binding Problem),其广泛存在于视觉和语音等领域的现实应用中,如自动驾驶及虚拟现实中的场景分割和多演讲者语音分割等。感知成组(Perceptual Grouping,PG)是解决绑定问题的重要机制,其具备从复杂结构化输入场景中识别出各实体对象完整有效表征的
知识图谱表示学习旨在将知识图谱中的实体和关系编码到一个低维、连续的向量空间之中,以此来支撑不同领域的应用,如知识图谱补全、问答、推荐系统等。在现实应用中,知识图谱总是动态变化的,既会有新知识的加入,也会有旧知识的删除。大多数现有知识图谱表示学习模型都注重于对静态环境下的知识图谱进行编码,却忽略了其动态性。为了应对知识图谱产生的变化,这些模型需要花费很高的时间代价去重新训练整个图谱,而无法以一种更高
近年来,知识图谱规模迅速扩大,实体数量飞速增长,不同知识图谱之间实体匹配的重要性日益体现。实体匹配的质量依赖于知识图谱中实体的上下文,主要分为关系三元组、属性三元组和实体文本描述等三类。现有的相关工作只同时对其中的一类或两类实体上下文进行建模,没有同时对三类实体上下文进行建模。除此之外,现有相关工作中虽然有同时建模两类实体上下文,但是其中大部分并未平等对待这些实体上下文,并且对于多类信息不充分的实
中国人口老龄化等问题的加剧,给监护和安防等领域带来了巨大挑战。由于视频监控的逐渐普及化、低廉化以及视频的可视化、易存储等优点,它迅速成为替代人工管理的重要手段。如何高效地处理得到的视频数据,使其在满足特定场合的人体行为检测的精度要求的同时,又能兼顾效率,尽量满足实时性需求,一直是算法研究人员不断追求的目标。目前大多数的视频处理任务都基于特定场合,行为检测和识别的种类相对固定且较为单一。当传统方法利
在软件工程领域,软件开发的质量、效率和成本是软件开发过程中关注的三个核心问题。进入二十一世纪以来,随着互联网的普及,信息技术呈现爆炸性地增长,软件系统的规模和复杂性也在不断增加,软件开发的效率问题也越来越受到关注。为了提高开发的效率,许多软件开发的技术被陆续提出,开发者们希望通过代码搜索等技术手段实现高效的代码重用。因此代码搜索技术的研究有着重要的意义。然而,现有的代码搜索技术在表示代码时并不全面