当前位置:主页 > 科技论文 > 自动化论文 >

基于知识图谱和深度学习的JAVA代码摘要

发布时间:2024-02-25 22:46
  近年来随着软件系统规模的扩增以及面对需求进行版本的更迭,规模不断扩大的代码已成为程序员开发和维护系统的挑战。由于代码具有抽象性,复杂性和可变性的特点,阅读时他人的代码时会存在一定的困难。代码摘要为代码执行的功能提供了高级自然语言描述,有利于软件维护、代码分类和检索。但是现有大多数代码的摘要往往需要开发者自己撰写,随着软件系统的版本迭代,代码摘要往往会出现不匹配,错误或者更新不及时的问题,导致了在后期开发和维护过程中需要巨大的人力成本来理解现有的代码。人工代码摘要解决不匹配的问题存在工作量大的问题,所以需要自动代码摘要。目前对于代码摘要的自动生成研究除了传统的基于模板、基于信息检索的方法以及基于概率模型的方法以外,主要基于深度学习技术中的CNN、RNN网络,根据概率模型,提取代码文本的特征,通过解码器对特征向量进行解码从而生成代码摘要。但是这些方法往往将源代码视为纯文本,忽视了许多代码相关的知识,效果较为有限。API对应的功能描述、API相关的问题描述等代码知识,往往可以反映出代码对应的功能和使用方法。然而这些知识往往存在于多种不同的资源当中,如何从不同的数据源当中提取知识并将他们融合在...

【文章页数】:71 页

【学位级别】:硕士

【部分图文】:

图2-1java代码知识图谱构建

图2-1java代码知识图谱构建

哈尔滨工业大学工学硕士学位论文-16-同一个图网络当中,将对这些知识进行数据融合,一方面根据显式的关系进行统一和连接,另一方面从自然语句中获取API相关概念,利用概念建立自然语句之间的关系。最终构建一个Java代码知识图谱。本文设计的java代码知识图谱构建流程如图2-1所示。图....


图2-3object.MethodInvoke()型API调用ASTView简单示例

图2-3object.MethodInvoke()型API调用ASTView简单示例

哈尔滨工业大学工学硕士学位论文-19-图2-3object.MethodInvoke()型API调用ASTView简单示例期望结果:ASTParser.setCompilerOptions(2)图2-4((class)object).MethodInvoke()型API调用AST....


图2-4((class)object).MethodInvoke()型API调用ASTView简单示例

图2-4((class)object).MethodInvoke()型API调用ASTView简单示例

哈尔滨工业大学工学硕士学位论文-19-图2-3object.MethodInvoke()型API调用ASTView简单示例期望结果:ASTParser.setCompilerOptions(2)图2-4((class)object).MethodInvoke()型API调用AST....


图2-5MethodInvoke().MethodInvoke()型API调用ASTView简单示例

图2-5MethodInvoke().MethodInvoke()型API调用ASTView简单示例

哈尔滨工业大学工学硕士学位论文-20-(3)图2-5MethodInvoke().MethodInvoke()型API调用ASTView简单示例期望结果:List.get为便于之后的处理,需要标准化,设计算法如下:算法2-2:API调用序列获取输入:方法体的抽象语法树ast节点n....



本文编号:3910958

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/3910958.html


Copyright(c)文论论文网All Rights Reserved | 网站地图

版权申明:资料由用户874fc***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com