1974年1月创刊(月刊)
主管/主办:重庆西南信息有限公司
ISSN 1002-137X
CN 50-1075/TP
CODEN JKIEBK
编辑中心
    软件与数据库技术 栏目所有文章列表
    (按年度、期号倒序)
        一年内发表的文章 |  两年内 |  三年内 |  全部
    Please wait a minute...
    选择: 显示/隐藏图片
    1. 融合文本与分类信息的重复缺陷报告检测方法
    范道远, 孙吉红, 王炜, 涂吉屏, 何欣
    计算机科学    2019, 46 (12): 192-200.   DOI: 10.11896/jsjkx.181102232
    摘要547)      PDF(pc) (1743KB)(834)    收藏
    软件缺陷是软件出现错误、故障的根源。软件缺陷是需求分析不合理、编程语言不严谨、开发人员缺少经验等因素导致的。软件缺陷不可避免,提交缺陷报告是发现缺陷并改进缺陷的重要途径。缺陷报告是描述缺陷的载体,对缺陷报告的修复是完善软件的必要手段。维护人员和用户因同一缺陷重复提交报告,导致缺陷报告库中存在大量冗余的报告,手动分诊已无法适应越来越复杂的软件系统。重复缺陷报告检测能过滤缺陷报告库中冗余的重复报告,并将人力与时间投入到新的缺陷报告上。当前研究方法的预测准确率始终不高,其难点在于寻找一个合适且全面的方法来衡量缺陷报告之间的相似性。借鉴集成方法的思想,提出了一种基于文本信息、分类信息相融合的重复缺陷报告检测方法——BSO(combination of BM25F、LSI and One-Hot)。在数据预处理的基础上,文中将重复缺陷报告分割为文本信息域与分类信息域。在文本信息域上使用 BM25F与LSI算法,得到两个方法的相似性打分,运用相似性融合方法将两个方法的相似性打分进行整合;在分类信息域上使用One-Hot算法得到相似性打分。运用相似性融合方法,融合文本信息域与分类信息域的相似性打分,为每个缺陷报告对应一个重复缺陷报告推荐列表,并计算重复缺陷报告检测的准确率。 利用Python语言,在公开的数据集OpenOffice上与基线方法以及较新水平方法REP、DBTM进行对比。实验结果表明,与DBTM相比,本文方法的准确率平均提高了4.7%;与REP方法相比,本文方法的准确率平均提高了6.3%;与基线方法相比,本文方法的准确率提升较高。实验结果充分证明了BSO方法的有效性。
    参考文献 | 相关文章 | 多维度评价
    2. 一种基于重叠社区发现的软件特征提取方法
    刘春, 张国良
    计算机科学    2019, 46 (12): 201-207.   DOI: 10.11896/jsjkx.181001856
    摘要410)      PDF(pc) (1332KB)(682)    收藏
    近年来从软件产品的文本描述中提取软件特征获得了大量关注。考虑到产品文本描述中的句子能够更加清晰地表达一个特征的含义,并且文本描述中的每个句子可能会涉及多个软件特征,文中提出了一种通过发现软件产品文本描述中重叠的句子聚簇来提取软件特征的方法。基于复杂网络中的LMF重叠社区发现算法,所提方法通过自定义文本描述中句子之间的相识性度量,构建句子之间的相似性网络,然后发现句子相似性网络中的句子社区,实现对句子的聚类。每个句子社区蕴含一个软件特征,包含了所有潜在描述该软件特征的文本句子。所发现的句子社区可能存在重叠的句子,这些重叠句子同时涉及多个句子社区所蕴含的软件特征。进一步,为了帮助人们更好地理解句子社区所蕴含的特征,所提方法设计了相应的算法来从所有句子社区中依次选择熵最小的社区,并从所选社区中挑选最有代表性的、且其他社区还未选择的句子来作为一个社区所蕴含特征的描述符。文中爬取Softpedia.com网站的软件产品文本描述信息作为实验数据。实验结果表明,所提方法与现有代表性方法相比在准确性与时间方面具有更好的表现。
    参考文献 | 相关文章 | 多维度评价
    3. 一种动态约简的多目标测试用例优先级排序方法
    张娜, 徐海霞, 包晓安, 徐璐, 吴彪
    计算机科学    2019, 46 (12): 208-212.   DOI: 10.11896/jsjkx.181102106
    摘要281)      PDF(pc) (1327KB)(780)    收藏
    针对蚁群算法在求解MOTCP问题时存在收敛速度慢、易陷入局部最优等缺陷,提出了一种动态约简的在线指导蚁群信息素更新的多目标测试用例优先级排序方法。该方法引入一种动态约简的思想,首先根据各测试用例覆盖需求的情况,对覆盖有相同需求的初始测试用例集进行初次约简。其次,根据测试用例在执行过程中能否检测出错误以及检测出的错误的严重程度来设计一种测试用例失效度的判别方法,在蚁群每一次迭代后均对未检测出错误的测试用例进行二次约简,以减少下一轮迭代时蚁群需要经过的测试用例数,通过两次约简大幅度缩短排序时间。同时,在蚁群的每次迭代过程中,考虑测试用例的重要度、失效度和实际执行时间3个因子对下一轮信息素的影响,设计一种同时在3个影响因子下在线指导更新蚁群信息素的方法,使蚁群能够更快更准确地寻找到下一个测试用例。最后,将该方法、传统蚁群排序方法和多目标优化排序方法分别应用于多个开源软件程序进行实验比较。仿真实验结果表明,所提动态约简的在线更新信息素的优先级排序方法在缺陷检错能力以及有效执行时间等性能指标方面均有较大优势,能更早发现等级较高的错误。
    参考文献 | 相关文章 | 多维度评价
    4. 基于操作历史图的分布式Key-Value数据库一致性检测算法
    廖彬, 张陶, 李敏, 于炯, 国冰磊, 刘炎
    计算机科学    2019, 46 (12): 213-219.   DOI: 10.11896/jsjkx.181102097
    摘要425)      PDF(pc) (1753KB)(603)    收藏
    分布式数据库系统的副本机制在提高系统可靠性及性能的同时,导致了多副本数据管理的一致性问题;数据一致性的实现需要一致性协议模型来进行预防,也需要一致性检测算法对非一致数据进行检测。首先,对读写操作记录之间的时序关系、安全一致性及并行一致性原则等概念进行定义;其次,根据操作记录集合中读写操作之间的并行与时序关系,提取出操作记录集合向操作记录图转化的规则,并在此基础上设计了操作记录向历史记录图的转化算法;然后,以历史记录图为输入,设计了违反一致性查找算法,查找并返回图中所有违反安全与并行一致性读操作的集合;最后,基于Cassandra进行实验并将读写一致性设置为ONE,通过YCSB产生并行读写压力测试,与同类算法的对比实验验证了所提算法在功能与效率两方面的优越性。
    参考文献 | 相关文章 | 多维度评价
    5. 基于约束求解的代码查询技术在StackOverflow上的实证研究
    陈正钊, 姜人和, 潘敏学, 张天, 李宣东
    计算机科学    2019, 46 (11): 137-144.   DOI: 10.11896/jsjkx.191100501C
    摘要471)      PDF(pc) (1464KB)(770)    收藏
    代码查询在代码复用的过程中起着十分重要的作用,而面向程序员的专业问答网站StackOverflow上围绕代码的问答则是代码复用的一个典型场景。在这个现实场景中,采取的是人工回答的方式,而人工回答往往存在实时性较差、提问描述不准确、回答可用性不高等缺点,但如果采取代码查询的方式搜寻可用代码来实现自动化并替代人工回答,则可以省去大量的人力和时间成本。目前已经出现了许多代码查询技术,但大都缺少在真实案例上的应用经验,文中以Satsy的思路为参考,实现了针对Java语言的基于约束求解的代码查询技术,并设计了实证研究,以StackOverflow为研究对象,主要研究如何将基于约束求解的代码查询技术应用在该网站上围绕代码的问答中。首先对网站上的问题进行了分析,针对Java语言提取了浏览量高的35个问题作为查询问题;然后在GitHub上抓取了约3万行代码,将它们转换成约束的形式并构建了一个较大规模的代码库以支持代码查询;最后通过对这35个问题的查询结果进行分析,评估了该技术在StackOverflow上的实际应用效果。结果表明,该技术在所研究的具体问题和代码规模上具有较好的实际应用效果,在相当高的程度上能替代人工回答。
    参考文献 | 相关文章 | 多维度评价
    6. 基于日志可视化分析的微服务系统调试方法
    李文海, 彭鑫, 丁丹, 向麒麟, 郭晓峰, 周翔, 赵文耘
    计算机科学    2019, 46 (11): 145-155.   DOI: 10.11896/jsjkx.181102210
    摘要796)      PDF(pc) (2474KB)(1423)    收藏
    云计算时代,越来越多的企业开始采用微服务架构进行软件开发或者传统巨石应用改造。然而,微服务系统具有较高的复杂性和动态性,当系统出现故障时,目前没有方法或者工具能够有效支持对故障根源的定位。为此,文中首次提出通过调用链信息关联单次业务请求在所有服务上产生的业务日志,并在此基础上研究基于日志可视化分析的微服务系统调试方法。首先定义了微服务的日志模型,规范化微服务日志可视化分析所需要的数据信息;然后针对4种典型的微服务故障(有异常抛出的普通故障、无异常抛出的逻辑故障、服务异步调用序列未控制导致的故障以及服务多实例版本或状态不一致导致的故障)总结出5种可视化调试策略,用于支持对故障根源的定位,5种策略包括:单条调用链日志查看、不同调用链对比、服务异步调用分析、服务多实例分析以及调用链分段。为了实现服务异步调用分析和服务多实例分析,文中设计了两个算法,同时,设计并实现了一个原型工具LogVisualization。LogVisua-lization可以收集微服务系统运行时产生的日志信息、调用链数据以及集群的节点和服务实例信息,能够以较小的代码侵入性,实现通过调用链信息关联所有业务日志,支持用户使用5种策略进行可视化调试。最后,将该原型工具应用于实际的微服务系统,通过与现有工具(Zipkin+ELK)的实验对比,验证了该原型工具在4种微服务故障根源定位上的有用性和高效性。
    参考文献 | 相关文章 | 多维度评价
    7. 基于卷积神经网络的代价敏感软件缺陷预测模型
    邱少健, 蔡子仪, 陆璐
    计算机科学    2019, 46 (11): 156-160.   DOI: 10.11896/jsjkx.191100502C
    摘要498)      PDF(pc) (1522KB)(939)    收藏
    基于机器学习的软件缺陷预测方法受到软件工程领域学者们的普遍关注,通过缺陷预测模型可一定程度地分析软件中的缺陷分布,以此帮助软件质量保障团队发现软件中潜在的错误并合理分配测试资源。然而,现有多数的缺陷预测方法是基于代码行数、模块依赖程度、栈引用深度等人工提取的软件特征进行缺陷预测的。此类方法未考虑到软件源码中潜在的语义特征,可能导致预测效果不理想。为了解决以上问题,文中利用卷积神经网络挖掘源码中隐含的语义特征,并将其用于软件缺陷预测的任务中。在源码语义特征的有效挖掘方面,采用三层卷积神经网络提取数据抽象特征。在数据不平衡处理方面,采用代价敏感的方法,即分别给予正例与反例不同的权重,平衡正反例对模型训练的影响。在实验数据集方面,选取了开源缺陷标注数据集PROMISE中8个软件中的多个版本,合计19个项目。在模型性能比较方面,将提出的基于卷积神经网络的代价敏感软件缺陷预测模型(Cost-Sensitive Three-Layer Convolutional Neural Network,CS-TCNN)分别与逻辑回归、深度置信网络等模型进行比较,评估指标为在缺陷预测研究领域中普遍使用的AUC和MCC。实验结果充分说明了CS-TCNN能更有效地提取程序代码中的语义特征,进而提高软件缺陷预测模型的预测效果。
    参考文献 | 相关文章 | 多维度评价
    8. 基于校正因子的随机TBFL方法
    王蓁蓁, 刘嘉
    计算机科学    2019, 46 (11): 161-167.   DOI: 10.11896/jsjkx.191100503C
    摘要282)      PDF(pc) (1406KB)(654)    收藏
    运用测试集对程序错误语句定位的算法被统称为TBFL(Testing Based Fault Localization)方法。目前通用算法一般都没有利用测试员、程序员关于测试用例和程序的先验知识,致使这些“资源”被浪费。随机TBFL方法是一类新型TBFL方法,其精神就是在随机理论的框架下,把这些先验知识(抽象为先验分布)和实际测试活动结合起来,从而更好地定位程序错误语句。事实上,随机TBFL算法可以看成这类算法的一般“模式”,人们可以从这个一般框架里开发出不同的算法。文中方法就是将随机TBFL算法加以简化得到的,主要是从各个测试用例的具体测试活动着手,对程序变量X的先验概率加以校正,如果测试集里有n个用例,便可以得到程序变量Xn个校正值,将n个校正值效应迭加,并且标准化,即得到程序变量X的后验概率,用它作为寻找错误语句的向导。由于提出的简化算法是借助一个校正因子矩阵而得到的,因此所提算法被称为基于校正因子的随机TBFL方法。文中还提出了3个有关不同TBFL算法的比较标准,并依据它们在一些具体实例上的表现证实所提算法的有效性。
    参考文献 | 相关文章 | 多维度评价
    9. 改进的神经语言模型及其在代码提示中的应用
    张献, 贲可荣
    计算机科学    2019, 46 (11): 168-175.   DOI: 10.11896/jsjkx.191100504C
    摘要416)      PDF(pc) (1928KB)(741)    收藏
    语言模型旨在刻画文本段的发生概率,作为自然语言处理领域中的一类重要模型,近年来其被广泛应用于不同软件分析任务,例如代码提示。为提高模型对代码特征的学习能力,文中提出了一种改进的循环神经网络语言模型——CodeNLM。该模型通过分析词向量形式表示的源代码序列,能够捕获代码规律,实现对序列联合概率分布的估计。考虑到现有模型仅学习代码数据,信息的利用不充分,提出了附加信息引导策略,通过非代码信息的辅助来提高代码规律的刻画能力。针对语言建模任务的特点,提出了节点逐层递增策略,通过优化网络结构来改善信息传递的有效性。实验中,针对9个Java项目共203万行代码,CodeNLM得到的困惑度指标明显优于n-gram类模型和传统神经语言模型,在代码提示应用中得到的平均准确度(MRR指标)较对比方法提高了3.4%~24.4%。实验结果表明,CodeNLM能有效地实现程序语言建模和代码提示任务,并具有较强的长距离信息学习能力。
    参考文献 | 相关文章 | 多维度评价
    10. 用于软件缺陷预测的集成模型
    胡梦园, 黄鸿云, 丁佐华
    计算机科学    2019, 46 (11): 176-180.   DOI: 10.11896/jsjkx.180901685
    摘要376)      PDF(pc) (1263KB)(941)    收藏
    软件缺陷预测的目的是有效地识别出有缺陷的模块。对于类别平衡数据,传统的分类器具有较好的预测效果,但当数据类别比例分布不均衡时,传统的分类器往往偏向于多数类,易使得少数类模块被误分。但是,真实的软件缺陷预测中的数据往往是类别不平衡的。为了处理软件缺陷中的这种类别不平衡问题,文中提出了基于改进的类权自适应、软投票与阈值移动的集成模型,该模型在不改变原始数据集的情况下,从训练阶段和决策阶段同时考虑处理类别不平衡的问题。首先,在类权值学习阶段,通过类权自适应学习得到不同类的最优权值;然后,在训练阶段,使用前一步得到的最优权值训练3个基分类器,并通过软集成的方法组合3个基分类器;最后,在决策阶段,根据阈值移动模型来做出决策,以得到最终预测类别。为了证明所提方法的有效性,实验采用NASA软件缺陷标准数据集和Eclipse软件缺陷标准数据集进行预测,并在相同的数据集上将其与近年提出的几种软件缺陷预测方法在召回率值Pd、假正例率值PfF1度量值F-measure方面进行了对比。实验结果表明,所提方法的召回率Pd平均提高了0.09,F1度量值F-measure上平均提高了0.06。因此,文中提出的处理软件缺陷预测中类别不平衡问题的方法的整体性能优于其他软件缺陷预测方法,具有较好的预测效果。
    参考文献 | 相关文章 | 多维度评价
    11. 面向局域检索的时变图数据存储与查询模型
    赵萍, 寿黎但, 陈珂, 陈刚, 吴晓凡
    计算机科学    2019, 46 (10): 186-194.   DOI: 10.11896/jsjkx.19100530C
    摘要407)      PDF(pc) (1876KB)(799)    收藏
    时变图数据是实体间相互关联、实体属性和实体间关系会发生频繁变化的图结构数据,适用于电子商务的商品与用户关系表示、包含时间维度的知识图谱构建、企业组织架构管理等场景。针对建立时变图数据通用存储检索方案的挑战,文中提出了一种面向局域检索的模型方案,基于图数据库高效的关系检索能力以及分布式键值数据库在存储与查询方面的优势,实现了通用的可提供丰富表达能力的图数据历史存储检索系统。实验证明,所提方案在历史属性存储上具备显著的优势。
    参考文献 | 相关文章 | 多维度评价
    12. 基于冲突依赖消除的网络表格外键检测算法
    王佳敏, 王宁
    计算机科学    2019, 46 (10): 195-201.   DOI: 10.11896/jsjkx.180901748
    摘要379)      PDF(pc) (1590KB)(678)    收藏
    作为数据库中最重要的约束之一,外键关系对数据分析与集成有着重要的意义。大量的网络表格缺乏显式指定的外键,但外键关系对于理解和利用网络表格至关重要。目前的研究工作主要集中于对属性间包含依赖的查找,一些传统关系表格上的外键关系检测方法无法解决网络表格的异构性而产生的大量冲突外键。综合考虑网络表格间的冲突依赖,提出了一种基于冲突依赖消除的网络表格外键检测算法。首先提出冲突依赖的概念,据此对候选外键关系建立包含依赖图;然后构建包含依赖图的层结构,并给出候选外键关系的强度定义;最后在逐层消除冲突依赖的基础上,筛选出真正的外键关系。为验证算法的有效性,实验数据集分别选择了具有完整模式规范的WIKI数据集,以及缺少模式信息的DWTC数据集和WDC数据集。基于以上数据集,将提出的算法与其他两种外键检测方法进行精确率、召回率以及F值的对比。实验结果表明,提出的算法在WIKI数据集和DWTC数据集上的精确率、召回率和F值均高于现有算法;在最新的大型网络表格数据集WDC中,所提算法的精确率、召回率和F值高达0.89,0.88和0.89,且大大优于其他算法。因此,与现有的方法相比,所提算法更适用于网络表格,同时具备更高的精确率、召回率以及F值。
    参考文献 | 相关文章 | 多维度评价
    13. 云存储系统中最小开销的数据副本布局转换策略
    吴修国, 刘翠
    计算机科学    2019, 46 (10): 202-208.   DOI: 10.11896/jsjkx.180901623
    摘要356)      PDF(pc) (2045KB)(655)    收藏
    副本技术是提高云存储系统中数据可靠性访问和系统容错性的常用策略。依据用户需求以及环境变化,及时对数据副本布局进行动态调整,是目前副本管理研究的重要内容之一。然而,现有研究大都以副本布局转换是自动完成的为前提,仅关注于数据副本数目与位置等副本布局方案设计,较少涉及副本布局转换的任务调度问题。事实上,副本布局转换是有关多数据中心数据副本迁移与删除操作的复杂任务调度问题,不同的任务调度策略占用的空间、时间不同,由此导致成本、效率等存在较大差异。基于此,首先给出云存储系统中面向多数据中心的数据副本布局转换任务调度模型,以及该问题的可行性分析。然后,从降低成本的角度给出最小开销的数据副本布局转换任务调度问题的定义,并基于0-1背包问题证明其是NP完全的。在此基础上,给出随机(Random)、最小传输开销优先(MTCF)、最大机会成本优先(MOCF)以及同数据最小传输成本优先(MTCFSD)等副本布局转换任务调度策略。最后,以CloudSim为仿真平台进行了模拟实验,结果表明,最小开销的数据副本布局转换策略与同类算法相比,在传输次数上减少了约60%,相对开销降低了约50%,证明了转换策略的可靠性与有效性,从而进一步提升了云存储系统的性能。
    参考文献 | 相关文章 | 多维度评价
    14. 带有区间信息的软件质量评价模型
    岳川, 彭小红
    计算机科学    2019, 46 (10): 209-214.   DOI: 10.11896/jsjkx.180801554
    摘要260)      PDF(pc) (1775KB)(664)    收藏
    针对传统评价方法存在的缺陷,提出了一种新的软件质量评价模型。首先,针对已有投影模型存在的缺陷,给出了一个新的标准化的投影模型。在群决策环境下,使用区间数作为决策信息,借助所建的投影模型和TOPSIS (Technique for Order Preference by Similarity to Ideal Solution)技术,建立了一种软件质量的评价模型,并给出了详细的评价程序。评价模型包括评价矩阵、加权评价矩阵、正负理想决策、加权评价矩阵到理想决策的投影测度以及它们的相关系数,评价信息来源于问卷调查。通过一个实例和实验分析,验证了该方法的可行性和有效性。实验结果表明,该评价模型具有较强的实用性、较好的鲁棒性和容易操作的特性。
    参考文献 | 相关文章 | 多维度评价
    15. 一种结合AADL与Z的嵌入式软件可靠性建模与评估方法
    李蜜, 庄毅, 胡镡文
    计算机科学    2019, 46 (8): 217-223.   DOI: 10.11896/j.issn.1002-137X.2019.08.036
    摘要518)      PDF(pc) (1358KB)(857)    收藏
    在嵌入式软件开发早期,为其建立可靠性模型能够尽早发现软件设计中存在的问题,从而节约嵌入式软件开发成本。AADL从软件结构和故障传播两个角度来建立软件可靠性模型,但是AADL的半形式化性质使得基于AADL建立的可靠性模型难以对可靠性、安全性等非功能属性进行严格的分析与验证。形式规格说明语言Z语言具有很强的逻辑描述能力,能够精确表达软件中的各种约束,这使得基于Z语言建立的可靠性模型能够很好地进行严格的分析和验证。因此,考虑到AADL和Z的特征,文中提出了一种将AADL与Z相结合的形式化可靠性模型(embedded software Reliability Model combined with Z and AADL,ZARM),该模型具有AADL的描述能力和Z的精确性。文中给出了ZARM故障模型、结构模型和行为模型的建模方法,并在谓词中描述了与可靠性相关的数据约束。在ZARM模型的基础上,文中提出了一种面向概率的基于DTMC的可靠性评估方法,来对ZARM模型进行可靠性定量评估和分析。最后,通过一个飞行管理系统对应用ZARM模型进行可靠性建模的过程进行了说明,并采用所提评估方法对其进行了可靠性评估。评估结果与文献[19]结果的对比说明了所提方法的正确性和有效性。
    参考文献 | 相关文章 | 多维度评价
    16. 基于软件演化历史识别并推荐重构克隆的方法
    折蓉蓉, 张丽萍
    计算机科学    2019, 46 (8): 224-232.   DOI: 10.11896/j.issn.1002-137X.2019.08.037
    摘要500)      PDF(pc) (3458KB)(626)    收藏
    现有克隆代码重构研究局限于单一版本的静态分析,忽略了克隆代码的演化过程,这导致在克隆代码重构决策方面缺乏有效的方法。因此文中首先从克隆检测、克隆映射、克隆家系以及软件维护日志管理系统中提取与克隆代码密切相关的演化历史信息;其次识别出需要重构的克隆代码,同时识别出跟踪的克隆代码,然后提取与重构相关的静态特征和演化特征,并构建特征样本数据库;最后对比多种机器学习的方法对,选出效果最佳的分类器推荐重构克隆。在7款软件近170个版本上进行的实验表明,推荐重构克隆代码的准确度达到90%以上,这为软件开发和维护人员提供了更加准确、合理的代码重构建议。
    参考文献 | 相关文章 | 多维度评价
    17. 基于AHP的回归测试用例优先级排序方法
    冯沈峰, 高建华
    计算机科学    2019, 46 (8): 233-238.   DOI: 10.11896/j.issn.1002-137X.2019.08.038
    摘要412)      PDF(pc) (1595KB)(923)    收藏
    测试用例优先级排序方法是基于特定准则对测试用例进行排序以提高回归测试效率。现有方法局限于单目标或少数影响因素,影响了其对测试用例的综合分析和评价,对此,文中提出了一种基于层次分析法的回归测试用例优先级排序方法。该方法以优化测试用例序列为目标,以影响因素为准则,以测试用例为方案,建立了层次结构模型,构造了对比矩阵,进行了排序与一致性检验,优化了影响因素比例。实验采用Matlab软件环境,以平均故障检测率为评估指标。结果表明,与已有几种优先级方法相比,该方法能达到更高的平均故障检测率85%,提高了测试效率,此外可根据实际需求扩充影响因素数量,具有灵活性。
    参考文献 | 相关文章 | 多维度评价
    18. 基于故障定位的测试用例优先排序方法
    陈静, 舒强, 谢昊飞
    计算机科学    2019, 46 (8): 239-243.   DOI: 10.11896/j.issn.1002-137X.2019.08.039
    摘要622)      PDF(pc) (1765KB)(727)    收藏
    协议一致性测试是检验被测实现是否与标准协议规范相一致的方法,可确保符合协议的设备或者系统互联与互通。在被测设备调试、升级和修复等过程中,往往需要重新执行所有测试案例,以确保协议一致性测试的完备性。在协议实现的过程中,需要频繁地进行测试和修复,直至被测设备的协议完全符合协议的标准规范。而在每次的回归过程中,没有策略地执行测试案例集中所有的测试案例会增加测试的工作量。只有所有的测试案例执行结束,才能确定测试故障是否被正确修复,或者检测出其他新出现的故障。这导致了某些可以检测到故障的测试案例不能尽早执行,无法将测试重点放在易出错的部分,测试执行开销较大,会影响测试效率。因此在协议一致性测试过程中,如何对庞大的测试案例集进行优化并减少测试成本?在保证测试需求的前提下,使用尽可能少的测试案例尽快检测出系统中存在的故障以提高测试的故障检测率,成为了亟待解决的问题。文中在对现有的测试用例优先排序方法进行研究的基础上,对基于故障定位的测试用例优先排序算法进行了改进,以提高故障检测效率。该方法结合测试需求间的依赖关系、执行序列进行动态调整,对检错概率高的测试案例进行动态选取。在搭建的无线传感器网络的协议一致性测试系统上,对该算法进行了有效性验证。相较于Additional和FTP算法,所提方法的故障检测平均百分比APFD和测试效率TCFD分别至少提高了9.2%和7.6%。
    参考文献 | 相关文章 | 多维度评价
    19. 一种基于程序切片相似度匹配的脆弱性发现方法
    刘强,况晓辉,陈华,李响,李广轲
    计算机科学    2019, 46 (7): 126-132.   DOI: 10.11896/j.issn.1002-137X.2019.07.020
    摘要584)      PDF(pc) (1331KB)(1251)    收藏
    基于脆弱性代码的相似度匹配是静态发现脆弱性的有效方法之一,在不降低漏报率的情况下如何降低误报率和提升分析效率是该方法优化的主要目标。针对这一挑战,提出了基于代码切片相似度匹配的脆弱性发现框架。文中研究了基于关键点的代码切片、特征抽取和向量化的方法,主要思想是以脆弱性代码的脆弱性语义上下文切片作为参照物,通过计算被测代码的切片与脆弱性样本切片的相似性来判断存在脆弱性的可能性。文中实现了该方法,并以已知脆弱性的开源项目为分析对象进行了验证。与已有研究的对比实验表明,切片相似度能更准确地刻画脆弱性上下文,通过切片技术优化了基于相似度匹配的脆弱性发现方法,有效降低了脆弱性发现的误报率和漏报率,验证了所提框架和方法的有效性。
    参考文献 | 相关文章 | 多维度评价
    20. 基于SEH的漏洞自动检测与测试用例生成
    黄钊,黄曙光,邓兆琨,黄晖
    计算机科学    2019, 46 (7): 133-138.   DOI: 10.11896/j.issn.1002-137X.2019.07.021
    摘要758)      PDF(pc) (1564KB)(998)    收藏
    SEH即结构化异常处理,是Windows操作系统提供给程序设计者处理程序错误或异常的途径。然而SEH的链式处理方式使得程序中可能存在相应漏洞。针对该问题,为提升程序安全性,提出一种基于SEH的漏洞自动测试用例生成方法。首先判断程序是否存在基于SEH被攻击的漏洞风险性,若存在则构建和调整测试用例约束,并自动求解生成相应测试用例。该方法一方面扩展了当前的自动测试用例生成模式,另一方面可在GS保护开启时仍能生成有效测试用例。最后通过实验验证了该方法的有效性。
    参考文献 | 相关文章 | 多维度评价
    21. 基于Coq记录的矩阵形式化方法
    马振威,陈钢
    计算机科学    2019, 46 (7): 139-145.   DOI: 10.11896/j.issn.1002-137X.2019.07.022
    摘要537)      PDF(pc) (1265KB)(982)    收藏
    矩阵在工程系统中有广泛的应用,矩阵运算的正确性对工程系统的可靠性有重要影响。Coq是一种基于带类型λ演算的功能强大的高阶定理证明器。虽然Coq类型系统能够很好地描述可变大小的动态数据类型,但是对于固定大小的类似向量和矩阵的数据类型,其缺乏满意的描述机制。Coq库中也没有向量库或矩阵库,因此在使用Coq来对涉及矩阵的定理或算法进行形式化验证时十分复杂。针对这些问题,文中提出了一种基于Record类型的矩阵实现方法并定义了一组基本的矩阵函数,证明了它们的基本性质。基于文中提供的矩阵类型和相关引理可以比较轻松地完成飞行控制转换矩阵的验证。同其他矩阵实现方法相比,所提方法不仅在实现上相对简洁,在使用上也更加简单、方便。
    参考文献 | 相关文章 | 多维度评价
    22. 基于粒子群优化算法的测试用例生成方法
    张娜,滕赛娜,吴彪,包晓安
    计算机科学    2019, 46 (7): 146-150.   DOI: 10.11896/j.issn.1002-137X.2019.07.023
    摘要746)      PDF(pc) (1397KB)(984)    收藏
    针对标准粒子群算法(Particle Swarm Optimization,PSO)中存在的早熟收敛、易于陷入局部极值的问题,提出了一种基于反向学习与再次搜索的粒子群优化算法(Reverse-Learning and Search-Again PSO,RSAPSO)用于测试用例生成。首先,通过非线性递减的惯性权重函数对学习因子进行改进,实现对种群的初步搜索,并采用梯度下降法完成对最优解与次优解的再次搜索;其次,以极值点为中心设定禁忌区域,对禁忌区域外的粒子进行反向学习,改善种群多样性;最后,采用分支距离法构造适应度函数,评判测试用例的优劣程度。实验结果表明,提出的改进方法在覆盖率、迭代次数和缺陷检测率指标上均有优势。
    参考文献 | 相关文章 | 多维度评价
    23. Github中开发人员的行为特征分析
    李存燕, 洪玫
    计算机科学    2019, 46 (2): 152-158.   DOI: 10.11896/j.issn.1002-137X.2019.02.024
    摘要525)      PDF(pc) (5570KB)(1015)    收藏
    开源环境下开发人员的行为特征分析是促进开源社区协作开发的重要问题之一。文中以Github开源社区的数据为研究对象,结合可视化分析的技术,分析了Github上开发者贡献度的影响因素,探索了开发者之间的协作关系,进一步分析了开发者所属地域与开发者协作之间的关系。通过研究结果发现了一些具有重要理论和时间价值的现象与结论,从一个新的视角揭示了开发人员的部分行为特征。
    参考文献 | 相关文章 | 多维度评价
    24. 基于梦境粒子群优化的类集成测试序列生成方法
    张悦宁, 姜淑娟, 张艳梅
    计算机科学    2019, 46 (2): 159-165.   DOI: 10.11896/j.issn.1002-137X.2019.02.025
    摘要442)      PDF(pc) (1750KB)(700)    收藏
    类集成测试序列的确定是面向对象类集成测试技术中的一个重要课题。合理的类集成测试序列可以降低为其构造测试桩的总体复杂度,从而减小测试代价。针对粒子群优化算法容易早熟的缺陷,文中提出一种基于梦境粒子群优化算法的类集成测试序列生成方法。首先把每个类集成测试序列映射为一维空间中的一个粒子,然后将粒子看作有做梦能力的个体。每个迭代周期分为白天和夜间两个阶段,在白天阶段粒子正常移动,而在夜间阶段粒子根据各自的做梦能力扭曲当前位置。如此,粒子有机会在当前位置附近进行搜索,使得算法减缓收敛速度,避免过早陷入局部最优。实验结果表明,多数情况下该方法可以得到测试代价更小的类集成测试序列。
    参考文献 | 相关文章 | 多维度评价
    25. 软件网络分形结构特征研究
    潘浩, 郑巍, 张紫枫, 芦超群
    计算机科学    2019, 46 (2): 166-170.   DOI: 10.11896/j.issn.1002-137X.2019.02.026
    摘要455)      PDF(pc) (1928KB)(636)    收藏
    随着互联网技术的发展,软件系统的规模也在日益扩大,软件功能的变化使得软件网络的结构呈现差异化。软件网络的分形结构体现出软件网络整体和局部对象类之间依赖调用的自相似性,可以从代码层面上对软件系统结构以及功能进行分析。文中对软件网络分形结构特征进行研究:首先,综合类之间的依赖关系,对软件网络进行加权;然后利用基于网络中心性的盒子算法计算加权软件网络结构的分形维度,以分析其分形结构特征;最后,利用上述方法对spring和struts2这两款具有代表性的java软件框架进行分析。实验表明,这两款软件以及它们的子模块都具有分形结构特征,软件网络的分形维数随着模块功能复杂程度的增加而增加,功能综合性较强的软件网络分形维数要大于功能专一的软件网络;并且在版本演化过程中,软件网络的分形维数随着软件功能的丰富也呈现上升的趋势。
    参考文献 | 相关文章 | 多维度评价
    26. 基于CAN的地理语义数据存储与检索机制
    卢海川, 符海东, 刘宇
    计算机科学    2019, 46 (2): 171-177.   DOI: 10.11896/j.issn.1002-137X.2019.02.027
    摘要509)      PDF(pc) (1871KB)(780)    收藏
    语义技术能够更智能、更精确地检索信息,辅助工作人员进行科学决策,已被应用于地理信息处理,并形成了基于RDF(Resource Description Framework)数据的地理查询语言GeoSPARQL。然而,基于地理语义信息处理的应用平台多采用中心化的存储和检索服务,使得这些平台存在单节点失效、扩展性差等缺陷。尽管已有研究人员提出了多种方法,试图利用对等网络技术来解决语义数据的分布式处理,从而提升应用系统的可靠性和扩展性,但这些方法并没有考虑地理语义数据自身的特征。针对上述问题,文中利用地理语义数据的特征在对等网络上对其进行存储,提出基于CAN(Content Addressable Network)的地理语义存储和检索方案,根据位置信息将地理语义数据映射到对等网络中,从而提高了语义数据的检索效率。实验结果表明,所提方案不仅具有良好的扩展性,而且地理信息的拓扑关系查询效率优于现有方案。
    参考文献 | 相关文章 | 多维度评价
    27. 考虑用户行为和排错延迟的软件运行可靠性增长模型
    杨剑锋, 赵明, 胡文生
    计算机科学    2019, 46 (1): 212-218.   DOI: 10.11896/j.issn.1002-137X.2019.01.033
    摘要260)      PDF(pc) (1528KB)(593)    收藏
    传统的软件可靠性模型大多都假设软件测试环境和运行环境相同,也就是使用软件测试阶段的失效数据来预测软件运行可靠性。众所周知,软件固有故障的排除能提高系统可靠性,然而另一种现象就是随着用户对软件熟悉程度的提高,软件的失效率也会降低。文中研究了软件固有故障检测过程、固有故障纠正过程和外在失效过程的特征,建立了考虑用户行为和排错延迟下的软件运行可靠性增长模型。通过一组来自于开源软件用户缺陷跟踪系统中的真实数据进行数值分析,实验结果表明提出的模型具有较好的效果。
    参考文献 | 相关文章 | 多维度评价
    28. 基于方法约束关系的代码预测模型
    方文渊, 刘琰, 朱玛
    计算机科学    2019, 46 (1): 219-225.   DOI: 10.11896/j.issn.1002-137X.2019.01.034
    摘要293)      PDF(pc) (1825KB)(621)    收藏
    最新的研究表明,从大量源代码中提取代码特征,建立统计语言模型,对代码有着良好的预测能力。然而,现有的统计语言模型在建模时,往往采用代码中的文本信息作为特征词,对代码的语法结构信息利用不充分,预测准确率仍有提升空间。为提高代码预测性能,提出了方法的约束关系这一概念;在此基础上,研究Java对象的方法调用序列,抽象代码特征,构建统计语言模型来完成代码预测,并研究基于方法约束关系的代码预测模型在Java语言中的适用范围。实验表明,该方法较现有的模型提高了8%的准确率。
    参考文献 | 相关文章 | 多维度评价
    29. 基于线性时间算法的故障树模块扩展分解方法
    宋俊花, 魏欧
    计算机科学    2019, 46 (1): 226-231.   DOI: 10.11896/j.issn.1002-137X.2019.01.035
    摘要341)      PDF(pc) (1382KB)(583)    收藏
    故障树分析被广泛应用于核工业、航空航天和交通控制等安全攸关领域的安全性分析中。然而,像核电站等大型工业所使用的大型故障树的分析需要耗费大量的计算资源,导致分析效率低下,时间消耗过多。为了解决此问题,对现有的线性时间算法进行改进,提出新的故障树简化规则和模块扩展分解算法。首先提出等效事件的概念,扩展线性时间算法所分解的模块数;在考虑时间复杂度和资源利用率的基础上,提出一套新的简化规则,以合理地去除故障树中的冗余信息。实验证明,提出的分解方法能有效地优化故障树分析,进一步减少大型故障树分析的计算时间和内存消耗。
    参考文献 | 相关文章 | 多维度评价
    30. 时间依赖路网中反向 k近邻查询
    李佳佳, 沈盼盼, 夏秀峰, 刘向宇
    计算机科学    2019, 46 (1): 232-237.   DOI: 10.11896/j.issn.1002-137X.2019.01.036
    摘要469)      PDF(pc) (1577KB)(625)    收藏
    在现存的反向k近邻查询方案中,比较高效的研究大多集中在欧氏空间或者静态路网,对时间依赖路网中的反向k近邻查询的研究相对较少。已有算法在兴趣点密度稀疏或者k值较大时,查询效率较低。对此,提出了基于子网划分的反向k近邻查询算法mTD-SubG。首先,将整个路网划分为大小相同的子网,通过子网的边界节点向其他子网进行扩展,加快对路网中兴趣点的查找速度;其次,利用剪枝技术缩小路网的扩展范围;最后,利用已有时间依赖路网下的近邻查询算法,判定查找到的兴趣点是否为反向k近邻结果。实验中将mTD-SubG算法与已有算法mTD-Eager进行对比,结果表明mTD-SubG算法的响应时间比mTD-Eager算法减少了85.05%,遍历节点个数比mTD-Eager算法减少了51.40%。
    参考文献 | 相关文章 | 多维度评价
    首页 | 前页| 后页 | 尾页 第1页 共15页 共424条记录