软件学报

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

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2023年第3期:基于双重信息检索的Bash代码注释生成方法

发布日期:

作者:陈翔,于池,杨光,濮雪莲,崔展齐

单位:陈翔,南通大学 信息科学技术学院, 江苏 南通 226019;信息安全国家重点实验室(中国科学院 信息工程研究所), 北京 10009311,于池,南通大学 信息科学技术学院, 江苏 南通 22601902,杨光,南通大学 信息科学技术学院, 江苏 南通 22601903,濮雪莲,南通大学 经济与管理学院, 江苏 南通 22601904,崔展齐,北京信息科技大学 计算机学院, 北京 10010105

关键词:程序理解;Bash代码;代码注释生成;信息检索;代码语义;代码词法

基金:国家自然科学基金(61872263,61702041,61202006);信息安全国家重点实验室开放课题(2020-MS-07);江苏省前沿引领技术基础研究专项(BK20202001);江苏省重点产业专利导航项目(DH20200072-10)

Bash是Linux默认的shell命令语言.它在Linux系统的开发和维护中起到重要作用.对不熟悉Bash语言的开发人员来说,理解Bash代码的目的和功能具有一定的挑战性.针对Bash代码注释自动生成问题提出了一种基于双重信息检索的方法ExplainBash.该方法基于语义相似度和词法相似度进行双重检索,从而生成高质量代码注释.其中,语义相似度基于CodeBERT和BERT-whitening操作训练出代码语义表示,并基于欧式距离来实现;词法相似度基于代码词元构成的集合,并基于编辑距离来实现.以NL2Bash研究中共享的语料库为基础,进一步合并NLC2CMD竞赛共享的数据以构造高质量语料库.随后,选择了来自代码注释自动生成领域的9种基准方法,这些基准方法覆盖了基于信息检索的方法和基于深度学习的方法.实证研究和人本研究的结果验证了ExplainBash方法的有效性.然后设计了消融实验,对ExplainBash方法内设定(例如检索策略、BERT-whitening操作等)的合理性进行了分析.最后,基于所提方法开发出一个浏览器插件,以方便用户对Bash代码的理解.

来源:2023年第3期

《软件学报》期刊编辑部

查看软件学报杂志2023年第3期

联系我们

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

咨询工作人员