首页期刊导航|计算机科学
期刊信息/Journal information
计算机科学
计算机科学

朱完元

月刊

1002-137X

jsjkx12@163.com

023-63500828

401121

重庆市渝北区洪湖西路18号

计算机科学/Journal Computer ScienceCSCD北大核心CSTPCD
查看更多>>本刊的读者对象是:大专院校师生,从事计算机科学与技术领域的科研、生产人员。办刊宗旨是:坚持“双百”方针,活跃计算机科学与技术领域的学术气氛,重点报导国内外计算机科学与技术的发展动态,为我国的计算机科学与技术立于世界之林、达到国际先进水平奋斗而矢志不渝。
正式出版
收录年代

    企业API网关热插拔插件的设计与实现

    王盛义
    784-790页
    查看更多>>摘要:为了解决微服务架构下传统API网关扩展能力弱、无法热更新等问题,对API网关扩展性进行研究分析,引入热插拔机制来实现企业API网关热插拔插件,同时,提出了一种企业API网关热插拔插件解决方案.实验结果表明,所提出的API网关的热插拔插件方案在支持网关插件热更新的同时不会对API网关的整体性能造成影响,也不会对业务功能的稳定性造成影响.目前,企业API网关已经在几十家大型企业得到应用,提供了身份鉴权、限流限速、协议转换、请求改写等30余种热插拔插件.通过企业API网关彻底解决了原有API网关无法热更新、热部署、难扩展等问题,减少了40%的重复开发工作,节省了30%运维成本,为企业API网关的进一步发展和应用提供了有益的参考,也为构建高效、安全、可扩展的企业API网关提供了新的思路.

    API网关插件热插拔OpenRestyNginx

    多线程C程序内存安全性动态分析方法

    严瑞陈哲
    791-796页
    查看更多>>摘要:随着软件结构越来越复杂以及其要求更高级别的并发量,出现了越来越多的多线程程序,同时C语言程序缺乏检测其内存安全的能力,进而导致C语言实现的程序可能会存在较多的隐藏漏洞,因此对多线程C程序的内存安全检测尤为的重要.较为前沿且可靠的检测内存安全的技术主要为动态分析技术,且现在对于多线程C程序内存安全检测的工具不是特别完善,错误检测不完全,性能不是很高.因此提出了基于指针的动态分析技术,同时结合无锁技术、源代码插桩技术实现了工具Movec来对多线程C程序的内存安全性进行检测,并且选取专业测试集来进行实验,验证了本工具对于多线程C程序检测内存安全是有效的,检测的错误更多且性能较为优秀.

    多线程内存安全动态分析源代码插桩

    基于跳表的secGear性能优化方法

    唐鑫狄农雨杨浩刘忻...
    797-801页
    查看更多>>摘要:机密计算自提出以来,已成为云计算安全问题的重要解决方案.其凭借为云用户提供一个隔离的可信执行环境(TEE),来保证代码和数据的机密性和完整性.但目前主流的机密计算技术存在I/O较慢等性能瓶颈,因此,如何提高机密计算的性能成为了研究热点.现有研究未从数据本身出发进行优化,并不适用于大数据的真实环境.在TEE中设计并实现了一种能够高效组织管理数据的跳表数据结构,以优化机密计算的运行效率,降低TEE中数据处理的开销.最后,通过在国产机密计算框架secGear中进行了对比实验,证明所提方法相比红黑树在数据顺序插入、删除、查找的时间开销方面分别获得了13.5%,10.5%以及1.9%的提升,相比链表在随机插入时性能也得到了明显的提升,能有效提高机密计算的运行效率,具有更好的实际应用意义.

    机密计算跳表secGear云安全

    基于推荐列表的缺陷文件识别

    王昭丹邹卫琴刘文杰
    802-809页
    查看更多>>摘要:缺陷定位是缺陷修复的关键步骤,同时也是一项繁琐的软件活动.现有的静态缺陷定位技术通常将缺陷定位视为一个检索任务,即为每个缺陷报告生成一份按照程序实体与缺陷相关度降序排列的可疑文件推荐列表.然而,开发人员仍需人工一一审查从而找到真正有缺陷的文件,这增加了定位的时间和成本.为解决这个问题,提出了一个相应的解决方案.首先运行主流的基于信息检索的静态缺陷定位技术来获得一个初始的可疑文件推荐列表;然后依据问题特性提出3类领域特征,并基于这3类特征构建一个机器学习模型,尝试从列表中识别出真正有缺陷(Truly Buggy)的源代码文件.在4个开源项目(Zoo-Keeper,OpenJPA,Tomcat,AspectJ)的2 558个bug上进行了实验,结果表明,在最初可疑文件推荐列表上可以获得72.6%~80.7%的真正有缺陷的文件预测准确率.同时探究了3类特征子集及各个特征在预测真正有缺陷的文件上的重要性,发现缺陷报告与源代码的关系特征更重要.

    缺陷报告缺陷定位机器学习信息检索缺陷文件

    矩阵乘法的GPU并行计算时耗模型与最优配置方法

    雷超刘江宋佳文
    810-817页
    查看更多>>摘要:水平矩阵乘竖直矩阵是科学计算及工程领域中的基本计算之一,很大程度上影响了整个算法的计算效率.GPU并行计算是迄今主流的并行计算方式之一,其底层设计使得GPU非常契合于大规模矩阵计算.迄今已经有许多研究基于GPU并行计算框架,针对矩阵的结构设计、优化矩阵乘法,但尚未有针对水平矩阵乘竖直矩阵的GPU并行算法及优化.此外,GPU核函数配置直接影响计算效率,但迄今针对最优核函数配置的研究极为有限,通常需要研究人员针对具体算法的计算特点启发式地设置.基于GPU的线程、内存模型,设计了一种并行水平矩阵乘竖直矩阵乘法PHVM.数值实验结果表明,在左乘矩阵的水平维度远远大于竖直维度时,PHVM要显著优于NVIDIAcuBLAS库中的通用矩阵乘法.进一步,基于GPU的硬件参数,建立了PHVM运行时间的核函数配置最优化理论模型.数值实验结果表明,该理论模型较为准确地描述了PHVM算法运行时间随核函数配置(网格大小、线程块大小)变换的变化趋势,且模型得出的理论最优核函数配置与实际最优运行核函数配置相符.

    矩阵乘法GPUCUDA核函数配置

    基于DNN模型输出差异的测试输入优先级方法

    朱进陶传奇郭虹静
    818-825页
    查看更多>>摘要:深度神经网络测试需要大量的测试数据来保证DNN的质量,但大多数测试输入缺乏标注信息,而且对测试输入进行标注会带来高昂的人工代价.为了解决标注成本的问题,研究人员提出了测试输入优先级方法,筛选高优先级的测试输入进行标注.然而,大多数优先级方法都受到有限情景的影响,例如难以筛选出高置信度的误分类输入.为了应对上述挑战,文中将差分测试技术应用于测试输入优先级,并提出了基于DNN模型输出差异的测试输入优先级方法(DeepDiff).DeepDiff首先构建一个与原始模型具有相同功能的差分模型,然后计算测试输入在原始模型与差分模型之间的输出差异,最后为输出差异较大的测试输入分配更高的优先级.在实验验证中,我们对4个广泛使用的数据集和相应的8个DNN模型进行了研究.实验结果表明,在原始测试集上,DeepDiff的有效性比基线方法平均高出13.06%,在混合测试集上高出39.69%.

    深度神经网络测试测试输入优先级差分测试模型输出差异

    Dilithium算法的FPGA高效扩展性优化

    燕云飞李斌魏源鑫张博林...
    826-834页
    查看更多>>摘要:为提高Dilithium在实际应用中的运行效率,提出了一种Dilithium算法的现场可编程门阵列(Field Programmable Gate Array,FPGA)高效扩展性优化实现.具体在以下几个方面进行优化:将KOA(Karatsuba-Offman-Algorithm)算法与快速模约减算法相结合,构成快速模乘单元,优化数论转换(Number TheoreticTransform,NTT)实现的大量多项式乘法;采用多RAM(Random Access Memory)存取参与运算的多项式系数,根据Dilithium算法的特点,设计了一种多项式系数读取策略,以快速、正确地读取RAM中的多项式系数.针对方案中的采样和散列工作,分析了SHAKE算法系列的特点,设计了一种低延迟可扩展的Keccak硬件架构,使得其能够根据输入信号的不同执行不同的SHAKE算法.实验结果表明,所提方案在频率方面相比其他方案提升了60.7%~131.9%,兼顾硬件的资源消耗和执行效率.

    Dilithium算法现场可编程门阵列数论变换硬件实现

    基于领域知识微调的缺陷报告严重性预测

    陈冰婷邹卫琴蔡碧瑜刘文杰...
    835-841页
    查看更多>>摘要:有效预测缺陷报告的严重性,对快速、准确分派缺陷报告,帮助开发人员及时发现并处理软件中的缺陷至关重要.现有主流的基于传统信息检索或通用预训练模型的缺陷报告严重性预测方法,存在忽略上下文语义或缺陷报告特性导致预测效果受限的问题.对此,提出一种基于领域知识微调的缺陷报告严重性预测方法.利用能充分考虑文本上下文语义的BERT预训练模型,并使用缺陷报告数据对其进行模型微调使其学习到相关的领域知识.微调后的BERT模型用于抽取缺陷报告的语义特征,随后使用支持向量机进行严重性预测模型的构建.在 Mozilla,Eclipse和Apache选取的共计15个项目上进行的实验表明,在准确率、召回率和F1值上,相较传统的信息检索方法,所提方法分别能提升4.5%~22.0%,3.0%~22.0%,4.0%~22.0%;相较通用BERT模型,微调后的BERT模型的准确率、召回率和F1值分别能够提高2.0%~5.1%,1.9%~5.1%,1.8%~5.0%.

    词嵌入BERT预训练模型缺陷报告微调严重性预测

    面向利润优化的软实时云服务调度与多服务器系统配置方法研究

    王添沈伟张功萱徐林丽...
    842-851页
    查看更多>>摘要:在云计算中,由于多核技术的不断革新,近年来有许多工作研究了基于多核处理器的多服务器系统.云服务提供商通过建立多服务器系统给用户提供云服务并优化云服务利润是目前云计算领域的一个热点问题,对这些问题的研究推动着云计算技术的不断发展.然而,现有的关于多服务器系统的研究要么局限于通过对多服务器计算资源的配置来优化云服务利润而忽视了云服务请求本身的可调度性,要么局限于开发服务请求调度策略来提升云服务利润而忽视了多服务器系统的动态扩展性.但若使用云服务请求调度与多服务器配置协同优化来提升云服务利润,则会使问题规模的复杂性呈指数增长.因此,为云服务提供商设计一个面向软实时云服务请求的云服务调度与多服务器配置方法是十分必要的.此外,现有的研究在配置多服务器系统时大多忽略了处理云服务请求会遭受瞬时故障的情况.而许多研究表明,软实时任务在遭受瞬时故障时会影响服务请求的执行结果从而影响云服务利润.本研究面向软实时云服务请求,针对云环境中普遍存在的计算性能异构的服务器资源,开发了一个基于深度搜索的灰狼算法来协同优化云服务请求调度和多服务器配置以最大化云服务利润.最后,为了验证所提方法的有效性,进行了大量实验,实证结果表明,与现有的基准方法相比,所提方法得到的云服务利润平均增加了6.83%.

    云计算多服务器系统配置云服务请求调度云服务利润最大化软错误可靠性

    基于深度强化学习的二进制代码模糊测试方法

    王栓奇赵健鑫刘驰武伟...
    852-858页
    查看更多>>摘要:漏洞挖掘是计算机软件安全领域的主要研究方向,其中模糊测试是重要的动态挖掘方法.为解决二进制代码漏洞挖掘中汇编代码体积庞大导致检测既困难又耗时、模糊测试效率低下等问题,提出基于深度强化学习的二进制代码模糊测试方法.首先将模糊测试过程建模为面向强化学习的多步马尔可夫决策过程,通过构建深度强化学习模型辅助模糊测试变异策略选择,实现对变异策略的动态优化.然后设计和搭建基于深度强化学习的二进制代码模糊测试平台,利用AFL实现模糊测试环境,并使用Keras-RL2库和OpenAI Gym框架实现深度强化学习算法和强化学习环境.最后通过实验分析来验证所提方法和测试平台的有效性和适用性,实验结果显示深度强化学习模型能够辅助模糊测试过程快速覆盖更多路径,能够暴露更多漏洞缺陷,显著提高二进制代码漏洞挖掘和定位的效率.

    二进制代码漏洞挖掘模糊测试深度强化学习测试平台