Toggle navigation
计算机科学
首页
关于本刊
期刊介绍
学术指标
学术荣誉
编委会
主编
编委会成员
道德声明
OA政策
期刊订阅
联系我们
English
1974年1月创刊(月刊)
主管/主办:重庆西南信息有限公司
ISSN 1002-137X
CN 50-1075/TP
CODEN JKIEBK
作者中心
投稿/查询
投稿模板
处理流程
投稿指南
审稿中心
审稿登录
审稿专家申请
审稿要求/审稿单
编辑中心
编辑登录
计算机软件 栏目所有文章列表
(按年度、期号倒序)
一年内发表的文章
|
两年内
|
三年内
|
全部
Please wait a minute...
选择:
导出引用
EndNote
Ris
BibTeX
显示/隐藏图片
Select
1.
基于演化和语义特征的上帝类检测方法
王继文, 吴毅坚, 彭鑫
计算机科学 2021, 48 (
12
): 59-66. DOI:
10.11896/jsjkx.210100077
摘要
(
195
)
PDF(pc)
(1514KB)(
461
)
可视化
收藏
随着软件开发迭代速度的加快,开发人员在编码过程中往往由于交付压力等种种原因违反软件设计的基本原则,造成代码坏味,进而影响软件质量。上帝类是最常见的代码坏味之一,指承担了太多职责的类。上帝类违反“高内聚、低耦合”的设计原则,损害软件系统的质量,会影响代码的可理解性和可维护性。因此,文中提出一种新的上帝类检测方法。首先抽取实际项目中方法在演化、语义等维度上的特征;然后对演化、语义特征进行融合,并基于融合后的结果重新聚类,将彼此关系紧密的方法重新划归到新的类簇中;通过分析实际项目中各个类的成员方法在新的聚类结果中的分布情况,计算类的内聚度,从而找出内聚度低的类作为上帝类检测结果。实验表明,所提方法优于目前主流的上帝类检测方法。与基于度量的传统检测方法相比,该方法在查全率、查准率上均提升超过20个百分点;与基于机器学习的检测方法相比,该方法尽管查全率略低,但查准率、
F
1值均有显著提升。
参考文献
|
相关文章
|
多维度评价
Select
2.
基于元模型的协同建模模型组装与更新方法
张子良, 庄毅, 叶彤
计算机科学 2021, 48 (
12
): 67-74. DOI:
10.11896/jsjkx.201100024
摘要
(
150
)
PDF(pc)
(1872KB)(
435
)
可视化
收藏
随着软件规模日益增大,软件复杂度不断提高,飞机、轮船等大型系统的设计与开发往往是由多个不同专业领域、具有不同职能的团队相互协同完成的。针对协同建模中局部模型之间缺失信息所导致的模型不完整问题和更新操作之间发生冲突所导致的模型不一致问题,文中首先提出了一种基于元模型的协同建模模型组装与更新方法(Model Combination and Update,MCAU),该方法在元模型上定义了协同关系与更新操作,可在协同建模过程中保证模型的完整性与一致性,并通过一个实例对所提方法进行了应用与分析。其次,文中还提出了一种基于模型驱动的软件协同建模框架(Software Collaborative Modeling Framework,SCMF),该框架可有效支持多种建模语言的扩展。最后,基于Eclipse框架开发了软件协同建模原型系统CorMo-del,并通过相关实验进一步验证了MCAU方法的有效性。
参考文献
|
相关文章
|
多维度评价
Select
3.
基于次模函数最大化的测试用例集约简
文进, 张星宇, 沙朝锋, 刘艳君
计算机科学 2021, 48 (
12
): 75-84. DOI:
10.11896/jsjkx.210300086
摘要
(
163
)
PDF(pc)
(6167KB)(
515
)
可视化
收藏
随着软件回归测试规模的不断增大和成本的不断增加,测试用例集约简对于提高软件的回归测试效率显得愈发重要。在选取测试用例子集时,需考虑该子集的代表性和多样性,并采用一个有效的算法来求解。针对该测试用例集约简问题,文中提出了一种基于次模函数最大化的算法SubTSR。尽管引入的离散优化问题是NP-hard问题,但文中利用其目标函数的次模性,采用启发式贪心搜索,求得有近似度保证的次优解。在15个数据集上对SubTSR算法与其他测试用例集约简算法展开实验,针对平均错误检出率、错误检测损失率、首次错误检出位等指标,尝试改变LDA处理中的主题个数以及衡量测试用例相似度的距离,以验证SubTSR算法的有效性。实验结果表明,SubTSR算法在错误检出性能上较其他算法有着较大提升,且在多个数据集上的表现保持相对稳定。在主题个数变化引起文本表示变化时,采用曼哈顿距离的SubTSR算法的性能相较其他算法仍能保持相对稳定。
参考文献
|
相关文章
|
多维度评价
Select
4.
基于深度优先搜索的模糊测试用例生成方法
李毅豪, 洪征, 林培鸿
计算机科学 2021, 48 (
12
): 85-93. DOI:
10.11896/jsjkx.200800178
摘要
(
197
)
PDF(pc)
(2584KB)(
626
)
可视化
收藏
模糊测试是挖掘网络协议漏洞的重要方法之一。现有的模糊测试方法存在覆盖路径不完全、效率低下等问题。为了解决这些问题,文中提出了基于深度优先搜索的模糊测试用例生成方法,该方法将状态机转换成有向无回路图,以获得状态迁移路径,并通过提高测试用例在发送报文中的占比来提升模糊测试效率。该方法主要包括合并状态迁移、消除循环路径、搜索状态迁移路径、标记重复状态迁移和基于测试用例引导的模糊测试5个阶段。在合并状态迁移阶段,将首尾状态相同的状态迁移进行合并。在消除循环路径阶段,根据深度优先搜索判断图中的循环,并通过删除边将状态机转换成有向无回路图。在搜索状态迁移路径阶段,搜索有向无回路图从初始状态到终止状态的全路径,并对原状态机图使用Floyd算法补充被去除的边构造测试路径,以确保充分测试状态机中的每一个状态迁移。在标记重复状态迁移阶段,对重复状态迁移进行标记,避免对重复的状态迁移进行反复测试,以缩减测试的冗余。在基于测试用例引导的模糊测试阶段,生成针对状态迁移的测试用例,并将测试用例均匀分发到重复的状态迁移上,其中的部分测试用例能够起到引导状态迁移的作用,对被测目标进行模糊测试。实验结果表明,所提方法能够取得更高的有效测试用例比例。
参考文献
|
相关文章
|
多维度评价
Select
5.
基于多维度特征和混合神经网络的代码可读性评估方法
米庆, 郭黎敏, 陈军成
计算机科学 2021, 48 (
12
): 94-99. DOI:
10.11896/jsjkx.200800193
摘要
(
181
)
PDF(pc)
(1631KB)(
604
)
可视化
收藏
对代码可读性进行定量、准确的评估是有效保障软件质量、降低沟通成本以及维护成本、提高软件开发和演化效率的重要途径。然而,现有的针对代码可读性评估的研究方案大多是基于特征工程的,受到源代码表征方式、技术手段等多方面因素影响,其评估准确率并不高。为此,文中采用深度学习作为主要技术手段,提出了一种基于多维度特征和混合神经网络的代码可读性评估方法,通过整合并运用各种单一神经网络的优势,从字符级、词条级等不同维度挖掘源代码中蕴含的结构信息和语义信息,最终实现对代码可读性的量化评估。实验表明,该方法能够获得高达84.6%的评估准确率,比单独使用卷积神经网络提升了9.2%,比单独使用循环神经网络模型提升了6.5%,并且其表现优于现有的5个可读性模型,验证了所提出的多维度特征和混合神经网络的有效性。
参考文献
|
相关文章
|
多维度评价
Select
6.
基于情境感知的API个性化推荐
陈晨, 周宇, 王永超, 黄志球
计算机科学 2021, 48 (
12
): 100-106. DOI:
10.11896/jsjkx.201000127
摘要
(
166
)
PDF(pc)
(1865KB)(
484
)
可视化
收藏
在软件开发的过程中,开发人员在遇到编程困境时通常会检索合适的API来完成编程任务。情境信息和开发者画像在有效的API推荐中起着至关重要的作用,却在很大程度上被忽视了。因而文中提出了一种基于情境感知的API个性化推荐方法。该方法利用程序静态分析技术,对代码文件做抽象语法树解析,提取信息构建代码库,并对开发者API使用偏好建模。然后计算开发者当前查询语句与历史代码库中查询的语义相似度,检索出top-
k个
相似历史查询。最终利用查询语句信息、方法名信息、情境信息以及开发者API使用偏好信息对API进行重排序并推荐给开发者。通过模拟编程任务开发的不同阶段,使用MRR,MAP,Hit,NDCG评估指标来验证所提方法的有效性。实验结果表明,所提方法的API推荐效果优于基准方法,能够为开发者推荐更想要的API。
参考文献
|
相关文章
|
多维度评价
Select
7.
进化算法与符号执行结合的程序复杂度分析方法
周晟伊, 曾红卫
计算机科学 2021, 48 (
12
): 107-116. DOI:
10.11896/jsjkx.210200052
摘要
(
141
)
PDF(pc)
(1765KB)(
542
)
可视化
收藏
程序的最坏执行路径是计算程序复杂度的一项重要指标,有助于发现系统可能存在的复杂性漏洞。近年来将符号执行应用于程序复杂度分析的研究取得了不小的进展,但现有方法存在通用性较差、分析时间较长的问题。文中提出一种面向最坏路径探测的进化算法——EvoWca,其核心思想是利用程序在较小输入规模下的已知最坏路径特征指导较大输入规模下初始路径集合的构建,然后模拟进化算法,对路径进行组合、突变和选择迭代,使得在搜索范围内探测到的最坏路径逼近于最坏时间复杂度对应的路径。基于该算法实现了一个用于程序复杂度分析的原型工具EvoWca2j,使用该工具和已有技术对一组Java程序进行最坏路径探索和执行效率评估,实验结果表明,相比现有方法,EvoWca2j的通用性和探索效率都有明显提高。
参考文献
|
相关文章
|
多维度评价
Select
8.
基于卷积神经网络的代码注释自动生成方法
彭斌, 李征, 刘勇, 吴永豪
计算机科学 2021, 48 (
12
): 117-124. DOI:
10.11896/jsjkx.201100090
摘要
(
216
)
PDF(pc)
(2547KB)(
642
)
可视化
收藏
自动化代码注释生成技术通过分析源代码的语义信息生成对应的自然语言描述文本,可以帮助开发人员更好地理解程序,降低软件维护的时间成本。大部分已有技术是基于递归神经网络(Recurrent Neural Network,RNN)的编码器和解码器神经网络实现的,但这种方法存在长期依赖问题,即在分析距离较远的代码块时,生成的注释信息的准确性不高。为此,文中提出了一种基于卷积神经网络(Convolutional Neural Network,CNN)的自动化代码注释生成方法来缓解长期依赖问题,以生成更准确的注释信息。具体而言,通过构造基于源代码的CNN和基于AST的CNN来捕获源代码的语义信息。实验结果表明,与DeepCom和Hybrid-DeepCom这两种最新的方法相比,在常用的BLEU和METEOR两种评测指标下,所提方法能更好地生成代码注释,且执行时间更短。
参考文献
|
相关文章
|
多维度评价
Select
9.
基于程序转化的SCADE模型检测
冉丹, 陈哲, 孙毅, 杨志斌
计算机科学 2021, 48 (
12
): 125-130. DOI:
10.11896/jsjkx.201100080
摘要
(
135
)
PDF(pc)
(1520KB)(
510
)
可视化
收藏
SCADE同步语言是一种常用的嵌入式系统程序设计语言。在航空、航天、交通等安全关键领域的装备研发中,SCADE同步语言通常被用于实现实时嵌入式自动控制系统。SCADE语言是工业级的开发工具,它源于Lustre语言,并在其基础上增加了更多的语言结构来精简代码。目前,相比Lustre语言,SCADE程序模型检测的学术研究相对落后。为此,文中提出了一种对SCADE程序进行模型检测的方法并实现了一款SCADE模型检测工具,该方法的核心思想是基于程序转化,即把SCADE程序经过词法分析、语法分析、抽象语法树生成与化简等操作最终转化为等价的Lustre程序,然后用JKind与SMT求解器完成模型检测。此外,通过理论推导和大量实验证明了工具的模型检测的正确性。实验结果表明,功能相同的两个SCADE和Lustre测试用例模型的检测结果相同,但SCADE程序的模型检测效率相对较低。
参考文献
|
相关文章
|
多维度评价
Select
10.
噪声可容忍的软件缺陷预测特征选择方法
滕俊元, 高猛, 郑小萌, 江云松
计算机科学 2021, 48 (
12
): 131-139. DOI:
10.11896/jsjkx.201000168
摘要
(
149
)
PDF(pc)
(2647KB)(
407
)
可视化
收藏
通过对缺陷数据集进行挖掘,缺陷预测模型能够提前预测出被测软件中的缺陷模块,帮助测试人员实现更有针对性的测试,而普遍存在的数据集标签噪声会影响预测模型的性能。已有的特征选择方法很少对噪声可容忍性进行针对性设计,同时在主流的具有噪声容忍能力的特征选择框架中策略选取只能依靠经验手动执行,难以在软件工程实践中得到应用。鉴于此,文中提出一种噪声可容忍的软件缺陷预测特征选择方法NTFES (Noise Tolerable FEature Selection),即通过Bootstrap抽样技术生成多个自助样本集,在自助样本集上基于近似马尔可夫毯将特征进行分组并采用两种启发式特征选择策略从每个组中选出候选特征,随后利用遗传算法在候选特征空间中搜索最优特征子集。为了验证NTFES方法的有效性,选择了NASA MDP软件项目集作为实验对象并对标签注入噪声以获得带有噪声标签的数据集,通过控制标签噪声比例对NTFES方法以及其他基准方法(如FULL,FCBF,CFS)进行了比较。实验结果表明:在可接受的标签噪声比例下,NTFES方法不仅具有更高的分类性能,还具有更好的噪声可容忍性。
参考文献
|
相关文章
|
多维度评价
Select
11.
面向缺陷定位的代码搜索引擎
常建明, 薄莉莉, 孙小兵
计算机科学 2021, 48 (
12
): 140-148. DOI:
10.11896/jsjkx.201100209
摘要
(
139
)
PDF(pc)
(2729KB)(
559
)
可视化
收藏
随着软件项目规模的扩大以及软件复杂性的增加,缺陷修复的难度越来越大。其中,绝大多数缺陷问题都是由代码的错误编写导致的,在软件缺陷修复过程中开发维护人员需要花费大量的时间定位并修改缺陷代码。针对这个问题,对缺陷报告以及对应的项目变更信息进行整合,根据代码抽象语法树结构信息计算代码块与缺陷报告之间的关系,从而构建缺陷-代码知识库。在此知识库的基础上构建面向缺陷定位的代码搜索引擎,以向用户推荐更全面的缺陷定位信息,包括相似缺陷报告、相关缺陷代码文件以及缺陷代码块,从而帮助开发和维护人员及时有效地定位缺陷。实验结果说明,相比现有的缺陷定位方法,所提方法能够更准确地定位缺陷代码文件,并且可有效定位到代码粒度。
参考文献
|
相关文章
|
多维度评价
Select
12.
基于图神经网络的软件系统中关键类的识别
张健雄, 宋坤, 何鹏, 李兵
计算机科学 2021, 48 (
12
): 149-158. DOI:
10.11896/jsjkx.210100200
摘要
(
155
)
PDF(pc)
(2347KB)(
496
)
可视化
收藏
软件系统中通常存在一些在拓扑结构上处于核心位置的关键类,这些类上的缺陷往往会给系统带来极大的安全隐患,识别关键类对工程师理解或维护一个软件系统至关重要。针对这一问题,提出一种基于图神经网络的关键类识别方法。首先利用复杂网络理论,将软件系统抽象为软件网络;其次结合无监督网络节点嵌入学习以及邻域聚合的方式,构建一个编码-解码(encoder-decoder)框架,提取软件系统中类节点的表征向量;最后利用Pairwise排序学习实现网络中节点的重要性排序,从而实现软件系统中关键类的识别。为验证所提方法的有效性,选取4个Java开源软件作为实验对象,并与常用的5种节点重要性度量方法以及2个已有工作进行对比分析。实验结果表明:与介数中心性、K-core、接近中心性、节点收缩法和PageRank等方法相比,该方法识别关键类的效果更好;另外,相比已有工作,在前15%的关键类节点中,所提方法的召回率和准确率的提高幅度均在10%以上。
参考文献
|
相关文章
|
多维度评价
Select
13.
基于模型的故障树自动生成方法
展万里, 胡军, 谷青范, 荣灏, 祁健, 董彦宏
计算机科学 2021, 48 (
12
): 159-169. DOI:
10.11896/jsjkx.200800177
摘要
(
122
)
PDF(pc)
(2151KB)(
416
)
可视化
收藏
基于模型的安全性分析方法能够提高复杂安全关键系统的建模与分析能力。目前故障树被广泛应用于系统安全及可靠性分析中。故障树分析(Fault Tree Analysis,FTA)是一种自上而下的演绎式失效方法,根据故障树分析系统中不希望出现的状态,系统工程中可以尽早确定当前系统模型可能出现的问题并及时避免。面向一类安全关键性系统领域中的系统安全性建模语言AltaRica,基于其语义模型卫士转换系统(Guarded Transition Systems,GTS),设计了从平展化的GTS模型自动构造系统故障树的方法,节省了人工构造故障树的时间,从而加快了系统分析的进度。根据AltaRica3.0语言的语义规则,提取平展化GTS模型的数据构建实例对象;设计了GTS模型划分算法,得到一组独立GTS模型与一个独立断言,通过邻接矩阵构建独立GTS的可达图并获取关键事件序列。最后将处理结束的独立GTS与独立断言相结合,通过断言传播算法得到整个系统的状态及关键事件序列,生成系统故障树。最后通过实例来检验算法的有效性,结果表明,该算法能有效完成从平展化GTS模型自动生成故障树。
参考文献
|
相关文章
|
多维度评价
Select
14.
基于分组公平控制流结构的流程变体合并方法
王吴松, 方欢, 郑雪文
计算机科学 2021, 48 (
12
): 170-180. DOI:
10.11896/jsjkx.201100157
摘要
(
115
)
PDF(pc)
(1834KB)(
406
)
可视化
收藏
合并流程变体模型能够快速地构建满足新需求的单一流程模型,对流程变体进行合并具有较大的实际应用价值,因此,文中提出了一种利用分组公平控制流结构的流程变体合并方法。首先,利用Petri网中的分组公平将流程变体分割为单个的变体片段;其次,提取出变体片段的控制流路径,并在此基础上构建其矩阵表现形式,进而将流程变体合并为单一的流程模型;最后,通过形式化证明验证合并后的流程模型可以捕获输入流程模型的所有行为,并且可以检测在合并模型中是否产生了不期望的行为。
参考文献
|
相关文章
|
多维度评价
Select
15.
基于开发者多元特征的软件缺陷自动分派方法
董夏磊, 项正龙, 吴泓润, 汪鼎文, 李元香
计算机科学 2022, 49 (
12
): 81-88. DOI:
10.11896/jsjkx.211100040
摘要
(
75
)
PDF(pc)
(2948KB)(
80
)
可视化
收藏
软件缺陷修复是软件生命过程中一个不可忽视的问题,如何高效地进行软件缺陷的自动分派是一个十分重要的研究方向。目前已有的研究方法多侧重于缺陷报告的文本内容或开发者抛掷网络中的浅层信息,而忽视了开发者抛掷网络中的高层次拓扑信息。为此,提出了一个基于开发者多元特征的软件缺陷自动分派模型MFD-GCN。该模型充分考虑开发者抛掷网络中的高层拓扑特征,并运用图卷积网络强大的网络特征提取能力,充分挖掘出代表开发者深层合作关系和修复偏好性的多元特征,并与缺陷报告文本特征一起训练分类器。模型在两个大型开源软件项目Eclipse和Mozilla上进行实验,实验结果表明,相比近年来提出的主流分派方法,MFD-GCN模型在推荐前
K
个开发者时均取得了较好的推荐结果,其中,在Eclipse项目上Top-1推荐准确率达到了69.8%,在Mozilla项目上达到了59.7%。
参考文献
|
相关文章
|
多维度评价
Select
16.
R语言及其核心包缺陷的实证研究
王子元, 卜德欣, 李凌菱, 张霞
计算机科学 2022, 49 (
12
): 89-98. DOI:
10.11896/jsjkx.220200181
摘要
(
60
)
PDF(pc)
(1495KB)(
61
)
可视化
收藏
R语言提供了多种统计计算的功能,并被认为是最适合人工智能领域的程序设计语言之一。语言功能的正确实现是R语言程序正确运行的必要前提,但R语言中不可避免地存在着诸多软件缺陷。文中对R语言及其核心包中的历史缺陷进行了实证研究。通过分析R语言及其核心包中的7 020个缺陷报告发现:1)缺陷所涉及的35个R语言版本中R 3.1.2,R 3.0.2,R 3.5.0所含缺陷的数量较多,这些缺陷大量分布于Documentation,Graphics,Language等少数组件中;2)缺陷优先级整体较高的组件依次是Startup,Installation和Analyses,缺陷严重程度整体较高的组件依次是I/O,Installation和Accuracy,缺陷的优先级和严重性之间存在中等强度的秩相关;3)约78%的缺陷可在一年之内被修复;4)语义错误是缺陷最常见的根本原因,其中缺少功能和数据处理错误在各个阶段均占有较高的比例。这些发现揭示了R语言及其核心包中历史缺陷的一些基本规律,可在一定程度上帮助R语言开发人员提高开发质量,帮助R语言维护人员更高效地检测和修复缺陷,并帮助R语言的使用者规避潜在风险。
参考文献
|
相关文章
|
多维度评价
Select
17.
开源社区众包任务的开发者推荐方法
蒋竞, 平源, 吴秋迪, 张莉
计算机科学 2022, 49 (
12
): 99-108. DOI:
10.11896/jsjkx.220400289
摘要
(
66
)
PDF(pc)
(2059KB)(
66
)
可视化
收藏
Gitcoin是一个基于开源社区GitHub的众包平台。在Gitcoin中,项目团队可以发布开发任务,开发者选择感兴趣的任务并注册,发布者选择合适的开发者完成任务并发放赏金。但是一些任务因缺乏注册者而失败,部分任务未能合格完成,顺利完成的任务也面临开发者注册间隔时间长的问题。因此,需要一种开发者推荐方法,快速为众包任务发现合适的开发人员,缩短开发者注册众包任务的时间,发现潜在合适的开发者并激励其注册,促进众包任务顺利完成。文中提出了一种基于LGBM分类算法的开发者推荐方法DEVRec(Developer Recommendation)。该方法提取任务特征、开发者特征、开发者和任务的关系特征,使用LGBM分类算法进行二分类,计算开发者注册任务的概率,最终得到众包任务的推荐人员列表。为了评估推荐效果,获取Gitcoin的1 599个已完成众包任务、343名任务发布者和1 605名开发者。实验结果显示,与对比方法Policy Model相比,DEVRec前1位、前3位、前5位和前10位推荐的准确度及MRR指标分别提高了73.11%,119.07%,86.55%,29.24%和62.27%。
参考文献
|
相关文章
|
多维度评价
Select
18.
基于日志信息的不可重复构建原因分类
马钊, 刘东, 任志磊, 江贺
计算机科学 2022, 49 (
12
): 109-117. DOI:
10.11896/jsjkx.220300227
摘要
(
55
)
PDF(pc)
(2107KB)(
79
)
可视化
收藏
可重复构建指在预定义的构建环境下重新创建二进制工件的能力。由于可重复构建具有保证软件构建环境安全和提高软件构建和分发效率的作用,许多开源软件存储库(如Debian)开展了软件可重复构建实践。然而,由于缺乏足够的判断信息和源文件的复杂多样,确定软件不可重复构建的原因仍是一项费时费力的工作。为此,研究了基于机器学习的软件不可重复构建原因的分类检测。研究了4种典型的不可重复构建原因,即时间戳、文件顺序、随机性和语言环境。利用word2vec产生的词向量对文本日志进行表示,然后配合logistic回归模型,对差异日志和构建日志合并的文本语料进行学习和训练,从而实现对不可重复构建原因的自动分类。对算法进行了实现,并在671个不可重复构建的Debian软件包上进行实验,实验结果表明,该方法达到了80.75%的宏平均精度和86.07%的宏平均召回率,优于其他常用的机器学习算法。此外,还分析了差异日志和构建日志的相关性和重要性,实验结果表明两者对不可重复构建原因的分类都非常重要,缺一不可。该方法为不可重复构建原因自动分类提供了可靠的研究依据。
参考文献
|
相关文章
|
多维度评价
Select
19.
一种基于多粒度特征的软件多样性评估方法
迟宇宁, 郭云飞, 王亚文, 扈红超
计算机科学 2022, 49 (
12
): 118-124. DOI:
10.11896/jsjkx.211200029
摘要
(
87
)
PDF(pc)
(2320KB)(
66
)
可视化
收藏
针对现有软件多样性评估方法普遍采用单一特征,无法准确表征软件特性进而导致评估准确度较低的问题,提出了一种基于多粒度特征的软件多样性评估方法。该方法从程序的指令、函数、基本块、二进制文件4个粒度进行分析,首先通过小素数乘积法、动态权重分配等算法获取不同粒度的差异度特征,然后根据差异度分析该粒度的多样性,进而探讨多样化技术的有效性。实验部分采用GNU 核心程序集,对指令替换、控制流平坦、伪控制流、NOP插入等7种软件多样化方法进行了综合评估,分析了不同软件多样化方法对不同粒度的特征带来的差异程度和多样性,验证了评估算法的适用性。实验结果表明,该评估方法能够从纵向和横向两个方向对软件多样化方法的有效性进行准确评估,对后续多样化技术的研究具有参考价值。
参考文献
|
相关文章
|
多维度评价
Select
20.
基于云平台日志的故障检测和复杂构件系统即时可靠性度量研究
王博, 华庆一, 舒新峰
计算机科学 2022, 49 (
12
): 125-135. DOI:
10.11896/jsjkx.220200106
摘要
(
122
)
PDF(pc)
(2170KB)(
78
)
可视化
收藏
可靠性、可用性和安全性是软件质量度量的3个重要指标,而软件可靠性是软件质量最重要的指标。传统的软件可靠性评估将软件系统看作一个整体或者将软件系统调用结构视为静态结构。现今的软件结构发生了很多的改变,典型的有自主、协同、演进、动态和自适应等特征,已经渗入到当前的复杂网络结构软件系统中,传统的可靠性评估和预测方法已经不能适应当前复杂网络生态环境下的软件系统。在当前“软件定义一切”的高速信息化社会中,海量的信息系统产生了大规模的数据资源。现代信息系统的异构性、并行性、复杂性以及巨大的规模导致了日志资源的多样和复杂,基于系统日志的精准分析和故障预测对构建安全可靠的系统尤为重要。现有文献研究故障预测和软件可靠性的技术颇多,但是较少针对海量日志以及复杂构件进行软件即时可靠性度量。文中在系统分析日志解析、特征提取、故障检测、预测评估到即时可靠性计算的日志处理全过程中,使用集成学习模型对海量系统日志进行分析和故障预测,与传统的机器学习方法进行了比较,提高了故障预测的准确率、召回率和F1值;针对预测召回率低的情况,采用召回率修正即时可靠性的评估,较大程度地提高了即时可靠性的精度;根据个体的可靠性,通过基于马尔可夫理论的系统可靠性度量微服务复合构件的可靠性,从而为智能化运维提供精确的数据基础和故障定位依据。
参考文献
|
相关文章
|
多维度评价
Select
21.
基于计算反射的Android应用程序接口自动生成方法
王毅, 陈迎仁, 陈星, 林兵, 马郓
计算机科学 2022, 49 (
12
): 136-145. DOI:
10.11896/jsjkx.211100066
摘要
(
68
)
PDF(pc)
(3863KB)(
69
)
可视化
收藏
随着移动设备硬件技术和5G等通信技术的发展,智能应用软件不断涌现,其提供的功能已涉及人们生活和工作的方方面面。应用内功能众多,不仅可以满足应用使用者的需求,还能被进一步发布成应用程序接口(API)用于外部调用,例如应用发布的API可以被智能语音助手调用。然而,为了生成应用内功能的API,开发者通常需要在应用开发阶段通过手工编码来实现,对于开发时没有发布的API,在应用上线以后,其功能则无法被外部调用。针对此问题,文中提出了一种基于计算反射的Android 应用API自动生成方法。该方法能够在不修改源代码的情况下,基于计算反射机制重建Android应用的Activity界面运行时软件体系结构;面向指定功能的测试用例,分析用户行为工作流以及对应的程序调用;通过模拟用户行为的方式调用指定功能,并生成对应的API。针对“豌豆荚”Android应用商店中的300个流行应用进行方法评估,实验结果显示,所提方法适用于其中的280个应用;对于指定功能,所提方法能够在15 min左右实现其API,且API的性能满足外部调用的需求。
参考文献
|
相关文章
|
多维度评价
首页
| 前页| 后页 |
尾页
第1页 共1页 共21条记录