期刊文献+
共找到15篇文章
< 1 >
每页显示 20 50 100
代码特征自动提取方法 被引量:7
1
作者 史志成 周宇 《计算机科学与探索》 CSCD 北大核心 2021年第3期456-467,共12页
神经网络在软件工程中的应用极大程度上缓解了传统的人工提取代码特征的压力。已有的研究往往将代码简化为自然语言或者依赖专家的领域知识来提取代码特征,简化为自然语言的处理方法过于简单,容易造成信息丢失,而引入专家制定启发式规... 神经网络在软件工程中的应用极大程度上缓解了传统的人工提取代码特征的压力。已有的研究往往将代码简化为自然语言或者依赖专家的领域知识来提取代码特征,简化为自然语言的处理方法过于简单,容易造成信息丢失,而引入专家制定启发式规则的模型往往过于复杂,可拓展性以及普适性不强。鉴于以上问题,提出了一种基于卷积和循环神经网络的自动代码特征提取模型,该模型借助代码的抽象语法树(AST)来提取代码特征。为了缓解因AST过于庞大而带来的梯度消失问题,对AST进行切割,转换成一个AST序列再作为模型的输入。该模型利用卷积网络提取代码中的结构信息,利用双向循环神经网络提取代码中的序列信息。整个流程不需要专家的领域知识来指导模型的训练,只需要将标注类别的代码作为模型的输入就可以让模型自动地学习如何提取代码特征。应用训练好的分类编码器,在相似代码搜索任务上进行测试,Top1、NDCG、MRR的值分别能达到0.560、0.679和0.638,对比当下前沿的用于代码特征提取的深度学习模型以及业界常用的代码相似检测工具有显著的优势。 展开更多
关键词 代码特征提取 代码分类 程序理解 相似代码搜索
下载PDF
基于提示学习的轻量化代码生成方法
2
作者 徐一然 周宇 《计算机科学》 CSCD 北大核心 2024年第6期61-67,共7页
代码自动生成是提高软件开发效率的有效途径之一,已有的研究一般将代码生成作为一项序列到序列的任务,并且大规模预训练语言模型的微调过程往往伴随着高昂的算力开销。文中提出了一种基于提示学习的轻量化代码生成方法(Prompt Learning ... 代码自动生成是提高软件开发效率的有效途径之一,已有的研究一般将代码生成作为一项序列到序列的任务,并且大规模预训练语言模型的微调过程往往伴随着高昂的算力开销。文中提出了一种基于提示学习的轻量化代码生成方法(Prompt Learning based Parameter-Efficient Code Generation,PPECG),该方法通过查询代码语料库中与当前需求最相似的结果作为提示,指导预训练语言模型进行代码生成,并且在该过程中固定模型的绝大多数参数以实现减少算力开销的目的。为了验证PPECG的有效性,文中选取了两个代码生成数据集,分别是CONCODE和Solidity4CG,通过计算生成结果的BLEU,CodeBLEU以及Exact Match值来验证PPECG的有效性,实验结果表明,PPECG有效地减少了微调时的显存开销,且在上述指标上基本接近甚至优于目前的SOTA方法,能够较好地完成代码生成的任务。 展开更多
关键词 代码生成 提示学习 预训练语言模型 信息检索 智能合约
下载PDF
基于联邦迁移的跨项目软件缺陷预测
3
作者 宋慧玲 李勇 张文静 《南京师大学报(自然科学版)》 CAS 北大核心 2024年第3期122-128,共7页
跨项目软件缺陷预测基于已标注的多源项目数据构建模型,可以解决软件历史数据不足和标注代价高的问题.但在传统跨项目缺陷预测中,源项目数据持有者为了保护软件数据的商业隐私,而导致的“数据孤岛”问题直接影响了跨项目预测的模型性能... 跨项目软件缺陷预测基于已标注的多源项目数据构建模型,可以解决软件历史数据不足和标注代价高的问题.但在传统跨项目缺陷预测中,源项目数据持有者为了保护软件数据的商业隐私,而导致的“数据孤岛”问题直接影响了跨项目预测的模型性能.本文提出基于联邦迁移的跨项目软件缺陷预测方法(FT-CPDP).首先,针对数据隐私泄露和项目间特征异构问题,提出基于联邦学习与迁移学习相结合的模型算法,打破各数据持有者间的“数据壁垒”,实现隐私保护场景下的跨项目缺陷预测模型.其次,在联邦通信过程中添加满足隐私预算的噪声来提高隐私保护水平,最后构建卷积神经网络模型实现软件缺陷预测.基于NASA软件缺陷预测数据集进行实验,结果表明与传统跨项目缺陷预测方法相比,本文提出的FT-CPDP方法在实现软件数据隐私保护的前提下,模型的综合性能表现较优. 展开更多
关键词 软件缺陷预测 联邦学习 迁移学习 差分隐私 卷积神经网络
下载PDF
用户评论驱动的语音测试数据生成方法 被引量:1
4
作者 曹冬玉 陶传奇 +1 位作者 郭虹静 黄志球 《小型微型计算机系统》 CSCD 北大核心 2023年第7期1382-1390,共9页
目前,语音识别的测试需要提供语音及其转录文本,测试语音需要涵盖各个场景下的语音输入,因此,测试语音的数量远远不够.鉴于用户评论中包含用户使用场景等可辅助测试的信息,文中提出一种用户评论驱动的语音测试数据生成方法.首先,爬取移... 目前,语音识别的测试需要提供语音及其转录文本,测试语音需要涵盖各个场景下的语音输入,因此,测试语音的数量远远不够.鉴于用户评论中包含用户使用场景等可辅助测试的信息,文中提出一种用户评论驱动的语音测试数据生成方法.首先,爬取移动应用市场中语音相关应用的用户评论,对其进行清洗和预处理.其次,提取评论中的语音属性并分析语音属性在评论中的组合.最后,通过数据蜕变对语音种子进行语音属性及其组合的变换,生成语音测试数据.文中对百度、阿里云和讯飞语音识别进行实验,通过语音种子与生成测试语音的输出结果是否一致来评估识别错误率.实验结果表明,生成的测试语音可以有效检测出三款语音识别软件中的错误行为. 展开更多
关键词 用户评论挖掘 测试数据生成 语音识别 数据蜕变测试
下载PDF
基于语义相似度的API使用模式推荐 被引量:5
5
作者 张云帆 周宇 黄志球 《计算机科学》 CSCD 北大核心 2020年第3期34-40,共7页
在软件开发过程中,复用应用程序编程接口(Application Programming Interface,API)可以提高软件开发效率,但是使用不熟悉的API是一项耗时且困难的挑战。已有的研究往往将API作为用户输入的查询,通过在语料库中搜索该API的使用模式来进... 在软件开发过程中,复用应用程序编程接口(Application Programming Interface,API)可以提高软件开发效率,但是使用不熟悉的API是一项耗时且困难的挑战。已有的研究往往将API作为用户输入的查询,通过在语料库中搜索该API的使用模式来进行推荐,但这并不符合开发人员的查询习惯。文中提出了一种基于自然语言语义相似度的API使用模式推荐方法(Semantic Similazing Based API Recommendation,SSAPIR)。该方法使用层次聚类算法来提取API使用模式,然后通过计算查询信息和API使用模式来描述信息之间的语意相似度,向开发人员推荐相关度高且被广泛使用的API使用模式。为了验证SSAPIR的有效性,文中从GitHub的高质量Java项目中提取9个流行的第三方API库的API使用模式以及API使用模式的描述信息,并根据这9个流行的第三方API库的自然语言查询进行API使用模式推荐。通过计算推荐结果的Hit@K准确率来验证SSAPIR的有效性,实验结果表明,层次聚类能有效提高推荐准确率,且SSAPIR在Hit@10平均准确率上达到了85.02%,优于现有研究工作,能够很好地完成API使用模式推荐任务,为开发人员输入的自然语言查询提供精准的API使用模式。 展开更多
关键词 API使用模式推荐 语义相似度 层次聚类
下载PDF
面向异常处理的代码智能化推荐
6
作者 林锴 陶传奇 黄志球 《计算机科学与探索》 CSCD 北大核心 2023年第3期667-677,共11页
为了保证软件的健壮性以及系统的可靠性,异常处理被广泛应用于软件开发过程中。开发者们希望选择合适的异常处理代码以防止出现程序崩溃或者内存泄漏等问题。然而开发者,尤其是新手,由于缺乏经验很难编写出正确或规范的异常处理代码。... 为了保证软件的健壮性以及系统的可靠性,异常处理被广泛应用于软件开发过程中。开发者们希望选择合适的异常处理代码以防止出现程序崩溃或者内存泄漏等问题。然而开发者,尤其是新手,由于缺乏经验很难编写出正确或规范的异常处理代码。为了协助开发者编写正确的异常处理代码,提出了面向异常处理的代码智能化推荐方法,即DeepEHCR。该方法通过构建API调用树来表示异常发生位置的上下文信息,然后根据上下文信息,利用自注意力网络推荐相应的异常处理策略。针对处理异常这一具体策略,利用Transformer模型进一步推荐处理异常相关的API序列。实验表明DeepEHCR在异常处理策略推荐和API序列推荐上都有较高的性能。在异常处理策略推荐方面,Accuracy、Precision、Recall以及F1-score的值分别达到了89.78%、89.98%、89.34%以及89.59%。在API序列推荐方面,Hit@1/3/5的值分别达到了57.83%、69.73%、74.79%。除此之外,DeepEHCR在修复真实的异常漏洞方面也优于现有研究工作。 展开更多
关键词 异常处理 代码推荐 自注意力网络 上下文代码
下载PDF
基于序列到序列模型的代码片段推荐 被引量:4
7
作者 闫鑫 周宇 黄志球 《计算机科学与探索》 CSCD 北大核心 2020年第5期731-739,共9页
在软件开发过程中,开发者经常会以复用代码的方式,提高软件开发效率。已有的研究通常采用传统的信息检索技术来实现代码推荐。这些方法存在自然语言查询的高层级的意图与代码的低层级的实现细节不匹配的问题。提出了一种基于序列到序列... 在软件开发过程中,开发者经常会以复用代码的方式,提高软件开发效率。已有的研究通常采用传统的信息检索技术来实现代码推荐。这些方法存在自然语言查询的高层级的意图与代码的低层级的实现细节不匹配的问题。提出了一种基于序列到序列模型的代码片段推荐方法DeepCR。该方法结合程序静态分析技术与序列到序列模型,训练自然语言查询生成模型,为代码片段生成查询,通过计算生成的查询和开发者输入的自然语言查询的相似度得分来实现代码片段推荐。所构建的代码库的数据来源于Stack Overflow问答网站,确保了数据的真实性。通过计算代码片段推荐结果的平均倒数排名(MRR)和Hit@K来验证方法的有效性。实验结果表明,DeepCR优于现有研究工作,能够有效提高代码片段推荐效果。 展开更多
关键词 程序静态分析 序列到序列模型 代码片段推荐
下载PDF
基于序列挖掘的Dockerfile规则自动提取工具
8
作者 詹威霖 周宇 《计算机系统应用》 2023年第7期293-298,共6页
Dockerfile定义了一组构建容器镜像的指令,这些指令指示了容器化的应用程序该如何构建.最近的研究表明Dockerfile存在相当多的质量问题.在本文中,我们提出了一种新的工具DMiner(Dockerfile Miner)来提取高质量Dockerfile中的隐含规则,... Dockerfile定义了一组构建容器镜像的指令,这些指令指示了容器化的应用程序该如何构建.最近的研究表明Dockerfile存在相当多的质量问题.在本文中,我们提出了一种新的工具DMiner(Dockerfile Miner)来提取高质量Dockerfile中的隐含规则,这些规则将有助于提升Dockerfile的质量.DMiner主要分为3个模块,分别负责Dockerfile的采集、过滤,Dockerfile的解析处理以及Dockerfile规则的挖掘提取,DMiner将Dockerfile解析成统一的序列表示并使用序列模式挖掘算法来提取规则.本工具对现有的Dockerfile数据集进行了扩充,同时新提取出了9条在其他工作未曾出现的规则,在真实数据集上的大量实验证明了该工具的有效性和高效性. 展开更多
关键词 Dockerfile 规则挖掘 DOCKER 配置文件
下载PDF
面向开源源码大数据的数据质量研究 被引量:3
9
作者 包盼盼 陶传奇 黄志球 《计算机科学与探索》 CSCD 北大核心 2020年第3期389-400,共12页
基于开源源码大数据进行代码生成、缺陷预测等是当前智能化软件开发方法与技术的重要研究内容。然而现有的关注点主要聚焦于各种推荐、预测等智能算法的研究,较少对研究所使用数据的质量进行评估与分析。大部分智能化软件开发研究的数... 基于开源源码大数据进行代码生成、缺陷预测等是当前智能化软件开发方法与技术的重要研究内容。然而现有的关注点主要聚焦于各种推荐、预测等智能算法的研究,较少对研究所使用数据的质量进行评估与分析。大部分智能化软件开发研究的数据来源于开源数据托管平台,受限于开发者自身水平,它们并不能保证都具有较高质量。根据"garbage in,garbage out",这会影响最终结果质量。源码数据的质量对相关的研究有重要影响,却没有得到足够的重视。针对上述问题,提出了一种面向开源源码大数据的方法块数据质量评估方法。首先研究如何定义和评估GitHub上抽取的源码的数据质量问题,然后对开源源码从不同维度进行质量评估。通过该源码数据质量评估方法可以帮助相关研究人员构建具有更高质量的数据集,进而提高智能化相关研究,比如代码生成、缺陷预测等的结果质量。 展开更多
关键词 编程智能化 开源大数据 源码数据 数据质量
下载PDF
面向不同软件制品的需求追踪方法研究综述 被引量:1
10
作者 陶传奇 张萌 +1 位作者 郭虹静 黄志球 《计算机学报》 EI CAS CSCD 北大核心 2022年第11期2393-2419,共27页
近年来,随着软件规模和复杂度的不断提升,软件系统在开发过程中产生了大量的需求文档、设计图、代码类、测试文档等中间产物,即软件制品,这些软件制品中蕴含着海量的数据信息.需求工程影响软件开发的整个生命周期,当软件需求不断变更时... 近年来,随着软件规模和复杂度的不断提升,软件系统在开发过程中产生了大量的需求文档、设计图、代码类、测试文档等中间产物,即软件制品,这些软件制品中蕴含着海量的数据信息.需求工程影响软件开发的整个生命周期,当软件需求不断变更时,软件制品呈现碎片分散化的形态,缺乏全局、统一的组织整理,软件制品间缺乏关联.因此,建立需求追踪关系可以显著提高软件开发与维护效率,这已经成为软件工程领域的研究热点.当前综述工作主要集中在需求追踪关系构建方法的描述,缺乏对软件生命周期过程中需求与不同软件制品间追踪关系建立的分析,导致了需求追踪关系类型的单一性.针对该问题,本文采用系统性文献综述的方法,以需求追踪研究为核心,选取近10年来的135篇研究文献,从软件生命周期与制品类型角度,分析需求与不同软件制品间追踪关系的构建方法、应用现状与发展趋势,并将需求追踪技术在真实软件开发项目中进行应用,提高智能化软件开发效率.首先,依据软件全生命周期的各个阶段,本文对软件制品按文本内容分为文档级软件制品、代码级软件制品以及产品级软件制品,重点分析需求与文档级软件制品、需求与代码、需求与非特定软件制品间追踪关系建立技术的研究进展及研究效果;其次,总结相关文献中的实验数据集、工具研发情况以及需求追踪技术的应用场景;接着,通过智能化软件开发项目中真实的案例分析,讨论了需求追踪技术在提高软件开发效率方面的有效性.最后,本文对未来值得关注的研究方向进行展望,包括追踪链接类型、追踪方法以及自动化工具,便于研究人员进一步研究. 展开更多
关键词 需求追踪技术 软件制品 信息检索 机器学习 智能化软件开发
下载PDF
基于累积前景理论和三支决策的无人机态势评估
11
作者 李伟湋 高培雪 +1 位作者 陈进 路玉卿 《上海交通大学学报》 EI CAS CSCD 北大核心 2022年第11期1479-1490,共12页
现有的无人机态势评估方法没有考虑复杂外界环境对决策者的影响,并且通常只能得到评估的排序结果,决策者需要在短时间内进行决策,常出现误判或错失打击窗口期.针对该问题,提出一种基于累积前景理论的三支决策模型.首先,通过直觉模糊接... 现有的无人机态势评估方法没有考虑复杂外界环境对决策者的影响,并且通常只能得到评估的排序结果,决策者需要在短时间内进行决策,常出现误判或错失打击窗口期.针对该问题,提出一种基于累积前景理论的三支决策模型.首先,通过直觉模糊接近于理想值的排序方法求取目标的条件概率,得到态势评估结果;之后基于累积前景理论对无人机获取的直觉模糊态势信息进行计算,得到每个目标执行不同动作时对应的累积前景价值;最后,基于累积前景价值最大化的原则,推导出新的三支决策规则,对态势评估结果进行三支划分.实验分析表明:该方法不仅得到了目标威胁排序,而且对目标威胁等级进行客观分类;同时在评估过程中考虑决策者的心理,得到符合决策者特质的目标威胁评估结果,为复杂多变的空战提供一种合理的决策支持. 展开更多
关键词 无人机 三支决策 累积前景理论 态势评估 直觉模糊
下载PDF
基于变分自编码器的实验设计
12
作者 张志博 康达周 《计算机系统应用》 2022年第3期113-121,共9页
针对现有实验设计方法难以对复杂系统进行高效实验设计的问题,本文提出了一种基于变分自编码器的实验设计方法,首先利用实验历史记录数据训练变分自编码器将复杂的实验样本空间编码到一个较为简单的隐变量空间,然后在该隐变量空间里进... 针对现有实验设计方法难以对复杂系统进行高效实验设计的问题,本文提出了一种基于变分自编码器的实验设计方法,首先利用实验历史记录数据训练变分自编码器将复杂的实验样本空间编码到一个较为简单的隐变量空间,然后在该隐变量空间里进行取样,最后通过解码器还原产生新的实验样本,完成实验设计.通过对比本文方法与数种基准实验设计方法的结果在拟合直航鱼雷命中模型时的表现情况,表明在取相同样本数的情况下,本文方法可以优化实验设计,提高实验效率. 展开更多
关键词 复杂系统 实验设计 变分自编码器 支持向量回归
下载PDF
基于情境感知的API个性化推荐 被引量:1
13
作者 陈晨 周宇 +1 位作者 王永超 黄志球 《计算机科学》 CSCD 北大核心 2021年第12期100-106,共7页
在软件开发的过程中,开发人员在遇到编程困境时通常会检索合适的API来完成编程任务。情境信息和开发者画像在有效的API推荐中起着至关重要的作用,却在很大程度上被忽视了。因而文中提出了一种基于情境感知的API个性化推荐方法。该方法... 在软件开发的过程中,开发人员在遇到编程困境时通常会检索合适的API来完成编程任务。情境信息和开发者画像在有效的API推荐中起着至关重要的作用,却在很大程度上被忽视了。因而文中提出了一种基于情境感知的API个性化推荐方法。该方法利用程序静态分析技术,对代码文件做抽象语法树解析,提取信息构建代码库,并对开发者API使用偏好建模。然后计算开发者当前查询语句与历史代码库中查询的语义相似度,检索出top-k个相似历史查询。最终利用查询语句信息、方法名信息、情境信息以及开发者API使用偏好信息对API进行重排序并推荐给开发者。通过模拟编程任务开发的不同阶段,使用MRR,MAP,Hit, NDCG评估指标来验证所提方法的有效性。实验结果表明,所提方法的API推荐效果优于基准方法,能够为开发者推荐更想要的API。 展开更多
关键词 API推荐 程序静态分析 情境感知 开发者画像
下载PDF
基于主动学习的跨项目软件缺陷预测方法
14
作者 米文博 李勇 陈囿任 《科学技术与工程》 北大核心 2022年第32期14275-14281,共7页
通过软件缺陷预测可以有效地提高软件测试效率,保证软件产品的质量。针对新开发的项目面临训练数据不足,标注代价高以及源项目与目标项目的缺陷模式难以匹配的问题,提出了基于主动学习的跨项目软件缺陷预测方法。首先使用主动学习方法... 通过软件缺陷预测可以有效地提高软件测试效率,保证软件产品的质量。针对新开发的项目面临训练数据不足,标注代价高以及源项目与目标项目的缺陷模式难以匹配的问题,提出了基于主动学习的跨项目软件缺陷预测方法。首先使用主动学习方法对目标项目进行筛选标注,其次将得到的标签集与跨项目数据进行数据融合和模式匹配,最后构建跨项目软件缺陷预测模型。采用真实的软件缺陷数据进行实验,在保证预测率的前提下,曲线下面积(area under curve, AUC)能够达到0.692,与传统方法相比综合性能均有显著提升。结果表明:所提方法可以通过模式匹配有效提高跨项目软件缺陷预测模型的性能。 展开更多
关键词 软件缺陷预测 跨项目预测 主动学习 软件缺陷模式 朴素贝叶斯算法
下载PDF
基于用户反馈的API推荐工具
15
作者 杨忻莹 周宇 《计算机系统应用》 2021年第8期237-242,共6页
在软件开发的过程中,开发人员经常会检索合适的API来完成编程任务.为了提高软件开发效率,大量API推荐方法及工具应运而生.然而,这些方法大多数都没有考虑用户交互信息.本文提出了一个基于客户端/服务器架构的API推荐工具,将其以插件的... 在软件开发的过程中,开发人员经常会检索合适的API来完成编程任务.为了提高软件开发效率,大量API推荐方法及工具应运而生.然而,这些方法大多数都没有考虑用户交互信息.本文提出了一个基于客户端/服务器架构的API推荐工具,将其以插件的形式集成到VS Code IDE中.本工具使用现有的API推荐工具生成初始API推荐列表,结合用户反馈信息,利用排序学习和主动学习技术对API推荐列表进行重新排序,实现了用户个性化推荐.大量实验证明,随着反馈数据量的增加,本工具的性能稳步提升. 展开更多
关键词 API推荐 用户反馈 排序学习 主动学习
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部