【摘 要】
:
在软件的开发和维护中,清晰的代码注释对于程序理解非常重要,开发人员可以通过使用注释的自然语言描述去理解一段代码的含义。然而,由于项目进度紧迫或开发人员能力限制等各种原因,许多项目中的注释常常缺失、过时、或者与代码不匹配。最近几年,基于深度学习模型为代码自动生成注释的研究工作取得了很大的进展,在为源代码建立语言模型的趋势推动下,目前技术的关注点大部分集中在源代码的结构上,而代码中的关键字内容例如方法
论文部分内容阅读
在软件的开发和维护中,清晰的代码注释对于程序理解非常重要,开发人员可以通过使用注释的自然语言描述去理解一段代码的含义。然而,由于项目进度紧迫或开发人员能力限制等各种原因,许多项目中的注释常常缺失、过时、或者与代码不匹配。最近几年,基于深度学习模型为代码自动生成注释的研究工作取得了很大的进展,在为源代码建立语言模型的趋势推动下,目前技术的关注点大部分集中在源代码的结构上,而代码中的关键字内容例如方法名、变量名等蕴含着丰富的功能描述性信息,这对注释生成是非常重要的,且尚待研究人员探究与挖掘。本文通过研究各种方法,提出一种基于关键字语义的注释自动生成技术Key Sum,以独立地分析代码中关键字语义信息对生成注释的影响和效果。由于Java是过去10年里最流行的编程语言,且作为一门强类型语言,具有一定的代表性和通用性。因此,Java被选择为实验对象进行注释生成,并且一个Java方法是数据组织的单元。注释生成技术分为两部分实现,分别为数据预处理和模型训练。在预处理阶段,Key Sum基于代码的关键字语义生成注释,其利用源代码树状结构的抽象语法树(AST)提取代码段中关键字信息,例如方法名、变量名以及应用程序接口(API)等。为使得代码在提取和分析层面具备更强的操作性,一种新的数据格式――全局记录表,被引入贯穿整个代码预处理环节。为了探究和比较关键字语义与结构化信息在生成注释过程中的重要性,我们在Key Sum的基础上,提出Key Sum S,以关键字结合简单结构化信息的形式形成代码语料序列。更进一步探究,一种注重代码结构的注释生成方法作为实验基线被引入。在模型训练阶段,Key Sum将利用深度学习的方法,基于注意力机制的神经机器翻译(NMT)去训练数据。我们从github上爬取1,000多个Java项目,清洗之后,使用大小为48万的训练集,以及大小均为6万的验证集和测试集进行实验。结果评估过程采用BLEU-4得分作为指标,并结合定性评估讨论。实验结果表明,基于关键字语义的方法Key Sum的BLEU得分达到41.40%,并在很多情况下,其生成代码注释的能力具备优越性和有效性。
其他文献
天然产物小檗碱作为一种季铵型异喹啉类生物碱,广泛存在于各种药用植物中,对多种肿瘤细胞具有很强的抗肿瘤活性,这决定了其在肿瘤防治和抗肿瘤药物的开发方面具有潜在的应用前景。但是由于小檗碱脂溶性、水溶性都比较差,在人体肠道中吸收差,大大限制了小檗碱充分发挥其抗肿瘤治疗的潜力。因此,设计和合成新的生物利用度高、活性强的小檗碱衍生物对于肿瘤防治和新药研发具有重要作用。研究发现,小檗碱反应生成9位酯化小檗碱衍
论文介绍了一种基于Mask Rcnn的文本检测模型,用于通过卷积神经网络(CNN)完成对图像中文本的检测。首先因为图片中各文本经常会出现尺寸差距较大的情况,为了提升文本检测的准确度,我们组合了特征提取网络的高底层特征,通过组合之后的网络进行深层特征和浅层特征的同时提取,这样可同时提高对不同尺寸文本的检测准确度。算法采用RPC网络生成候选框,因为RPC网络是在anchors的基础上进行候选框的预测,
由于工业化和城市化的快速发展,中国土壤重金属污染现状问题严重。而镉是重要的土壤重金属污染物。作为一种在采矿和冶炼过程中释放到环境中的有毒金属,镉(Cd)易在生物体内积累。流行病学研究显示,长期慢性低Cd暴露与心血管疾病,骨密度降低和癌症之间有关联。此外,较高的暴露可能导致肾脏损伤,近端肾小管重吸收功能障碍,以及骨骼长骨骨折。有研究通过添加矿物质营养元素的方法来降低镉吸收和镉毒性,例如在饲料中加入钙
随着云计算的出现,企业的竞争也更加激烈,越来越多的企业选择使用基于SaaS(Software as a Service,软件即服务)模式的软件,这种类型的软件部署实施快,成本低,更易于维护。信息服务平台可以帮助企业以更低的价格更快速的抓住客户,提升客户的粘度。上海某互联网金融公司是一家创业公司,起步较晚,项目体系未成熟,一直未有一套独立的信息服务平台,这违背了“职责分离”的原则,因为不是所有的项目
纳米管材料因其独特的一维管状结构、优异的物理化学性能以及广泛的应用前景,是目前化学、材料科学、微电子等诸多研究领域的热点。其中氧化物纳米管因为种类丰富、组成可调变,具有十分重要的工业应用价值,近年来备受关注。迄今为止,尽管已经有很多关于氧化物纳米管制备的报道,但存在的问题主要是制备方法通用性较差,一般只适用于实验室规模合成,难以进行大批量生产,影响了其实际工业应用。本文致力于发展大批量制备氧化物纳
以往研究表明,鱼类等海产品是人体汞膳食暴露风险的主要来源,然而近期研究发现,甲基汞(Me Hg)在稻米中累积富集后,能够对以米为主食的内陆居民造成严重的汞健康风险。例如在中国,稻米摄入可达到总甲基汞饮食暴露风险的96%。因此,稻田土壤汞(Hg)污染及其微生物驱动的汞甲基化过程受到越来越多的关注。探究稻田环境中汞甲基化的影响因素,尤其是微生物对汞甲基化过程的影响,建立有效模型预测稻米汞风险,对于降低
电致化学发光(ECL)是电化学反应诱导的化学发光,相比多数其它电化学技术,它具有灵敏度高、检测范围宽、背景信号低、操作简单等优势。在过去的研究中,ECL被广泛应用于临床医学、水质以及食品检测等领域。常用的ECL检测方法有单通道光强分析法、双通道光强分析法、ECL光谱分析法以及ECL成像分析法。其中,ECL成像技术除了具有ECL的优势外,它还具有快速检测和高通量的优点,且满足对空间分辨率的需求。随着
我国煤矿资源储量丰富,煤矿开采是重要的国民经济活动之一。在煤矿开采作业中,确保人员安全是重中之重。我国曾多次发生煤矿生产事故,给人民生命财产带来了重大损失。近年来,国家已出台多项政策法规,严格限制矿井开采作业,对于不规范的矿井予以关停处理,有效减少了煤矿事故的发生,保障了矿井人员的生命财产安全。除了政策层面加紧管控以外,从技术上来说,检测矿井下的一些关键指标,若指标异常则发出警告,及时整改,也可以
随着社会经济的发展,城市配电网的规模不断扩大,配电网作为电网面向用户供电的最终环节,能否安全稳定地维护好配电网生产和管理,直接影响社会正常生产生活秩序。馈线单线图作为配电网的基本电力图形,是配电网生产管理的重要数据资源和工具,可以为各项电网业务提供有力支撑。当前的馈线单线图是一种展示电网线路实际物理结构的电力图形,会完整地展示馈线下大部分的设备与线路,可以清晰地查看设备内部的连线结构。但随着配电网
随着软件技术的发展,软件系统对高并发访问的要求越来越高,这使得分布式数据库逐渐取代了传统数据库。然而分布式数据库需要部署在分布式集群中运行,并且其系统架构相当复杂,给运维人员带来了高成本、高难度、高挑战的数据库运维监控问题。一旦分布式数据库发生运行故障,运维人员很难快速定位、分析并解决故障问题。基于分布式数据库带来的问题,本文研究了Insight监控系统的解决方案,该系统的目标是监控分布式数据库集