期刊文献+
共找到26篇文章
< 1 2 >
每页显示 20 50 100
基于CMM的软件质量保障平台定义框架 被引量:6
1
作者 殷新春 严芬 +1 位作者 汤克明 陈堎 《小型微型计算机系统》 CSCD 北大核心 2002年第11期1302-1305,共4页
随着计算机软件产业的形成和发展 ,软件质量保证受到越来越多的重视 .于是 ,一种专门针对软件开发组织的软件质量保证模型 CMM逐渐成为研究热点 .本文介绍了 CMM的思想 ,提出了基于 CMM的软件质量保障平台定义框架 ,最后给出了基于定义... 随着计算机软件产业的形成和发展 ,软件质量保证受到越来越多的重视 .于是 ,一种专门针对软件开发组织的软件质量保证模型 CMM逐渐成为研究热点 .本文介绍了 CMM的思想 ,提出了基于 CMM的软件质量保障平台定义框架 ,最后给出了基于定义部分结果构筑的在分布式协同环境下实现的系统结构框图 . 展开更多
关键词 CMM 软件质量保障 软件开发组织 开发过程 成熟度模型
在线阅读 下载PDF
基于CMM模型的软件质量保障支撑平台框架 被引量:4
2
作者 韩杰 顾庆 +1 位作者 陈道蓄 谢立 《计算机科学》 CSCD 北大核心 2001年第1期12-15,共4页
1 背景 二十一世纪是计算机世纪,软件产业将是新世纪的支柱产业.然而迄今为止,软件产品的生产效率和产品质量问题仍然严重阻碍着世界范围内的软件产业的发展.虽然人们不断地展开新方法和新技术的研究与应用,但仍未取得突破性的进展.在... 1 背景 二十一世纪是计算机世纪,软件产业将是新世纪的支柱产业.然而迄今为止,软件产品的生产效率和产品质量问题仍然严重阻碍着世界范围内的软件产业的发展.虽然人们不断地展开新方法和新技术的研究与应用,但仍未取得突破性的进展.在总结了数十年的经验教训后人们发现,软件开发组织的基本问题不在于新技术的采用,而在于软件的生产过程本身基本处于无序的状态,没有一套成熟的规章和标准可循,用以有效地管理软件生产过程. 展开更多
关键词 软件工程 软件质量保障平台 CMM模型 软件开发
在线阅读 下载PDF
软件质量保障平台中基于RBAC的统一身份认证应用研究 被引量:6
3
作者 严晓光 王小刚 +1 位作者 陈卓宁 张金 《计算机工程与科学》 CSCD 北大核心 2009年第3期97-100,共4页
通过分析软件质量保障平台在广域网环境下升级扩展所面临的身份认证与权限控制问题,本文提出了一种基于RBAC的统一身份认证的解决方案,以Windows域服务器为基础实现用户单点登录、用户管理分层控制,以及用户、角色和权限之间的相互映射... 通过分析软件质量保障平台在广域网环境下升级扩展所面临的身份认证与权限控制问题,本文提出了一种基于RBAC的统一身份认证的解决方案,以Windows域服务器为基础实现用户单点登录、用户管理分层控制,以及用户、角色和权限之间的相互映射,满足软件质量保障平台在广域网环境下对安全性及易用性等基本要求。 展开更多
关键词 基于角色的访问控制 统一身份认证 软件质量保障平台
在线阅读 下载PDF
第三方软件质量保障的实施研究 被引量:2
4
作者 苟娟琼 陈学东 关忠良 《计算机工程》 CAS CSCD 北大核心 2002年第4期79-82,共4页
针对国内软件开发管理现状,所开展的第三方软件质量保障(SQA)的实践工作和实施研究仍处于起步阶段。在总结实际工作的基础上,提出了基于软件开发过程管理,与开发小组同步的SQA工作流程,以及为确保实施成功所采取的技术策略和非技术策略。
关键词 软件能力成熟度模型 第三方软件质量保障 软件工程 软件开发
在线阅读 下载PDF
基于Git日志的即时软件质量分析框架 被引量:2
5
作者 黄纬 黄晓华 +2 位作者 张源 陈翔 钱柱中 《吉林大学学报(理学版)》 CAS 北大核心 2022年第1期135-142,共8页
首先,针对目前现有技术无法自动抽取软件仓库、标记数据、构建质量分析模型和分析软件质量的问题,提出一个针对Python项目的即时软件质量分析框架GIF.其次,基于GIF抽取并标注GitHub上最受欢迎的前10个Python项目,使用3个经典分类器(逻... 首先,针对目前现有技术无法自动抽取软件仓库、标记数据、构建质量分析模型和分析软件质量的问题,提出一个针对Python项目的即时软件质量分析框架GIF.其次,基于GIF抽取并标注GitHub上最受欢迎的前10个Python项目,使用3个经典分类器(逻辑回归,朴素Bayes和随机森林)在AUC和F_(1)值评价指标上进行实验验证.实验结果表明,GIF框架可即时、有效地识别Python项目中的软件缺陷,是一个方便使用的即时软件质量分析框架. 展开更多
关键词 软件质量保障 即时软件质量分析 Python项目 GIF框架
在线阅读 下载PDF
静态软件缺陷预测方法研究 被引量:126
6
作者 陈翔 顾庆 +2 位作者 刘望舒 刘树龙 倪超 《软件学报》 EI CSCD 北大核心 2016年第1期1-25,共25页
静态软件缺陷预测是软件工程数据挖掘领域中的一个研究热点.通过分析软件代码或开发过程,设计出与软件缺陷相关的度量元;随后,通过挖掘软件历史仓库来创建缺陷预测数据集,旨在构建出缺陷预测模型,以预测出被测项目内的潜在缺陷程序模块... 静态软件缺陷预测是软件工程数据挖掘领域中的一个研究热点.通过分析软件代码或开发过程,设计出与软件缺陷相关的度量元;随后,通过挖掘软件历史仓库来创建缺陷预测数据集,旨在构建出缺陷预测模型,以预测出被测项目内的潜在缺陷程序模块,最终达到优化测试资源分配和提高软件产品质量的目的.对近些年来国内外学者在该研究领域取得的成果进行了系统的总结.首先,给出了研究框架并识别出了影响缺陷预测性能的3个重要影响因素:度量元的设定、缺陷预测模型的构建方法和缺陷预测数据集的相关问题;接着,依次总结了这3个影响因素的已有研究成果;随后,总结了一类特殊的软件缺陷预测问题(即,基于代码修改的缺陷预测)的已有研究工作;最后,对未来研究可能面临的挑战进行了展望. 展开更多
关键词 软件质量保障 软件缺陷预测 软件度量元 机器学习 数据集预处理
在线阅读 下载PDF
基于文件粒度的多目标软件缺陷预测方法实证研究 被引量:15
7
作者 陈翔 赵英全 +2 位作者 顾庆 倪超 王赞 《软件学报》 EI CSCD 北大核心 2019年第12期3694-3713,共20页
软件缺陷预测技术通过挖掘和分析软件库训练出软件缺陷预测模型,随后利用该模型来预测出被测软件项目内的缺陷程序模块,因此可以有效地优化测试资源的分配.在基于代价感知的评测指标下,有监督学习方法与无监督学习方法之间的预测性能比... 软件缺陷预测技术通过挖掘和分析软件库训练出软件缺陷预测模型,随后利用该模型来预测出被测软件项目内的缺陷程序模块,因此可以有效地优化测试资源的分配.在基于代价感知的评测指标下,有监督学习方法与无监督学习方法之间的预测性能比较是最近的一个热门研究话题.其中在基于文件粒度的缺陷预测问题中,Yan等人最近对Yang等人考虑的无监督学习方法和有监督学习方法展开了大规模实证研究,结果表明存在一些无监督学习方法,其性能要优于有监督方法.基于来自开源社区的10个项目展开了实证研究.结果表明:在同项目缺陷预测场景中,若基于ACC评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有105.81%和123.84%的提高;若基于POPT评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有35.61%和38.70%的提高.在跨项目缺陷预测场景中,若基于ACC评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有22.42%和34.95%的提高.若基于POPT评测指标,MULTI方法与最好的无监督方法和有监督方法相比,其预测性能平均有11.45%和17.92%的提高.同时,基于Huang等人提出的PMI和IFA评测指标,MULTI方法的表现与代价感知的指标相比存在一定的折衷问题,但仍好于在ACC和POPT评测指标下表现最好的两种无监督学习方法.除此之外,将MULTI方法与最新提出的OneWay和CBS方法进行了比较,结果表明,MULTI方法在性能上仍然可以显著优于这两种方法.同时,基于F1评测指标的结果也验证了MULTI方法在预测性能上的显著优越性.最后,通过分析模型构建的时间开销,表明MULTI方法的模型构建开销对开发人员来说处于可接受的范围之内. 展开更多
关键词 软件质量保障 软件缺陷预测 有监督学习 无监督学习 多目标优化
在线阅读 下载PDF
CMM实践中的软件开发过程与过程裁剪 被引量:9
8
作者 殷新春 汤克明 +1 位作者 严芬 陈崚 《小型微型计算机系统》 CSCD 北大核心 2003年第2期207-210,共4页
CMM要求软件组织的软件过程标准化 .不同的项目有不同的需求 ,允许对标准过程进行裁剪来适合一个特定的项目 .裁剪被错综复杂地联系到过程定义上 ,必须把过程定义与裁剪放在一起讨论 .为了便于进行过程定义 ,本文剖析了开发过程的一般特... CMM要求软件组织的软件过程标准化 .不同的项目有不同的需求 ,允许对标准过程进行裁剪来适合一个特定的项目 .裁剪被错综复杂地联系到过程定义上 ,必须把过程定义与裁剪放在一起讨论 .为了便于进行过程定义 ,本文剖析了开发过程的一般特性 。 展开更多
关键词 CMM 软件开发过程 过程裁剪 软件质量保障平台 软件工程
在线阅读 下载PDF
一种基于模型的软件系统监测方法 被引量:8
9
作者 邵津 邓芳 王千祥 《计算机研究与发展》 EI CSCD 北大核心 2010年第7期1175-1183,共9页
软件系统在运行过程中的状态和行为是否与其需求规约一致是衡量软件系统服务质量的一个关键指标.提出了一种使用基于模型的软件系统监测技术来保障软件质量的方法,其基本思路是及时发现系统在运行过程中出现的异常,为调整系统、保障软... 软件系统在运行过程中的状态和行为是否与其需求规约一致是衡量软件系统服务质量的一个关键指标.提出了一种使用基于模型的软件系统监测技术来保障软件质量的方法,其基本思路是及时发现系统在运行过程中出现的异常,为调整系统、保障软件服务质量提供依据.该方法以包含约束描述信息的监测模型为基础,基于一系列的转换规则,自动、半自动地将监测模型转换成相应的监测代码,并以合适的实现机制部署到被监测系统之上,从而提高软件系统监测的效果. 展开更多
关键词 软件维护 软件质量保障 软件系统监测 运行时验证 约束 模型
在线阅读 下载PDF
HFS:一种面向软件缺陷预测的混合特征选择方法 被引量:9
10
作者 陈翔 贺成 +1 位作者 王宇 管怀文 《计算机应用研究》 CSCD 北大核心 2016年第6期1758-1761,1766,共5页
在软件缺陷预测研究中,若考虑了大量度量元会造成数据集中含有大量特征,其中冗余特征和无关特征会降低缺陷预测模型的性能。提出一种两阶段混合特征选择方法 HFS,具体来说,首先基于特征子集评估器移除已有特征集中的无关特征和冗余特征... 在软件缺陷预测研究中,若考虑了大量度量元会造成数据集中含有大量特征,其中冗余特征和无关特征会降低缺陷预测模型的性能。提出一种两阶段混合特征选择方法 HFS,具体来说,首先基于特征子集评估器移除已有特征集中的无关特征和冗余特征,随后基于特征排序评估器进一步移除其中的无关特征。在实证研究中,以基于实际开发项目的数据集作为评测对象,以NONE、CFS和CAR三种方法作为与HFS方法比较的经典方法。最终基于三种不同类型的分类器(包括决策树法、支持向量机和最近邻法)上,发现HFS方法不仅能够选出更小规模的特征子集,而且在大部分情况下,尤其以决策树作为分类器时,能够有效提高缺陷预测模型的性能。 展开更多
关键词 软件质量保障 软件缺陷预测 特征选择方法 实证研究
在线阅读 下载PDF
基于并行工程的航空嵌入式软件测试过程研究 被引量:1
11
作者 丁振国 郭强 《中国测试技术》 2008年第5期39-41,共3页
航空嵌入式软件的不断推出对航空嵌入式软件测试提出了新的挑战,商业化的第三方软件测试面临着质量、进度、成本等问题,而良好的软件过程与持续的过程改进是解决这些问题的一个途径,从对并行工程的研究入手,将并行工程的方法运用到航空... 航空嵌入式软件的不断推出对航空嵌入式软件测试提出了新的挑战,商业化的第三方软件测试面临着质量、进度、成本等问题,而良好的软件过程与持续的过程改进是解决这些问题的一个途径,从对并行工程的研究入手,将并行工程的方法运用到航空嵌入式软件测试实践中,寻求基于并行工程的航空嵌入式软件测试过程,可以解决以上问题。 展开更多
关键词 并行工程 软件工程 软件质量保障 软件测试
在线阅读 下载PDF
FSDNP:针对软件缺陷数预测的特征选择方法 被引量:9
12
作者 李叶飞 官国飞 +3 位作者 葛崇慧 陈翔 倪超 钱柱中 《计算机工程与应用》 CSCD 北大核心 2019年第14期61-68,共8页
软件缺陷预测先前的研究工作主要关注软件缺陷分类问题,即判断一个软件模块是否含有缺陷。如何量化一个软件模块中含有软件缺陷的数量问题还未被很好地研究。针对该问题,提出了一种两阶段的软件模块缺陷数预测特征选择方法FSDNP:特征聚... 软件缺陷预测先前的研究工作主要关注软件缺陷分类问题,即判断一个软件模块是否含有缺陷。如何量化一个软件模块中含有软件缺陷的数量问题还未被很好地研究。针对该问题,提出了一种两阶段的软件模块缺陷数预测特征选择方法FSDNP:特征聚类阶段和特征选择阶段。在特征聚类阶段中,使用基于密度峰聚类的算法将高度相关的特征进行聚类;在特征选择阶段,设计了三种启发式的排序策略从簇中删除冗余的和无关的特征。在PROMISE数据集上,使用平均错误率和平均相对错误率指标,与6个经典的方法进行了比较。实验结果表明,FSDNP能够有效移除冗余的和无关的特征,构建高效的软件缺陷数预测模型。 展开更多
关键词 软件质量保障 软件缺陷数预测 特征选择 实证研究
在线阅读 下载PDF
基于重子节点抽象语法树的软件缺陷预测 被引量:8
13
作者 黄晓伟 范贵生 +1 位作者 虞慧群 杨星光 《计算机工程》 CAS CSCD 北大核心 2021年第12期230-235,248,共7页
在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度。提出基于重子节点抽象语法树的缺陷预测方法,在提取... 在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度。提出基于重子节点抽象语法树的缺陷预测方法,在提取节点信息时保留节点的类型信息和对应代码语义的值信息,并使用特殊字符串代替没有值信息的节点。通过树链剖分思想将AST分割为重子节点和轻子节点,优先选择重子节点作为序列化向量中的节点,同时利用深度学习网络学习节点序列中的源代码结构和语言实现软件缺陷预测。实验结果表明,与DFS方法相比,该方法在基于注意力机制的循环神经网络深度学习模型上的F1值和AUC值平均提升约3%和4%,具有更好的缺陷预测效果。 展开更多
关键词 软件质量保障 软件缺陷预测 代码表征 抽象语法树 深度学习
在线阅读 下载PDF
缺陷报告质量研究综述 被引量:1
14
作者 邹卫琴 张静宣 +2 位作者 张霄炜 陈林 玄跻峰 《软件学报》 EI CSCD 北大核心 2023年第1期171-196,共26页
在软件开发和维护过程中,缺陷修复人员通常根据由终端用户或者开发/测试者提交的缺陷报告来定位和修复缺陷.因此,缺陷报告本身的质量对修复人员能否快速准确定位并修复缺陷具有重要的作用.围绕缺陷报告质量的刻画及改进,研究人员开展了... 在软件开发和维护过程中,缺陷修复人员通常根据由终端用户或者开发/测试者提交的缺陷报告来定位和修复缺陷.因此,缺陷报告本身的质量对修复人员能否快速准确定位并修复缺陷具有重要的作用.围绕缺陷报告质量的刻画及改进,研究人员开展了大量的研究工作,但尚未进行系统性的归纳.旨在对这些工作进行系统性地梳理,展示该领域的研究现状并为未来的研究方向提供参考意见.首先,总结了已有缺陷报告存在的质量问题,如关键信息缺失、信息错误等;接着,总结了对缺陷报告质量进行自动化建模的技术;然后,描述了一系列对缺陷报告质量进行改进的方法;最后,对未来研究可能面临的挑战和机遇进行了展望. 展开更多
关键词 软件质量保障 缺陷定位与修复 缺陷报告质量 质量建模和改进
在线阅读 下载PDF
ORESP:基于有序回归的软件缺陷严重程度预测方法 被引量:2
15
作者 贾焱鑫 陈翔 +2 位作者 葛骅 杨光 林浩 《计算机应用研究》 CSCD 北大核心 2021年第6期1815-1818,共4页
为提高软件缺陷严重程度的预测性能,通过充分考虑软件缺陷严重程度标签间的次序性,提出一种基于有序回归的软件缺陷严重程度预测方法ORESP。该方法首先使用基于Spearman的特征选择方法来识别并移除数据集内的冗余特征,随后使用基于比例... 为提高软件缺陷严重程度的预测性能,通过充分考虑软件缺陷严重程度标签间的次序性,提出一种基于有序回归的软件缺陷严重程度预测方法ORESP。该方法首先使用基于Spearman的特征选择方法来识别并移除数据集内的冗余特征,随后使用基于比例优势模型的神经网络来构建预测模型。通过与五种经典分类方法的比较,所提的ORESP方法在四种不同类型的度量下均可取得更高的预测性能,其中基于平均0-1误差(MZE)评测指标,预测模型性能最大可提升10.3%;基于平均绝对误差(MAE)评测指标,预测模型性能最大可提升12.3%。除此之外,发现使用基于Spearman的特征选择方法可以有效提升ORESP方法的预测性能。 展开更多
关键词 软件质量保障 缺陷严重程度预测 有序回归 特征选择 分类
在线阅读 下载PDF
软件缺陷自动修复技术综述 被引量:19
16
作者 姜佳君 陈俊洁 熊英飞 《软件学报》 EI CSCD 北大核心 2021年第9期2665-2690,共26页
软件缺陷是软件开发和维护过程中不可避免的.随着现代软件规模的不断变大,软件缺陷的数量以及修复难度随之增加,为企业带来了巨大的经济损失.修复软件缺陷,成为了开发人员维护软件质量的重大负担.软件缺陷自动修复技术有希望将开发者从... 软件缺陷是软件开发和维护过程中不可避免的.随着现代软件规模的不断变大,软件缺陷的数量以及修复难度随之增加,为企业带来了巨大的经济损失.修复软件缺陷,成为了开发人员维护软件质量的重大负担.软件缺陷自动修复技术有希望将开发者从繁重的调试中解脱出来,近年来成为热门的研究领域之一.搜集了94篇该领域最新的高水平论文,进行了详细的分析和总结.基于缺陷修复技术在补丁生成阶段所使用的技术手段不同,系统性地将软件自动修复技术分为4大类,分别是基于启发式搜索、基于人工模板、基于语义约束和基于统计分析的修复技术.特殊地,根据对近几年最新研究的总结,首次提出了基于统计分析的技术分类,对已有分类进行了补充和完善.随后,基于对已有研究的分析,总结了该领域研究所面临的关键挑战及对未来研究的启示.最后,对缺陷修复领域常用的基准数据集和开源工具进行了总结. 展开更多
关键词 软件维护 软件质量保障 软件缺陷修复 程序调试 软件自动化
在线阅读 下载PDF
程序分析研究进展 被引量:53
17
作者 张健 张超 +8 位作者 玄跻峰 熊英飞 王千祥 梁彬 李炼 窦文生 陈振邦 陈立前 蔡彦 《软件学报》 EI CSCD 北大核心 2019年第1期80-109,共30页
在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析... 在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析等),特别是最近10余年的研究进展.进而介绍了针对不同类型软件(移动应用、并发软件、分布式系统、二进制代码等)的分析方法.最后展望了程序分析未来的研究方向和所面临的挑战. 展开更多
关键词 程序分析 软件质量保障 静态分析 动态分析
在线阅读 下载PDF
基于特征迁移和实例迁移的跨项目缺陷预测方法 被引量:16
18
作者 倪超 陈翔 +3 位作者 刘望舒 顾庆 黄启国 李娜 《软件学报》 EI CSCD 北大核心 2019年第5期1308-1329,共22页
在实际软件开发中,需要进行缺陷预测的项目可能是一个新启动项目,或者这个项目的历史训练数据较为稀缺.一种解决方案是利用其他项目(即源项目)已搜集的训练数据来构建模型,并完成对当前项目(即目标项目)的预测.但不同项目的数据集间会... 在实际软件开发中,需要进行缺陷预测的项目可能是一个新启动项目,或者这个项目的历史训练数据较为稀缺.一种解决方案是利用其他项目(即源项目)已搜集的训练数据来构建模型,并完成对当前项目(即目标项目)的预测.但不同项目的数据集间会存在较大的分布差异性.针对该问题,从特征迁移和实例迁移角度出发,提出了一种两阶段跨项目缺陷预测方法 FeCTrA.具体来说,在特征迁移阶段,该方法借助聚类分析选出源项目与目标项目之间具有高分布相似度的特征;在实例迁移阶段,该方法基于TrAdaBoost方法,借助目标项目中的少量已标注实例,从源项目中选出与这些已标注实例分布相近的实例.为了验证FeCTrA方法的有效性,选择Relink数据集和AEEEM数据集作为评测对象,以F1作为评测指标.首先,FeCTrA方法的预测性能要优于仅考虑特征迁移阶段或实例迁移阶段的单阶段方法;其次,与经典的跨项目缺陷预测方法 TCA+、Peters过滤法、Burak过滤法以及DCPDP法相比,FeCTrA方法的预测性能在Relink数据集上可以分别提升23%、7.2%、9.8%和38.2%,在AEEEM数据集上可以分别提升96.5%、108.5%、103.6%和107.9%;最后,分析了FeCTrA方法内的影响因素对预测性能的影响,从而为有效使用FeCTrA方法提供了指南. 展开更多
关键词 软件质量保障 软件缺陷预测 跨项目缺陷预测 迁移学习 特征迁移 实例迁移
在线阅读 下载PDF
活动流程查看器的研究与实现 被引量:2
19
作者 严芬 殷新春 陈崚 《计算机应用研究》 CSCD 北大核心 2002年第3期12-14,共3页
介绍了基于CMM和ISO 90 0 0族标准的分布式协同软件质量保障平台的工作过程和主要思想 。
关键词 软件质量保障 CMM ISO9000 软件开发过程 活动流程查看器
在线阅读 下载PDF
基于指针生成网络的代码注释自动生成模型 被引量:6
20
作者 牛长安 葛季栋 +3 位作者 唐泽 李传艺 周宇 骆斌 《软件学报》 EI CSCD 北大核心 2021年第7期2142-2165,共24页
代码注释在软件质量保障中发挥着重要的作用,它可以提升代码的可读性,使代码更易理解、重用和维护.但是出于各种各样的原因,有时开发者并没有添加必要的注释,使得在软件维护的过程中,往往需要花费大量的时间来理解代码,大大降低了软件... 代码注释在软件质量保障中发挥着重要的作用,它可以提升代码的可读性,使代码更易理解、重用和维护.但是出于各种各样的原因,有时开发者并没有添加必要的注释,使得在软件维护的过程中,往往需要花费大量的时间来理解代码,大大降低了软件维护的效率.近年来,多项工作利用机器学习技术自动生成代码注释,这些方法从代码中提取出语义和结构化信息后,输入序列到序列的神经网络模型生成相应的注释,均取得了不错的效果.然而,当前最好的代码注释生成模型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 指针生成网络
在线阅读 下载PDF
上一页 1 2 下一页 到第
使用帮助 返回顶部