基于信息检索的API推荐算法的设计与实现

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:tataba56
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
如何提高软件开发的效率长久以来一直是软件工程领域的一个核心问题。近年来随着互联网行业的发展以及计算机科学技术的进步,开发任务日趋复杂,也涌现出了更多更复杂的程序库来帮助开发者简化开发过程。开发者在查找完成某个特定任务的API时,通常会借助搜索引擎或者API文档来进行搜索和查看。这种情况在开发者接触不熟悉的开发领域或者功能模块时尤为明显。然而由于传统搜索引擎的搜索结果散布在多个页面中,碎片化的信息使得找到关键信息非常耗时。直接在API文档进行搜索也十分复杂和不便。尽管工业界和学术界有不少针对API理解、代码搜索的相关工作,但是能够根据用户的功能描述向用户推荐API的工作和工具还十分有限。针对上述问题,本文提出了一种基于信息检索的API推荐算法。该算法能够根据用户输入的API功能描述,跨多个程序库向用户推荐相关的API方法。有别于关键词搜索,本文算法允许用户以自然语言输入功能的描述,在描述中用户也可混合输入相应的类型信息。上述的输入方式提高了用户的使用体验。对于用户输入,本文算法首先会通过自然语言处理技术和类型识别算法提取其中包含的的关键语义信息和类型信息。语义信息和类型信息接着会和程序库仓库中的API方法进行相关性匹配。本文算法同时结合语义相关度、类型相关度以及API方法被使用的广泛程度,对这些API方法进行排序,将相关度高、使用广泛的API方法排在靠前的位置,使得用户能够快速获取需要的信息。最后,算法以列表的形式向用户展示与描述相关的API方法。算法在展示结果时,会为API配以真实项目中的使用代码示例,以帮助使用者进行学习和理解。本文在该算法的基础上,针对Java编程语言实现了一个API方法推荐工具APIBook。APIBook选取了Java标准库以及100个流行的开源程序库作为API推荐的素材。用户能够通过APIBook的Web界面进行输入,并在界面上查看搜索结果和示例代码。为了验证本文算法和工具的有效性,本文从StackOverflow编程论坛的Java板块上选取了最热门的70个与API选择相关的问题,然后以它们的标题作为API功能描述在APIBook上进行API推荐查询,并比较了APIBook和传统的检索模型在API搜索推荐上的有效性和运行效率。实验表明APIBook的算法比传统的检索模型更加有效。而它平均0.7秒的查询耗时也可以满足日常的查询需求。
其他文献
在发达国家,个人住房房产税有着较久的发展历史,是各国重要税种之一,其在调节收入分配,促进社会公平;增加地方财政收入;抑制房屋市场投机行为,有效地调控房价等方面发挥着重要的作用。相对比之下,我国在个人住房房产税的发展仍然较为滞后,存在改革试点范围小、试点效果一般的现象。并且,我国目前房地产行业过热,房产投机现象仍普遍存在,房价调控失灵;另一方面,地方政府缺失主体税种,地方财政缺口越来越大,加剧了地方
本文通过介绍发生在某电厂的一次事故,详细地分析了此次事故中发电机复压记忆过流保护误动的原因,并从此保护动作行为及原理、整定的方式等方面着手,分析该保护目前存在的缺
近年来,公路交通流量随着经济的发展不断增大,越来越多的钢筋混凝土桁架拱桥因年代久远和承载力不足而成为危桥,拆除新建桥梁造价较高,因此,加固病危桥梁已成为一个涉及道路运输安全和节约经济资源的重要问题,具有十分重要的意义。首先,本文介绍了钢筋混凝土桁架拱桥的结构特点和研究现状,结合吉林市龙潭大桥加固实例工程,统计该桥桥面系、上部结构和下部结构存在的病害,对其进行全面的检测与现状评定。其次,以加固桥梁病
背景及目的:年龄相关性黄斑变性(age-related macular degeneration,AMD)又称老年性黄斑变性,常伴有不可逆的视功能严重损害,是西方发达国家首位致盲性眼病,随着我国人口老龄
1934年7月初,中央令以寻淮洲为军团长,乐少华为军团政治委员,曾洪媂为随军中央代表,刘英为军团政治部主任,粟裕为军团参谋长的北上抗日先遣队,向闽、渐、赣、皖等省出动,目
多孔半导体纳米材料由于独特的结构和优异的性能而被广泛应用于催化、储能、气体传感器以及锂离子电池等领域。氧化铟(In2O3)作为典型的n型半导体,其带隙宽度大约是2.8 eV,具有
粒重和穗粒数是玉米单穗产量最重要的影响因子,而籽粒和花序的发育是影响粒重和穗粒数的关键因素,因此,克隆玉米籽粒及花序发育相关的关键QTL/基因,解析其功能及调控机制具有
<正>现在讲堂很多,电视上有百家讲坛、军事讲堂、养生堂、健身讲堂……而我要说的是劳模大讲堂。2015年获得北京市劳模后,我成为了劳模宣讲员。我走社区、进军营、上学校、下
目的:探讨慢性心力衰竭患者外周血浆ERK5/CREB蛋白表达水平与NT-pro BNP水平及心功能分级的相关性。方法:通过选择南华大学附属第二医院心内科门诊或住院慢性心衰患者30例,同
自交不亲和(Self-incompatibility,SI)是显花植物在长期进化过程中形成的抑制自交,促进异交,利于物种生存的重要机制。基于S-RNase(S-Ribonuclease)类型的SI在植物界中普遍存在,