软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2022年第11期:基于软件知识图谱的代码语义标签自动生成方法

发布日期:

作者:邢双双,刘名威,彭鑫

单位:邢双双,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120311,刘名威,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120302,彭鑫,复旦大学 计算机科学技术学院, 上海 201203;上海市数据科学重点实验室(复旦大学), 上海 20120303

关键词:程序理解;代码搜索;知识图谱;语义标签

基金:国家自然科学基金(61972098)

开源及企业软件项目和各类软件开发网站上的代码片段是重要的软件开发资源.然而,很多开发者代码搜索需求反映的代码的高层意图和主题难以通过基于代码文本的信息检索技术来实现精准的代码搜索.因此,反映代码整体意图和主题的语义标签对于改进代码搜索、辅助代码理解都具有十分重要的作用.现有的标签生成技术主要面向文本内容或依赖于历史数据,无法满足大范围代码语义标注和辅助搜索、理解的需要.针对这一问题,提出了一种基于知识图谱的代码语义标签自动生成方法KGCodeTagger.该方法通过基于API文档和软件开发问答文本的概念和关系抽取构造软件知识图谱,作为代码语义标签生成的基础.针对给定的代码,该方法识别并抽取出通用API调用或概念提及,并链接到软件知识图谱中的相关概念上.在此基础上,该方法进一步识别与所链接的概念相关的其他概念作为候选,然后按照多样性和代表性排序,产生最终的代码语义标签.通过实验对KGCodeTagger软件知识图谱构建的各个步骤进行了评估,并通过与几个已有的基准方法的比较,对所生成的代码语义标签质量进行了评估.实验结果表明,KGCodeTagger的软件知识图谱构建步骤是合理有效的,该方法所生成的代码语义标签是高质量、有意义的,能够帮助开发人员快速理解代码的意图.

来源:2022年第11期

《软件学报》期刊编辑部

查看软件学报杂志2022年第11期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员