基于代码仓库分析的代码推荐研究

来源 :湖南大学 | 被引量 : 0次 | 上传用户:stefanie456
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在日常的编程开发中,开发者在输入表达式“e”和点号“.”后,集成开发环境(IDE)基于静态分析对所有可能的API方法进行补全提示。但是,现有的IDE只是将符合可访问语法类型的所有API方法简单的按字母进行排序后进行推荐。而现有的类中包含可访问的API方法常常有过百种。因此,如何结合编程上下文信息和网页上的相关API的历史资料减少补全推荐中无用的提示API方法,并使相关API方法在补全提示栏中的排位靠前是一项有效减少开发者编程时间的有益工作。本文对API方法的补全推荐展开研究,包括Stack Overflow离线数据转储的预处理和分析,以及基于关联规则的API方法补全推荐,具体工作如下:1.从Stack Overflow的网页内容中提取出了相关代码信息,从而建立了 API方法使用模式的数据库。对数据转储的Post数据表进行重点分析,提取答题内容中的代码建立代码库,对代码库中的代码建立抽象语法树进行语法分析,提取出代表API使用模式的API实例数据库。2.对相关代码涉及网页中的各种人气指标进行统计,建立API方法人气数据库。提出了基于人气的API方法推荐方法,并对基于各种人气指标的方法进行了测试,分析了基于人气的API方法推荐方法的影响力。3.由于人气指标的推荐方法并没有考虑当前编程环境上下文的缺点,针对Java编程语言面向对象和强类型的特点,对Apriori算法的输入数据和关联规则的发现方法进行了改良。并给出了一种结合人气指标和关联规则的API方法推荐系统。以Eclipse插件的形式实现了基于本方法的软件,并与其他论文中提出的代码补全提示软件进行了推荐效果的对比测试,分析推荐系统的命中率和冗余度。实验结果表明,与CSCC、BCC和BMN进行Top-N命中比较,在N为1、3时命中率仅低于BMN方法但优于BCC和CSCC方法,且在N为10的情况下其命中率优于其他方法。本文的冗余度仅比CSCC高,优于BCC、CSCC、BMN。
其他文献
利用遥感数据提取围岩蚀变信息并进行勘探靶区圈定经过了几十年的发展,逐渐成为地质填图和找矿的重要手段之一。TERRA卫星上所携带的高级星载热发射反射辐射计(ASTER)其6个短
橡胶是我国的战略物资。因具有胶乳产量高、质量优、经济寿命长和采胶容易等特点,巴西橡胶树(Hevea basiliensis)已成为全世界天然橡胶的唯一商业来源。因此对巴西橡胶树进行
肿瘤坏死因子是一种促炎症细胞因子,具有多种生物学效应。TNF-α以26k Dα的跨膜型结构tmTNF-α(trαnsmembrαne TNF-α)表达于细胞膜上,在金属基质剪切酶(TACE)的作用下,可
随机共振是一种利用噪声增强信号能量从而实现微弱信号检测的新方法,目前对它的研究大多数停留在理论仿真阶段,将其用于工程信号的检测还不多。如何实现随机共振的产生、增强
Mg-Zn-Ca非晶合金因其出色的生物降解性能在医用可降解金属材料领域受到了广泛关注。与常见Mg基非晶合金类似,Mg-Zn-Ca非晶合金在室温下塑性变形能力较差,这严重限制了其在生
基因芯片技术同时可以检测成千上万个基因的动态表达水平,这些表达值构成了基因表达谱数据。肿瘤的基因表达谱具有高维小样本的特点,然而只有少量基因与肿瘤分类相关。由于冗
随着经济水平的不断提高及高速公路不断建设,高速公路里程取得了长足的增长,至2013年,我国高速公路通车里程已突破10万公里,总里程已经居于全球第二。高速公路的快速发展给公
蜂窝密封等深孔柱面密封以其较好的泄漏特性及转子稳定性,在汽轮机、燃气轮机、压缩机及航空发动机等叶轮机械中得到广泛应用,但其密封作用机理尚未完全明确。为进一步完善深
城市绿地是维持城市生态系统稳定的核心部分,具有维持区域碳平衡、调节小气候、净化空气、涵养水源等多方面的功能。而叶面积指数是建立各种生态系统功能指标模型的关键参数,
软件产品线是共享一个公共的、可管理的特征集软件密集型的系统集合,特征集里的这些特征可以满足特定市场以及任务的特殊需求,并且按照特定的方式从一个公共的核心资源集开发