栏目文章信息

    计算机软件技术 栏目所有文章列表
    (按年度、期号倒序)
        一年内发表的文章 |  两年内 |  三年内 |  全部
    Please wait a minute...
    选择: 显示/隐藏图片
    1. 基于混合代码表示的源代码脆弱性检测
    张琨, 杨丰玉, 钟发, 曾广东, 周世健
    《计算机应用》唯一官方网站    2023, 43 (8): 2517-2526.   DOI: 10.11772/j.issn.1001-9081.2022071135
    摘要344)   HTML12)    PDF (1958KB)(165)    收藏

    软件脆弱性对网络与信息安全产生了极大的威胁,而脆弱性的根源在于软件源代码。因为现有的传统静态检测工具和基于深度学习的检测方法没有完整地表示代码特征,并且简单地使用词嵌入方法转换代码表示,所以检测结果准确率低,误报率高或漏报率高。因此,提出了一种基于混合代码表示的源代码脆弱性检测方法来解决代码表示不完整的问题,并提升检测性能。首先将源代码编译为中间表示(IR),并提取程序依赖图;然后基于数据流和控制流分析进行程序切片来得到结构化的特征,同时使用doc2vec嵌入节点语句得到非结构化的特征;接着使用图神经网络(GNN)对混合特征进行学习;最后使用训练好的GNN进行预测和分类。为了验证所提方法的有效性,在软件保证参考数据集(SARD)和真实世界数据集上进行了实验评估,检测结果的F1值分别达到了95.3%和89.6%。实验结果表明,所提方法有较好的脆弱性检测能力。

    图表 | 参考文献 | 相关文章 | 多维度评价
    2. 离散事件系统最优监督控制算法
    胡瑜洪, 王德光, 何家汉, 张志恒
    《计算机应用》唯一官方网站    2023, 43 (7): 2271-2279.   DOI: 10.11772/j.issn.1001-9081.2022060884
    摘要215)   HTML1)    PDF (3280KB)(158)    收藏

    离散事件系统的监控器可以通过禁止可控事件来使系统满足安全性和活性规范。然而,监控器并不对允许发生的可控事件主动进行选择,所以存在同时允许多个可控事件发生的情况。但在实际应用中,如交通调度、机器人路径规划中,要求系统在每个状态下最多只允许一个可控事件的发生。针对上述问题,引入一种最优机制来量化控制成本,并提出一种离散事件系统最优监督控制算法,以确保系统的安全性和活性,并使事件执行累计的成本最小。首先,给定受控系统和行为约束的自动机模型,并基于Ramadge和Wonham的监督控制理论求解出无阻塞和行为最大许可的监控器;其次,通过定义的成本函数为监控器中每个事件的执行赋予相应成本;最后,利用动态规划思想迭代计算求解出最优定向监控器,从而实现每个状态下最多发生一个可控事件和事件执行累计的成本最小的目标。使用单向列车导轨案例和多轨道列车控制案例来验证所提算法的有效性和正确性。对于上述两个案例,所提算法求解的定向监控器到达目标状态所需的事件执行累计的成本分别为26.0和14.0,低于贪心算法的27.5和16.0,以及Q-learning算法的26.5和14.0。

    图表 | 参考文献 | 相关文章 | 多维度评价
    3. 基于行为轮廓和逻辑Petri网的模型修复方法
    张昊宇, 王丽丽
    《计算机应用》唯一官方网站    2023, 43 (8): 2527-2536.   DOI: 10.11772/j.issn.1001-9081.2022070980
    摘要181)   HTML6)    PDF (4583KB)(48)    收藏

    现实中的业务流程不断发生变化,需要对初始的业务流程模型进行修复以更好地表示实际业务流程。模型修复的关键步骤是分析现实日志和模型间的偏差,目前寻找偏差的方法主要采用对齐重演技术,未从行为的角度定量分析抽象的结构。因此,提出了一种通过行为轮廓分析日志和模型偏差的方法,并在此基础上进一步给出了基于逻辑Petri网的模型修复方法。首先,基于行为轮廓计算日志和模型间的服从度以识别偏差迹;然后,在偏差迹中依据偏差三元组集从偏差活动中选择逻辑变迁;最后,基于逻辑变迁设置逻辑函数,并通过添加新的分支或重构新的结构来修复原模型。对修复模型的适应度和精确度进行了验证,仿真实验结果表明,在尽可能保持修复模型与原始模型相似的基础上,相较于Fahland方法与Goldratt方法,所提修复方法在适应度都为1的情况下,得到的修复模型具有更高的精确度。

    图表 | 参考文献 | 相关文章 | 多维度评价
    4. 体系结构动态变化的软件测试资源分配算法
    李磊, 张国富, 苏兆品, 岳峰
    《计算机应用》唯一官方网站    2023, 43 (7): 2261-2270.   DOI: 10.11772/j.issn.1001-9081.2022060824
    摘要161)   HTML3)    PDF (1050KB)(58)    收藏

    测试资源分配是软件测试中的一个核心问题。已有相关研究大都假设软件的体系结构是静态不变的,且几乎没有考虑成本约束。针对该问题,提出一种体系结构动态变化的软件测试资源分配算法。首先构建了一种体系结构动态变化的多阶段多目标多约束测试资源分配模型;然后基于参数重估计、广义差分进化,在算法中加入了种群重新初始化,该方法能减小算法搜索空间并提升算法性能;最后在算法中加入了一种新的修复处理机制,该机制能有效剔除算法产生的无效解。与归一化加权求和多目标差分进化(WNS-MODE)算法和基于第三代广义差分进化的动态测试资源分配(DTRA-GDE3)算法相比,所提算法获得的解集的容量值分别提高了约11.81倍和0.39倍。在覆盖值指标方面,所提算法完全覆盖了WNS-MODE算法,并且相对于DTRA-GDE3算法提高了81个百分点。在超体积值指标方面,所提算法分别提高了近6倍和9倍。实验结果表明,所提算法能够更好地适应软件体系结构的动态变化,可为软件产品的动态测试提供更多和更优的测试资源分配方案,并满足用户需求的动态变化。

    图表 | 参考文献 | 相关文章 | 多维度评价
    5. 基于协同融合网络的代码搜索模型
    宋其洪, 刘建勋, 扈海泽, 张祥平
    《计算机应用》唯一官方网站    2023, 43 (12): 3896-3902.   DOI: 10.11772/j.issn.1001-9081.2022111783
    摘要117)   HTML5)    PDF (1457KB)(80)    收藏

    搜索并重用相关代码可以有效提高软件开发效率。基于深度学习的代码搜索模型通常将代码片段和查询语句嵌入同一向量空间,通过计算余弦相似度匹配并输出相应代码片段;然而大多数模型忽略了代码片段与查询语句间的协同信息。为了更全面地表征语义信息,提出一种基于协同融合的代码搜索模型BofeCS。首先,采用BERT(Bidirectional Encoder Representations from Transformers)模型提取输入序列的语义信息并将它表征为向量;其次,构建协同融合网络提取代码片段和查询语句间分词级的协同信息;最后,构建残差网络缓解表征过程中的语义信息丢失。为验证BofeCS的有效性,在多语言数据集CodeSearchNet上进行实验。实验结果表明,相较于基线模型UNIF(embedding UNIFication)、TabCS(Two-stage attention-based model for Code Search)和MRCS(Multimodal Representation for neural Code Search),BofeCS的平均倒数排名(MRR)、归一化折损累计增益(NDCG)和前k位成功命中率(SR@k)均有显著提高,其中MRR值分别提升了95.94%、52.32%和16.95%。

    图表 | 参考文献 | 相关文章 | 多维度评价
    6. 基于蚁群算法优化反向传播神经网络的软件质量预测
    朱嘉豪, 郑巍, 杨丰玉, 樊鑫, 肖鹏
    《计算机应用》唯一官方网站    2023, 43 (11): 3568-3573.   DOI: 10.11772/j.issn.1001-9081.2022101600
    摘要111)   HTML3)    PDF (1715KB)(58)    收藏

    针对基于反向传播神经网络(BPNN)的软件质量预测模型存在收敛慢、模型精度不高的问题,提出一种基于蚁群算法优化BPNN的软件质量预测(SQP-ACO-BPNN)方法。首先,选择软件质量评价指标,确立软件质量评价体系;其次,采用BPNN构建初始软件质量预测模型,并利用蚁群优化(ACO)算法确定若干网络结构、网络初始连接权值和阈值;再次,给出网络结构评价函数,选择神经网络模型的最佳结构、网络初始连接权值和阈值;最后,通过BP算法训练该网络,得到最终的软件质量预测模型。在机载嵌入式软件质量预测数据上的实验结果表明,优化后的BPNN模型有效提高了预测的准确率、精确率、召回率和F1值,并且模型能够更快收敛,验证了SQP-ACO-BPNN方法的有效性。

    图表 | 参考文献 | 相关文章 | 多维度评价
    7. 面向深度学习应用的组件式开发框架的设计实现
    刘祥, 华蓓, 林飞, 魏宏原
    《计算机应用》唯一官方网站    2024, 44 (2): 526-535.   DOI: 10.11772/j.issn.1001-9081.2023020213
    摘要60)   HTML6)    PDF (4596KB)(52)    收藏

    针对目前深度学习应用缺少有效的开发与部署工具的问题,提出一个面向深度学习应用的组件式开发框架。所提框架根据应用的资源消耗类型进行功能拆分,使用评测引导的资源分配方案进行瓶颈消除,使用分步装箱方案兼顾高CPU利用率和低显存开销的功能放置。基于此框架开发的实时车牌号检测应用,在吞吐优先模式下GPU利用率达到82%,在延迟优先模式下平均应用延迟达到0.73 s,在三种模式下(吞吐优先模式、延迟优先模式以及吞吐/延迟的均衡模式)下,CPU平均利用率达到68.8%。实验结果表明,基于此框架能够进行硬件吞吐与应用延迟的平衡型配置,在吞吐优先模式下高效利用平台的计算资源,在延迟优先模式下满足应用的低延迟需求。相较于MediaPipe,使用本框架能够进行超实时的多人姿态估计应用开发,应用的检测帧率最高提升了1 077%。实验结果表明,所提框架能够作为CPU-GPU异构服务器上面向深度学习应用开发部署的有效解决方案。

    图表 | 参考文献 | 相关文章 | 多维度评价
    8. 基于UMCS树的UML类图的混合相似性度量
    袁中臣, 马宗民
    《计算机应用》唯一官方网站    2024, 44 (3): 883-889.   DOI: 10.11772/j.issn.1001-9081.2022111702
    摘要48)   HTML3)    PDF (2820KB)(35)    收藏

    软件重用是基于给定条件从存储库中检索以前开发的软件产品,检索基于相似性度量。UML(Unified Modeling Language)类图被广泛应用于软件设计,UML类图重用作为软件设计重用的核心而备受关注。因此,对UML类图的相似性开展研究。类图包含语义和结构信息。目前,UML类图的相似性研究主要集中在语义,也有个别讨论结构相似性,但没有考虑将语义和结构相结合。因此,提出一种结合语义和结构的混合相似性度量。鉴于UML类图的非形式化特征,将UML类图转换成图模型,搜索最大公共子图列表,构建了最大公共子图树,提出一个基于最大公共子图序列的混合相似性度量方法。针对概念公共子图和结构公共子图分别定义了语义匹配和结构匹配,并开展了相似性对比和基于相似性的分类质量比较实验,实验结果验证了所提出方法的优势。

    图表 | 参考文献 | 相关文章 | 多维度评价
2024年 44卷 3期
刊出日期: 2024-03-10
文章目录
过刊浏览
荣誉主编:张景中
主  编:徐宗本
副主编
:申恒涛 夏朝晖

国内邮发代号:62-110
国外发行代号:M4616
地址:四川成都双流区四川天府新区
   兴隆街道科智路1369号
   中科信息(科学城园区) B213
   (计算机应用编辑部)
电话:028-85224283-803
   028-85222239-803
网址:www.joca.cn
E-mail: bjb@joca.cn
期刊微信公众号
CCF扫码入会