-
题名基于多特征权重分配的源代码搜索优化
被引量:6
- 1
-
-
作者
李阵
钮俊
王奎
辛园园
-
机构
宁波大学信息科学与工程学院
-
出处
《计算机应用》
CSCD
北大核心
2018年第3期812-817,共6页
-
文摘
对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释等组合代码特征;将代码特征与查询语句分别用向量表示,并计算向量间的余弦相似度,然后制定针对搜索结果多特征权重分配的评分机制。根据评分对搜索结果进行排序,得到与查询语句相关的结果序列。实验结果表明,多个代码特征在不同权重影响下可以提升源代码搜索准确度。
-
关键词
代码复用
代码注释
方法签名
抽象语法树
代码特征
-
Keywords
code reuse
code comments
method signature
abstract syntax tree
code feature
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于注释改进动态需求跟踪的方法
被引量:4
- 2
-
-
作者
董刘
李引
李娟
-
机构
中国科学院软件研究所
-
出处
《计算机工程与设计》
CSCD
北大核心
2009年第1期113-115,221,共4页
-
基金
国家自然科学基金项目(60573082)
国家973重点基础研究发展计划基金项目(2007CB310802)
国家863高技术研究发展计划基金项目(2006AA01Z155)
-
文摘
需求跟踪为软件工程提供有力的支持,然而人工建立需求跟踪关系费时费力,存在着成本过高,难以维护等问题。动态需求跟踪运用信息检索等技术,自动化建立需求文档和工作产品的跟踪关系,但在跟踪精度等方面仍然存在问题。在现有的动态需求跟踪方法基础之上,分析了需求动态跟踪精度问题产生的原因,提出了使用代码注释辅助动态需求跟踪的方法,改进了需求动态跟踪工具,并通过实验验证了方法对于动态需求跟踪效果的改进。
-
关键词
动态需求跟踪
需求跟踪
信息检索
向量空间模型
代码注释
-
Keywords
dynamic requirement traceability
requirement traceability
information retrieval
vector space model
code comments
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名代码注释自动生成研究进展
被引量:2
- 3
-
-
作者
赵乐乐
张丽萍
-
机构
内蒙古师范大学计算机科学技术学院
-
出处
《计算机应用研究》
CSCD
北大核心
2021年第4期982-989,共8页
-
基金
国家自然科学基金资助项目(61462071)
内蒙古自然科学基金资助项目(2018MS06009)
+1 种基金
内蒙古自治区高等学校科学研究项目(NJZY19026)
内蒙古师范大学自主科研项目(29K19ZZYF017)。
-
文摘
代码注释作为软件中的重要组成部分,在软件维护、复用等领域中发挥着重要作用。代码注释自动生成技术旨在减轻人工编写注释的工作量,从而提高软件开发效率。现有的注释自动生成方法分为基于规则、文本摘要、数据驱动、主题模型、深度学习等层次。综述了代码注释自动生成的相关概念,对比总结各类代码注释自动生成方法,对近年来代码注释自动生成相关应用进行了梳理和总结,最后对注释自动生成所面临的挑战进行了分析,展望了该领域未来的研究。
-
关键词
代码注释
代码注释自动生成
深度学习
机器翻译
-
Keywords
code comments
automatic generation of code comments
deep learning
machine translation
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于注意力机制的双编码器代码注释生成
被引量:1
- 4
-
-
作者
董传珂
赵逢禹
刘亚
-
机构
上海理工大学光电信息与计算机工程学院
-
出处
《小型微型计算机系统》
CSCD
北大核心
2022年第2期438-442,共5页
-
基金
“十三五”密码发展基金理论项目(MMJJ20180202)资助。
-
文摘
针对代码注释较少导致软件项目可维护性降低、理解代码语义困难等问题,提出一种基于NMT模型的双编码器框架自动生成代码注释的方法.在该框架中,首先提取不同的代码特征信息;然后分别采用序列编码器和图编码器对不同的代码特征编码,引入注意力机制调整编码器输出向量,再对双编码器的输出向量综合处理;最终利用解码器对综合向量解码获得注释序列.为了验证带有注意力机制的双编码器模型效果,本文构建自动生成代码注释算法框架.实验表明,双编码器模型与文中的序列编码器和树编码器模型算法相比,在生成代码注释方面的结果评估得分上表现较好.通过BLEU-1、ROUGE-L和F1测评指标得分对比,验证了本文算法的有效性.
-
关键词
NMT模型
双编码器
代码特征
注意力机制
代码注释
-
Keywords
NMT model
dual encoders
code features
attention mechanism
code comments
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-
-
题名基于组合分类算法的源代码注释质量评估方法
被引量:6
- 5
-
-
作者
余海
李斌
王培霞
贾荻
王永吉
-
机构
中国科学院软件研究所互联网软件技术实验室
中国科学院大学
中国科学院软件研究所总体部
中国科学院软件研究所基础软件国家工程研究中心
-
出处
《计算机应用》
CSCD
北大核心
2016年第12期3448-3453,3467,共7页
-
基金
国家科技重大专项(2014ZX01029101-002)~~
-
文摘
源代码注释是软件的重要组成部分,研究者往往需要利用人工或自动化的方法产生分析注释,注释的质量评估也往往是通过人工来完成,这无疑是低效不客观的。为此,首先从注释的格式、语言形式、内容以及与代码相关度4个方面出发构建注释评估准则;进而,基于这一准则提出了一种基于组合分类算法的注释质量评估方法。该方法将机器学习以及自然语言处理技术引入到注释质量评估中来,利用分类算法将注释分为不合格、合格、良好、优秀四个等级。通过对基本分类算法的组合使用,使得评估效果进一步提高。组合分类算法的准确率和F1值较单独使用某一种分类算法提高20个百分点左右,除宏平均F1值外,各项指标都达到了70%以上。实验结果表明,所提方法能够很好地应用于注释质量评估。
-
关键词
源码注释
质量评估
文本分类
组合算法
自然语言处理
-
Keywords
source code comments
quality assessment
text classification
aggregation algorithm
natural language processing
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于指针生成网络的代码注释自动生成模型
被引量:5
- 6
-
-
作者
牛长安
葛季栋
唐泽
李传艺
周宇
骆斌
-
机构
计算机软件新技术国家重点实验室(南京大学)
南京大学软件学院
南京航空航天大学计算机科学与技术学院
-
出处
《软件学报》
EI
CSCD
北大核心
2021年第7期2142-2165,共24页
-
基金
国家自然科学基金(61802167,61972197,61802095)
江苏省自然科学基金(BK20201250)
华为-南京大学下一代程序设计创新实验室合作协议子项目。
-
文摘
代码注释在软件质量保障中发挥着重要的作用,它可以提升代码的可读性,使代码更易理解、重用和维护.但是出于各种各样的原因,有时开发者并没有添加必要的注释,使得在软件维护的过程中,往往需要花费大量的时间来理解代码,大大降低了软件维护的效率.近年来,多项工作利用机器学习技术自动生成代码注释,这些方法从代码中提取出语义和结构化信息后,输入序列到序列的神经网络模型生成相应的注释,均取得了不错的效果.然而,当前最好的代码注释生成模型Hybrid-DeepCom仍然存在两方面的不足.一是其在预处理时可能破坏代码结构导致不同实例的输入信息不一致,使得模型学习效果欠佳;二是由于序列到序列模型的限制,其无法在注释中生成词库之外的单词(out-of-vocabulary word,简称OOV word).例如在源代码中出现次数极少的变量名、方法名等标识符通常都为OOV词,缺少了它们,注释将难以理解.为解决上述问题,提出了一种新的代码注释生成模型CodePtr.一方面,通过添加完整的源代码编码器解决代码结构被破坏的问题;另一方面,引入指针生成网络(pointer-generator network)模块,在解码的每一步实现生成词和复制词两种模式的自动切换,特别是遇到在输入中出现次数极少的标识符时模型可以直接将其复制到输出中,以此解决无法生成OOV词的问题.最后,在大型数据集上通过实验对比了CodePtr和Hybrid-DeepCom模型,结果表明,当词库大小为30000时,CodePtr的各项翻译效果指标平均提升6%,同时,处理OOV词的效果提升近50%,充分说明了CodePtr模型的有效性.
-
关键词
软件质量保障
代码注释生成
神经网络
out-of-vocabulary
word
指针生成网络
-
Keywords
software quality assurance
source code comments generation
neural network
out-of-vocabulary word
pointer-generator network
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于神经网络融合模型的源代码注释自动生成
被引量:3
- 7
-
-
作者
周其林
王旭
刘旭东
-
机构
中国人民大学新闻传播实验中心
北京航空航天大学计算机学院
北京航空航天大学大数据科学与脑机智能高精尖创新中心
-
出处
《空间控制技术与应用》
CSCD
北大核心
2021年第2期42-48,共7页
-
基金
国家自然科学基金资助项目(62072017)。
-
文摘
注释可以有效提高源代码的可读性、帮助开发者理解软件功能,对于软件的维护和演化起着关键作用.当前源代码注释自动生成方面的研究存在一定局限,一是没有深入挖掘词法信息;二是没能很好的融合词法和语法信息.因此,提出了基于神经网络融合模型的源代码注释自动生成方法,该方法利用编码器-解码器神经网络框架深度表征源代码的词法信息,结合基于语法树挖掘到的语法信息,使用融合机制形成更加全面的功能语义编码向量用于注释自动生成.通过在公开数据集上进行实验,该方法在BLEU4、METEOR等评价指标上均优于对比的模型,验证了方法的有效性.
-
关键词
源代码注释
抽象语法树
编码器-解码器
融合模型
-
Keywords
source code comments
abstract syntax tree
encoder-decoder
fusion model
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名代码注释自动生成系统设计与实现
- 8
-
-
作者
荆璞
王盈
胡思琪
朱涛
孟晗
-
机构
上海工程技术大学电子电气工程学院
-
出处
《福建电脑》
2023年第3期101-103,共3页
-
基金
上海市大学生创新创业市级项目基金(No.CS2202011)资助。
-
文摘
快速识别程序源码语义,可以辅助编程学习者理解代码。为提高程序开发效率,有必要开发一个代码注释自动生成系统。本文提出了一个代码注释自动生成系统的开发方案,对于Seq2seq模型如何训练、中文数据集如何处理和提高注释质量等问题提出了具体实施方案。实践结果表明,采取该方案制成的代码注释自动生成系统能够基本满足辅助理解代码的需要。
-
关键词
人工智能
Seq2seq模型
代码自动注释
-
Keywords
Artificial Intelligence
Seq2seq Model
Automatic code comments
-
分类号
TP183
[自动化与计算机技术—控制理论与控制工程]
-
-
题名源代码分析注释的质量评价框架
被引量:5
- 9
-
-
作者
高晓伟
杜晶
王青
-
机构
中国科学院软件研究所互联网软件技术实验室
中国科学院大学
-
出处
《计算机系统应用》
2015年第10期1-8,共8页
-
基金
国家自然科学基金(91318301
91218302
+2 种基金
61432001)
核心电子器件
高端通用芯片及基础软件产品项目(2012ZX01039-004)
-
文摘
在如今的软件开发中,开源软件的使用越来越普遍,但是对大型开源软件的理解和维护仍然是一项复杂的工作.开源软件通常缺乏完善的文档和注释,想要完整的理解开源系统难度较大,研究界产生了一种通过分析大型开源软件的源代码,进而深入理解系统,发现和修复系统漏洞的软件分析型任务.源代码分析注释是软件分析型任务的一项重要产出,它是一种以注释形式存在的细粒度代码分析报告,数量庞大,难以快速做出质量评价.在传统的软件质量评价中,对注释的评价通常局限于覆盖度和文本长度,不能满足源代码分析注释质量评价的要求.为了更好的评价源代码分析注释的质量,本文结合现有的对代码注释质量评价的研究以及信息质量领域的评价方法,提出了一种综合考虑客观质量属性和主观质量属性的质量评价框架.结合实际的项目数据分析,本文的方法可以更有效的检测出注释中的冗余以及无关内容,发现相关质量问题,从而对源代码分析注释进行更全面的质量评价.
-
关键词
代码分析注释
质量度量
质量分析
注释分析
-
Keywords
code analysis comments
quality measurement
quality analysis
comment analysis
-
分类号
TP311.52
[自动化与计算机技术—计算机软件与理论]
-
-
题名一种用于代码注释自动生成的语法辅助复制机制
被引量:3
- 10
-
-
作者
许柏炎
蔡瑞初
梁智豪
-
机构
广东工业大学计算机学院
-
出处
《计算机工程》
CAS
CSCD
北大核心
2021年第4期92-99,共8页
-
基金
国家自然科学基金(61876043)
广东省自然科学基金(2014A030306004,2014A030308008)
+3 种基金
广东特支计划(2015TQ01X140)
NSFC-广东联合基金(U1501254)
广州市珠江科技新星专项(201610010101)
广州市科技计划项目(201902010058)。
-
文摘
现有代码注释生成方法的复制机制未考虑源代码复杂多变的语法结构,导致存在准确率和鲁棒性不高等问题。通过改进指针网络使其支持结构化数据输入,提出一种语法辅助复制机制,以用于代码注释自动生成。该机制包含节点筛选策略和去冗余生成策略2个部分。节点筛选策略基于语法信息引入掩盖变量以过滤无效节点,从而降低指针网络对复杂语法的学习成本。去冗余生成策略基于时间窗口对节点概率进行动态调整,可解决代码自动注释中关键信息缺失的问题。实验结果表明,在WikiSQL数据集上,相比基准方法,该机制的BLEU、ROUGE-2和ROUGE-L指标值分别提升14.5%、10.3%和5.5%,在ATIS数据集上,上述指标值分别提升2.8%、6.6%和2.5%,验证了该机制的有效性以及引入语法信息的必要性。
-
关键词
代码注释生成
指针网络
自然语言生成
结构信息
复制机制
-
Keywords
code comment generation
pointer network
natural language generation
structured information
copy mechanism
-
分类号
TP312
[自动化与计算机技术—计算机软件与理论]
-